Monitor SEO keyword rankings with SERP API & send drop alerts via Slack
Needs changesWhat this workflow does
This workflow has 11 nodes and runs on a schedule (legacy Cron node). Along the way it connects Google Sheets and Slack. It also calls serpapi.com over HTTP.
How it runs
Trigger: On a schedule (legacy Cron node).
- Get Keywords Database (Google Sheets): uses Google Sheets
- Filter: keeps only the items that match a condition
- Fetch Google Rankings via SERP API (HTTP Request): calls serpapi.com
- Wait: pauses before continuing
- Parse Rankings & Detect Changes (Code): runs custom JavaScript code
- Filter: keeps only the items that match a condition
- Update Rankings in Google Sheet (Google Sheets): update
- Send Slack Ranking Alert (Slack): uses Slack
- Send Email: sends an email over SMTP
- Generate SEO Monitoring Summary (Code): runs custom JavaScript code
Services it uses
HTTP calls to: serpapi.com
Before you upgrade to n8n 3.0
1 thing in this workflow is removed in n8n 3.0. Fix it before you upgrade:
- Cron in Daily SEO Check Trigger: replace with Schedule Trigger.
Rather not rewrite it? Many of these flows can be rebuilt in Make (free plan).
| Removed in 3.0 | Replace with |
|---|---|
| Cron Daily SEO Check Trigger | Schedule Trigger |
Nodes used (8)
- Cron
n8n-nodes-base.cron - Google Sheets
n8n-nodes-base.googleSheets - Filter
n8n-nodes-base.filter - HTTP Request
n8n-nodes-base.httpRequest - Code
n8n-nodes-base.code - Slack
n8n-nodes-base.slack - Send Email
n8n-nodes-base.emailSend - Wait
n8n-nodes-base.wait
From the author
This automated workflow monitors your website's keyword rankings daily and sends instant alerts to your team when significant ranking drops occur. It fetches current ranking positions, compares them with historical data, and triggers notifications through…