About the role
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
1. 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)
2. Query Upwork for Jobs
Uses Apify API to scrape Upwork job posts for specific keywords (e.g., "n8n", "Python")
3. Find Existing Jobs in MongoDB
Searches MongoDB to check if a job (based on title and budget) already exists
4. 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
5. Save Only New Jobs in MongoDB
The Insert Node adds only new job listings to the MongoDB collection
6. Send a Slack Notification
If a new job is found, a Slack message is sent with job details