An n8n agent that watches a list of competitor and peer URLs on a schedule, detects meaningful changes via content hashing, scores impact with GPT-4, and alerts you on Discord and Gmail — so you stop finding out from a customer.
Watching pricing pages, changelogs, and LinkedIn posts manually doesn't scale. Missing a launch costs more than the monitoring stack.
Five stages, all running inside one n8n workflow. Two cron triggers — one for monitoring, one for the weekly digest.
A cron node fires every 6 hours. It reads your peer/competitor list from a Google Sheet — one row per URL with peer name, website, LinkedIn, last-known hash, and last-checked timestamp.
The workflow loops one URL at a time (rate-limited, redirect-following). It strips <script>, <style>, all HTML tags, collapses whitespace, lowercases — leaving the page's actual content.
Compute an MD5 of the normalized text. Compare to the last hash stored in the sheet. If identical → no-op. If different → continue down the alert branch.
The v1 workflow sends the before/after to GPT-4 and gets back a 1-10 impact score plus a short summary. Score > 3 = significant. Score ≥ 8 = critical.
Critical changes fire a Gmail alert and a Discord ping into your alerts channel. Routine changes go to a daily digest. A second weekly cron generates a GPT-4 summary across all changes and emails it before Monday standup.
All inside n8n. No servers. Google Sheets is the database; Discord and Gmail are the delivery surfaces.
flowchart TD
A[⏱ Cron: every 6h] --> B[(📋 Sheet:
peer list)]
B --> C[Split In Batches
1 at a time]
C --> D[HTTP Fetch
page HTML]
D --> E[Clean & MD5
normalized text]
E --> F{Hash
changed?}
F -- no --> G[No-op
→ next peer]
F -- yes --> H[GPT-4 scores 1–10
impact + summary]
H --> I{Score > 3?}
I -- yes --> J[Append to Sheet]
I -- no --> K[Save 'no change']
J --> L{Score ≥ 8?}
L -- critical --> M[📧 Gmail Alert
+ Discord ping]
L -- routine --> N[📥 Daily digest queue]
O[⏱ Weekly Cron] --> P[Read week's rows]
P --> Q[GPT-4 weekly summary]
Q --> R[📧 Weekly digest email]
style M fill:#a78bfa20,stroke:#a78bfa,color:#fff
style R fill:#38bdf820,stroke:#38bdf8,color:#fff
style A fill:#21262d,stroke:#30363d,color:#e6edf3
style O fill:#21262d,stroke:#30363d,color:#e6edf3
Real format, fake data. Toggle between Discord and Gmail.
Phase 1 (Competitor Audit) is the verbose, GPT-scored version. Phase 2 (Peer Monitoring) is the leaner production version with hashing + Discord webhooks. Use whichever fits your stack.
Every 6 hours, fetch each URL, send before/after to GPT-4 for a 1-10 impact score and prose summary. Critical alerts fan out to Gmail + Discord; routine ones to a daily digest. Includes a weekly GPT-4 rollup.
Same trigger, but uses MD5 hashing of normalized text instead of LLM-scoring every check. Cheaper, faster, more deterministic. Only fires the alert path when the hash actually changes. Email + Discord webhook delivery.
n8n (self-hosted or cloud), a Google Sheet to hold your peer list, a Gmail account for delivery, and (optionally) a Discord webhook. ~15 min to wire credentials and import.
No exotic infra. Everything below has a free tier.
Both workflows are public and free. Drop your peer URLs into a sheet, import the JSON into your n8n, plug in credentials. You're monitoring in under 20 minutes.