Upwork Job Tracking, Filtering, and Notification System - n8n Workflow

Use this powerful n8n workflow to monitor Upwork jobs via RSS. It filters non-English content, extracts key data using a custom n8n node, checks Google Sheets for duplicates, and sends instant Slack alerts for new postings. Find robust n8n templates here.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?

Freelancers and contractors seeking a competitive edge in capturing new Upwork opportunities immediately.
Recruiters who need to track specific job categories and skills posted frequently.
Automation enthusiasts who want to implement robust data parsing and duplicate checking logic within an n8n workflow.
Users looking for advanced n8n templates incorporating custom scripting and Google Sheets operations.

Overview

Manually sifting through job boards or constantly refreshing RSS feeds is inefficient. This comprehensive n8n workflow solves this by creating a highly customized, set-it-and-forget-it job tracking system. The core value lies in the specialized data cleaning and extraction performed by a custom Code n8n node, which transforms raw RSS data (title, description, link) into structured fields like Budget, Skills, and Job Description.

Furthermore, this n8n template implements crucial duplicate checking using Google Sheets, ensuring that the same job is never processed or notified multiple times. This entire n8n automation pipeline guarantees that you only receive timely, relevant, and well-parsed alerts about newly posted jobs.

How it Works

This automation is initiated by an n8n trigger, specifically the Schedule Trigger, which runs every 3 minutes.


  1. Trigger and Input: The Schedule Trigger activates the n8n workflow, which immediately uses the RSS Read n8n node to fetch the latest job postings from the configured Vollna RSS feed.

  2. Filtering: The Check for foreign characters Filter n8n node examines the job title. It only allows items containing standard English (ASCII) characters to pass, effectively filtering out non-English postings.

  3. Sorting: The resulting jobs are sorted by pubDate in descending order by the Sort n8n node, processing the freshest jobs first.

  4. Data Extraction: A sophisticated Code n8n node (Title, Budget, Link...) performs complex parsing: separating the job title from the budget (e.g., separating 'Project Title ($XX)' into two fields), decoding and cleaning the Upwork link, calculating the 'Posted' time, and extracting Skills and Categories from the description.

  5. Duplicate Check: The workflow uses the upwork_link to perform two simultaneous actions: first, it attempts to Get row(s) in sheet using Google Sheets to find existing jobs. Second, the Compare Datasets n8n node compares the newly fetched jobs against the existing links found in the sheet. Only items marked as 'new' (not found in the sheet) proceed.

  6. Logging: The new, unique jobs are appended as a new row in the designated Google Sheet via the Append row in sheet Google Sheets n8n node.

  7. Alerting: Finally, the new job data triggers the Send a message Slack n8n node, providing an instant notification with the job link, title, budget, and post time to a specified channel. An optional Aggregate and Send a message1 Gmail n8n node sends an email confirmation that the Slack alert was successful.

Installation Guide

To deploy this n8n workflow template, follow these steps:


  1. Import the n8n Workflow: Copy the provided JSON code and paste it into your n8n instance using the 'New' -> 'Import from JSON' function.

  2. Set up Credentials:

Google Sheets: You must provide credentials for the Google Sheets n8n node nodes (Get row(s) in sheet and Append row in sheet). Ensure the service account or OAuth credentials have read/write access to your designated spreadsheet.
Slack: Configure OAuth credentials for the Send a message Slack n8n node and set the target channel ID.
* Gmail (Optional): Configure Gmail OAuth credentials for the confirmation email.

  1. Configure Google Sheet: Create a Google Sheet with the exact column headers expected by the Append row in sheet n8n node: DATE, TITLE, BUDGET, POSTED, SKILLS, CATEGORIES, JOB DESCRIPTION, and UPWORK JOB LINK.

  2. Update RSS Feed URL: In the RSS Read n8n node, replace the placeholder URL with your specific, custom Vollna RSS feed URL for the jobs you wish to track.

  3. Activate: Save the n8n workflow and toggle it to 'Active'. The Schedule Trigger will begin checking for new jobs immediately based on its 3-minute interval.

Node Details

Schedule Trigger (n8n trigger): Sets the execution interval to run the n8n workflow every 3 minutes, ensuring near real-time monitoring of the RSS feed.
RSS Read (n8n node): Fetches the latest job data from the configured Vollna RSS feed URL.
Check for foreign characters (Filter n8n node): Filters items where the title contains non-ASCII characters, ensuring only relevant English-language jobs are processed by the rest of the n8n workflow.
Title, Budget, Link... (Code n8n node): This highly customized n8n node processes raw text data. It uses JavaScript to perform regex matching to separate job title from budget, extracts and decodes the final Upwork link, and parses the job description content to isolate Skills and Categories.
Get row(s) in sheet (Google Sheets n8n node): Reads the existing job links from the Google Sheet using the 'UPWORK JOB LINK' column, providing data for the duplicate check.
Compare Datasets (n8n node): A crucial flow control n8n node that compares the incoming data against the existing sheet data, merging by the upwork_link. It ensures that only jobs unique to the current run are passed forward to be logged and alerted.
Append row in sheet (Google Sheets n8n node): Saves the structured data for new, unique jobs into the Google Sheet for long-term tracking and historical duplicate prevention.
Send a message (Slack n8n node): Sends an immediate, formatted alert message containing the key job details (Title, Budget, Link) to the designated Slack channel.

Related n8n Workflows

Free

Nodes: 11 Nodes
Updated: December 26 2025
View all
Created by
Jeremiah Wright
Jeremiah Wright

Featured*