Automated Upwork Job Alerts with MongoDB & Slack
Overview
This automated workflow fetches Upwork job postings using Apify, removes duplicate job listings via MongoDB, and sends new job opportunities to Slack.
Key Features:
Automated job retrieval** from Upwork via Apify API
Duplicate filtering** using MongoDB to store only unique jobs
Slack notifications** for new job postings
Runs every 20 minutes** during working hours (9 AM - 5 PM)
This workflow requires an active Apify subscription to function, as it uses the Apify Upwork API to fetch job listings.
Who is This For?
This workflow is ideal for:
Freelancers looking to track Upwork jobs in real time
Recruiters automating job collection for analytics
Developers who want to integrate Upwork job data into their applications
What Problem Does This Solve?
Manually checking Upwork for jobs is time-consuming and inefficient. This workflow:
Automates job discovery based on your keywords
Filters out duplicate listings, ensuring only new jobs are stored
Notifies you on Slack when new jobs appear
How the Workflow Works
-
Schedule Trigger (Every 20 Minutes)
Triggers the workflow at 20-minute intervals
Ensures job searches are only executed during working hours (9 AM - 5 PM) -
Query Upwork for Jobs
Uses Apify API to scrape Upwork job posts for specific keywords (e.g., "n8n", "Python") -
Find Existing Jobs in MongoDB
Searches MongoDB to check if a job (based on title and budget) already exists -
Filter Out Duplicate Jobs
The Merge Node compares Upwork jobs with MongoDB data
The IF Node filters out jobs that are already stored in the database -
Save Only New Jobs in MongoDB
The Insert Node adds only new job listings to the MongoDB collection -
Send a Slack Notification
If a new job is found, a Slack message is sent with job details
Setup Guide
Required API Keys
Upwork Scraper (Apify Token) – Get your token from Apify
MongoDB Credentials – Set up MongoDB in n8n using your connection string
Slack API Token – Connect Slack to n8n and set the channel ID (default: #general)
Configuration Steps
Modify search keywords in the 'Assign Parameters' node (startUrls)
Adjust the Working Hours in the 'If Working Hours' node
Set your Slack channel in the Slack node
Ensure MongoDB is connected properly
Adjust the 'If Working Hours' node to match your timezone and hours, or remove it altogether to receive notifications and updates constantly.
How to Customize the Workflow
Change keywords: update the startUrls in the 'Assign Parameters' node to track different job categories
Change 'If Working Hours': Modify conditions in the IF Node to filter times based on your needs
Modify Slack Notifications: Adjust the Slack message format to include additional job details
Why Use This Workflow?
Automated job tracking without manual searches
Prevents duplicate entries in MongoDB
Instant Slack notifications for new job opportunities
Customizable – adapt the workflow to different job categories
Next Steps
Run the workflow and test with a small set of keywords
Expand job categories for better coverage
Enhance notifications by integrating Telegram, Email, or a dashboard
This workflow ensures real-time job tracking, prevents duplicates, and keeps you updated effortlessly.
Related Templates
AI Email Classifier & Auto-Delete for Gmail (SPAM/OFFER Cleaner)
This workflow is designed for freelancers, solopreneurs, and business owners who receive a high volume of irrelevant mes...
Generate Product Ad Copy & CTAs with GPT-4 for Slack and Airtable
⚡ AI Copywriter Pro: Instant Ad Copy & CTA Generator Transform product details into compelling marketing copy in second...
Automatic News Summarization & Email Digest with GPT-4, NewsAPI and Gmail
📰 AI News Digest Agent: Auto News Summarizer & Email Newsletter Create an intelligent news curation system that automat...
🔒 Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments