AutomationFlowsAI & RAG › Automate Job Discovery & AI Proposals Across Upwork, Freelancer, Guru & Pph…

Automate Job Discovery & AI Proposals Across Upwork, Freelancer, Guru & Pph…

Original n8n title: Automate Job Discovery & AI Proposals Across Upwork, Freelancer, Guru & Pph with Openrouter

ByGerald Denor @dominixai on n8n.io

This comprehensive n8n workflow automates freelance job discovery and application processes across four major platforms: Upwork.com, Freelancer.com, PeoplePerHour.com, and Guru.com. The system monitors RSS feeds, extracts job details, generates personalized AI proposals, and…

Event trigger★★★★☆ complexityAI-powered16 nodesRss Feed Read TriggerOpenRouter ChatGmailGoogle SheetsAgent
AI & RAG Trigger: Event Nodes: 16 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #7782 — we link there as the canonical source.

This workflow follows the Agent → Gmail recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "RVQEI6myuzfDnniB",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Upwork et al Job Application Automation with Vollna RSS",
  "tags": [],
  "nodes": [
    {
      "id": "863c5c29-b37f-4f9c-85e3-8d7093914edc",
      "name": "RSS Feed Trigger",
      "type": "n8n-nodes-base.rssFeedReadTrigger",
      "position": [
        -2512,
        -144
      ],
      "parameters": {},
      "retryOnFail": false,
      "typeVersion": 1
    },
    {
      "id": "11874fbd-27fe-4200-bd00-186e7130bf51",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -1840,
        -144
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "5de7fb1c-62ad-42d5-9365-3dc1b9e3e113",
      "name": "Extract Title & Budget",
      "type": "n8n-nodes-base.code",
      "position": [
        -1616,
        -272
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "ee0827c9-9eae-401c-80cf-13c4213af57f",
      "name": "Decode URL & Source",
      "type": "n8n-nodes-base.code",
      "position": [
        -1392,
        -272
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "669925ab-fa8b-44b9-a404-6c8e234f3ed3",
      "name": "Set Variables",
      "type": "n8n-nodes-base.set",
      "onError": "continueRegularOutput",
      "position": [
        -816,
        -272
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "deae953b-0fc9-43cb-b32f-fc4f80e0d9c8",
      "name": "OpenRouter Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        -1088,
        -48
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "8fbe12ff-f38f-4c5b-969d-9aee2fa4dd17",
      "name": "Filter",
      "type": "n8n-nodes-base.filter",
      "position": [
        -2064,
        -144
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "6f3470b6-eab1-4597-91e6-8d1ce1c3c803",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        304,
        -320
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "3cdce2c1-3c8b-4265-9ce8-84a2cb333cce",
      "name": "Update Datatbase",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -592,
        -48
      ],
      "parameters": {},
      "typeVersion": 4
    },
    {
      "id": "534827ea-5643-48c9-bd59-13113fc33399",
      "name": "AI Proposal Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -1168,
        -272
      ],
      "parameters": {},
      "retryOnFail": true,
      "typeVersion": 2.2
    },
    {
      "id": "adb9239e-a0ee-48f4-8892-7c17af4f355b",
      "name": "Append row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        528,
        -320
      ],
      "parameters": {},
      "typeVersion": 4.7
    },
    {
      "id": "69e9f1f6-5b43-4f52-a054-9009eb5f4497",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        -592,
        -320
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "6b8618fe-05a0-41ca-9b53-8b264762c359",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        -368,
        -320
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "b086483f-53f4-4afb-9417-b7d7e6bed929",
      "name": "HTML Aggregated email",
      "type": "n8n-nodes-base.html",
      "position": [
        80,
        -320
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "ffd88d8c-2c8d-4ecb-844c-01223583c4d5",
      "name": "Limit",
      "type": "n8n-nodes-base.limit",
      "position": [
        -2288,
        -144
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a46ec569-795e-4c76-af5e-e5c47642bfed",
      "name": "Build a single HTML string",
      "type": "n8n-nodes-base.code",
      "position": [
        -144,
        -320
      ],
      "parameters": {},
      "typeVersion": 2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "242b0dee-7c35-44b2-b55e-0e80763050f6",
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Limit": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Build a single HTML string",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Variables": {
      "main": [
        [
          {
            "node": "Update Datatbase",
            "type": "main",
            "index": 0
          },
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send a message": {
      "main": [
        [
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Extract Title & Budget",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS Feed Trigger": {
      "main": [
        [
          {
            "node": "Limit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Datatbase": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Proposal Agent": {
      "main": [
        [
          {
            "node": "Set Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Decode URL & Source": {
      "main": [
        [
          {
            "node": "AI Proposal Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTML Aggregated email": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Proposal Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Extract Title & Budget": {
      "main": [
        [
          {
            "node": "Decode URL & Source",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build a single HTML string": {
      "main": [
        [
          {
            "node": "HTML Aggregated email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This comprehensive n8n workflow automates freelance job discovery and application processes across four major platforms: Upwork.com, Freelancer.com, PeoplePerHour.com, and Guru.com. The system monitors RSS feeds, extracts job details, generates personalized AI proposals, and…

Source: https://n8n.io/workflows/7782/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This workflow is designed for marketers, content creators, agencies, and solo founders who want to publish long‑form posts with visuals on autopilot using n8n and AI agents. ​

Tool Http Request, Agent, HTTP Request +27
AI & RAG

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

HTTP Request, Google Sheets, OpenRouter Chat +5
AI & RAG

Automates overseas conference approval requests to CEO. Generates emails with conference details, flight quotes, accommodation, expense breakdown, and admin procedures. Ensures consistency and saves t

HTTP Request, Gmail, Google Sheets +4
AI & RAG

[](https://www.youtube.com/watch?v=RCwFc57V6oo)

Shopify, Google Sheets, Agent +4
AI & RAG

This workflow turns a Google Form submission into a polished, SEO-optimized technical blog with a human approval step before publishing. Google Form Submission (Trigger) The process begins when a Goog

Agent, Groq Chat, Google Sheets Trigger +5