The problem
Every Monday I had to open GA4, Search Console, PageSpeed & a client’s Excel sheet, copy numbers, color cells red/green and email a PDF report. Total time: 2 h 15 min.
Goal: zero-click dashboard + instant Slack alert when Core Web Vitals drop.
The stack (100 % free tier)
- n8n cloud (open-source, self-hosted on a 5 € VPS)
- Google Search Console API
- PageSpeed Insights API
- Slack incoming webhook
- 20-line workflow, no NPM package. ## Workflow steps
- Cron node → every day at 07:00
- GA4 node → fetch
sessions
,bounceRate
for last 7 days - Search Console node →
clicks
,impressions
,ctr
- PageSpeed node → run 3 URLs, store
LCP
,CLS
,FID
- Function node → calc % change vs last week
- IF node → if LCP > 2.5 s OR clicks drop > 15 % → build JSON message
- Slack node → ping
#seo-alerts
with red emoji & link to detailed Google Sheet - ELSE → post green checkmark in
#general
## Results after 30 days - 0 manual report
- 2 early warnings (LCP regression after plugin update) → fixed in <30 min
- Client now opens Slack instead of Excel → priceless. Make a copy of the workflow JSON: Download here (no opt-in) Feel free to fork, improve and share your own nodes. Happy automating! 🚀
Top comments (0)