Monitor AppSumo lifetime deals with ScrapeOps and Google Sheets
UnknownWhat this workflow does
This workflow has 11 nodes and runs on a schedule (cron 0 9 * * *). Along the way it connects Google Sheets and Scrapeops (community).
How it runs
Trigger: On a schedule (cron 0 9 * * *).
- Fetch AppSumo Deals via ScrapeOps (JS Render) (Scrape Ops): uses Scrape Ops
- Parse AppSumo Deals HTML → Structured JSON (Code): runs custom JavaScript code
- Filter Relevant Deal Categories (Code): runs custom JavaScript code
- Lookup Deal in Google Sheet (by URL) (Google Sheets): uses Google Sheets
- Merge: merges the data from its input branches
- If: checks a condition and branches into true / false
- Stamp Last Checked (New Deal Path) (Code): runs custom JavaScript code
- Stamp Last Checked (Existing Deal Path) (Code): runs custom JavaScript code
- Append New Deal to Sheet (Google Sheets): append
- Update Existing Deal Row in Sheet (Google Sheets): update
Services it uses
Scraping pages by hand? Firecrawl is a simpler option (10% off for new users).
Before you upgrade to n8n 3.0
We can't fully verify this one: it relies on 1 community package, and n8n 3.0 turns unverified community packages off by default (N8N_UNVERIFIED_PACKAGES_ENABLED=false).
- Check that @scrapeops/n8n-nodes-scrapeops is verified or supports 3.0 (used in Fetch AppSumo Deals via ScrapeOps (JS Render)).
Nodes used (6)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Scrape Ops
@scrapeops/n8n-nodes-scrapeops.ScrapeOps - Code
n8n-nodes-base.code - Google Sheets
n8n-nodes-base.googleSheets - Merge
n8n-nodes-base.merge - If
n8n-nodes-base.if
From the author
Overview This n8n template automates daily monitoring of AppSumo lifetime deals. Using ScrapeOps Proxy with JavaScript rendering to reliably fetch pages and a structured parsing pipeline, the workflow tracks new and updated deals — saving everything to Google…