Templates / Generate Upwork proposals with GPT-4o-mini, Airtable and Slack

Generate Upwork proposals with GPT-4o-mini, Airtable and Slack

Ready for 3.0

by Vivekanand M βœ“ Β· 119 views Β· created 2026-03-04 Β· Lead Generation, Multimodal AI

Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.

Nodes used (6)

AirtableSlackOpenAI

What it does

Upwork Proposal Automation with AI, Airtable and Slack πŸ“˜ Description This workflow automates the complete Upwork job discovery and proposal generation process by continuously monitoring job listings, intelligently filtering opportunities based on your skill set, generating personalised AI-written proposals, and delivering instant notifications β€” all without any manual effort. The workflow is triggered automatically every minute via Vollna's RSS feed, which monitors Upwork job postings matching your configured search filters. Each new job listing is parsed and analysed to extract key details, including title, description, budget, required skills, and job ID. A skills matching engine scores each job against your defined skill set and filters out weak matches. Duplicate jobs are automatically detected and skipped using Airtable as a reference store, ensuring AI credits are never wasted on already-processed listings. For every qualified new job, GPT-4o-mini generates a tailored 150–250-word proposal that references specific details from the job post, aligns your experience to the client's exact requirements, and ends with a clear call to action. The proposal and all job metadata are saved to an Airtable base for review. A formatted Slack notification is sent instantly with the full job details and generated proposal, allowing you to review, edit, and apply directly from Upwork with a single click. --- βš™οΈ What This Workflow Does (Step-by-Step) πŸ“‘ RSS Feed Monitoring β€” Polls Vollna's Upwork RSS feed every minute for new job listings matching your skill keywords. Vollna replaces Upwork's discontinued native RSS feed (removed August 2024) and supports 30+ filter parameters, including category, budget, and client history. πŸ” Parse & Extract β€” Extracts structured fields from each RSS item, including job title, full description, budget, required skills, posted date, job ID, and clean Upwork job URL (decoded from Vollna's redirect format). 🎯 Filter: Skills Match β€” Scores each job against your defined skill list. Jobs scoring fewer than 2 matched skills are dropped immediately, ensuring only relevant opportunities proceed. ⭐ Filter: Client Quality β€” Filters out clients with ratings below 4.5. New clients with no rating history are allowed through by default. πŸ” Duplicate Detection β€” Queries Airtable to check if the job ID has already been processed in a previous run. Duplicate jobs are silently skipped without generating a proposal. πŸ€– AI Proposal Generation β€” Calls GPT-4o-mini with a structured prompt containing the job details and your freelancer profile. Generates a concise, personalised proposal that opens with a specific reference to the job post, highlights relevant experience with real numbers, proposes a concrete first step, and ends with a soft call to action. πŸ’Ύ Save to Airtable β€” Creates a new record in your Airtable base with all job fields, matched skills, match score, generated proposal, and status set to "New" for review tracking. πŸ’¬ Slack Notification β€” Sends a formatted message to your Slack channel with the job title, budget, match score, matched skills, required skills, direct Upwork job link, and the full AI-generated proposal β€” ready to copy and submit. --- 🧩 Prerequisites - Vollna account β€” Free tier available at vollna.com. Create a job filter matching your skills and copy the RSS feed URL from the Filters section - OpenAI API key β€” Used for GPT-4o-mini proposal generation (~$0.007 per proposal) - Airtable account β€” Free tier supports up to 1,000 records. Create a base with the schema below - Slack workspace β€” Bot token with chat:write permission, invited to your target channel --- πŸ—„οΈ Airtable Base Schema Create a table called Upwork Proposals with these fields: | Field Name | Type | |---|---| | Job Title | Single line text | | Job URL | URL | | Upwork URL | URL | | Posted At | Date | | Budget | Single line text | | Skills Required | Long text | | Matched Skills | Long text | | Match Score | Number | | AI Proposa

View the original on n8n.io β†’ Check your own copy

Get the weekly β€œwhat broke” email

New templates, newly broken ones, and n8n release changes. One short email a week.

Form not loading? Subscribe here.