Library / Reports, Analytics & Dashboards
Reports, Analytics & Dashboards
Daily Upwork Job Digest with Apify, OpenAI and Gmail
Every day, this fetches new Upwork jobs through Apify, logs them in Google Sheets, has OpenAI summarize the list and emails it by Gmail.
What it does
# ✅ n8n Automation: "Upwork Job Aggregator & Notifier" > Purpose: Automatically fetch job postings from Upwork with specific keywords, save them in Google Sheets, summarize them using AI, and email the results daily (or at any interval you want). --- ## 🧱 HIGH-LEVEL OVERVIEW | Feature | Description | | --------------- | ---------------------------------------------------- | | 🕐 Trigger | Scheduled (e.g., every 6 hours) | | 🌐 Source | Apify actor for Upwork scraping | | 📄 Storage | Google Sheets | | 🧠 Summary | OpenAI model with structured output | | 📬 Notification | Gmail with formatted job summary | --- ## 🧠 GROUP 1: 📥 Fetch & Prepare Upwork Jobs ### 🟢 Nodes: 1. 🕒 Daily Upwork Job Trigger * Type: Cron Trigger * Purpose: Runs the flow automatically at your set interval (e.g., every 6 hours or daily) 2. 🌐 Fetch Upwork Jobs (Apify) * Type: HTTP Request * Method: POST * URL: https://api.apify.com/v2/actor-tasks/ /run-sync-get-dataset-items?token= * Purpose: Calls your Apify Upwork Scraper task to get the latest job listings * Output: JSON array of job objects 3. 🛠️ Format Job Fields * Type: Edit Fields (Set or Function Node) * Purpose: Extracts needed job fields like title, url, description, budget, and datePosted * Reason: Makes data uniform for Sheet storage and AI summary --- ## 📊 GROUP 2: 🧾 Log & Summarize Jobs ### 🟢 Nodes: 4. 📈 Log Jobs to Google Sheet * Type: Google Sheets → Append Sheet * Sheet Setup: Must have headers like Title, URL, Description, Budget, Date * Purpose: Appends each new job as a row in the sheet for historical tracking 5. 🤖 Summarize Job Listings (AI Agent node group) * Type: Tools Agent (LangChain / OpenAI Integration) * Connected Sub-Nodes: * 🧠 OpenAI Job Summarizer (OpenAI Chat Model) * Prompt example: You are an assistant summarizing freelance job postings. Summarize each job in 1-2 lines. Include title, budget, and a short description. * 📄 Parse Summary Output (Structured Output Parser) * Purpose: Converts the AI response into structured n8n items * Input: Job data from Google Sheets * Output: A clear, natural language summary of all jobs --- ## 📤 GROUP 3: ✉️ Notify via Email ### 🟢 Node: 6. 📧 Send Job Summary Email * Type: Gmail → Send Message * Authentication: Google OAuth2 * To: Yourself or your team * Subject: "🚀 New Upwork J
The steps
- Daily Upwork Job Trigger
- Fetch Upwork Jobs (Apify)
- Format Job Fields
- Log Jobs to Google Sheet
- Summarize Job Listings
- Send Job Summary Email
- OpenAI Job Summarizer
- Parse Summary Output
Similar automations
Web Scraping & ResearchScrape Upwork Jobs with Apify and Email Daily Reports20 stepsLead Generation & EnrichmentFind Upwork Job Clients and Their Emails with Apify and Hunter15 stepsWeb Scraping & ResearchLog Upwork Jobs to Google Sheets with Apify4 stepsLead Generation & EnrichmentAlert Slack About New Upwork Jobs Stored in MongoDB8 steps