Check job apply URLs and deactivate dead links in Postgres and Google Sheets
Ready for 3.0Ready 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.
What this workflow does
This workflow has 8 nodes and runs on a schedule (every 72 hours). Along the way it connects Postgres and Google Sheets.
How it runs
Trigger: On a schedule (every 72 hours).
- 📥 Fetch Active Jobs (Postgres): run a query
- 🔧 Prepare URLs (Code): runs custom JavaScript code
- 🔗 Check URLs (HTTP Request): calls an HTTP API (HEAD)
- 🧠 Find Dead Jobs (Code): runs custom JavaScript code
- 🔀 Has Dead Jobs? (If): checks a condition and branches into true / false
- ❌ Mark Inactive (Supabase) (Postgres): run a query
- 📊 Mark Inactive (Google Sheet) (Google Sheets): append or update
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (6)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Postgres
n8n-nodes-base.postgres - Code
n8n-nodes-base.code - HTTP Request
n8n-nodes-base.httpRequest - If
n8n-nodes-base.if - Google Sheets
n8n-nodes-base.googleSheets
From the author
Keep your job listings database clean without manual checks. Every three days, this workflow fetches all active jobs from your Postgres database, runs each application URL through a validation check, identifies dead links via HTTP status codes and soft-404…