Skip to main content

Monitor website changes and send diff alerts via Telegram and email

Workflow preview

Workflow preview
100%
Monitor website changes and send diff alerts via Telegram and email preview
Open on n8n.io

1. Workflow Overview

Who is this for This workflow is ideal for marketers, product managers, competitive intelligence teams, and anyone who needs to track changes on web pages — whether it's competitor pricing, job pos...

Best for

  • Market Research automation workflows
  • AI Summarization automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.scheduletrigger, n8n-nodes-base.code, n8n-nodes-base.httprequest, n8n-nodes-base.googlesheets, n8n-nodes-base.if, n8n-nodes-base.telegram, n8n-nodes-base.emailsend

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Tony Adijah.

Original n8n.io source

1.1 Workflow description

Title
Monitor website changes and send diff alerts via Telegram and email
Workflow name
Monitor website changes and send diff alerts via Telegram and email

Who is this for

This workflow is ideal for marketers, product managers, competitive intelligence teams, and anyone who needs to track changes on web pages — whether it's competitor pricing, job postings, policy updates, product pages, or any content that matters to your business.

What this workflow does

It automatically monitors a list of URLs on a schedule, fetches each page, extracts clean text content, compares it against the previous snapshot stored in Google Sheets, generates a detailed line-by-line diff with change percentage and severity rating, and sends instant alerts via Telegram and email when changes are detected.

How it works

  • Schedule Trigger checks your target URLs at a configurable interval (default: every 4 hours).
  • URL List node defines which pages to monitor — easily add or remove URLs without touching other nodes.
  • HTTP Request fetches the current HTML content of each page with browser-like headers.
  • Content Extractor strips HTML tags, scripts, styles, and navigation to get clean readable text, plus extracts page title and meta description.
  • Load Previous Snapshot reads the last saved version from Google Sheets for comparison.
  • Diff Engine compares current vs. previous content line-by-line, calculates a change percentage, assigns a severity level (low/medium/high/critical), and generates a human-readable diff summary showing exactly what was added or removed.
  • Change Filter only passes through pages that actually changed — no noise, no false alerts.
  • Save Snapshot stores the new version in Google Sheets for the next comparison cycle.
  • Telegram + Email Alerts send formatted notifications with the diff summary, change percentage, severity, and a direct link to the page.

Setup steps

  • Add URLs — Edit the "URL List" code node and add your target URLs. Each entry needs a name (friendly label) and url (full URL). Optionally add a selector keyword to focus on specific page sections.
  • Google Sheets — Create a new spreadsheet with a sheet named "website" and columns: Name, url, selector, pageTitle, metaDescription, cleanText, contentHash, contentLength, fetchedAt, httpStatus. Connect your Google Sheets OAuth credential and set the spreadsheet ID in both Sheet nodes.
  • Telegram — Create a bot via @BotFather, get your Bot Token and Chat ID. Connect the Telegram credential and set your Chat ID in the Telegram Alert node.
  • Email (optional) — Connect your SMTP or Gmail credential in the Email Alert node and set your from/to addresses.
  • Schedule — Adjust the cron interval in the trigger node (every 1 hour for critical pages, every 24 hours for low-priority).
  • First Run — Run the workflow manually once to save baseline snapshots. Change detection begins from the second run onward.

Requirements

  • Google Sheets account with OAuth credentials
  • Telegram bot (created via @BotFather) with bot token and chat ID
  • SMTP or Gmail credentials for email alerts (optional)
  • n8n instance (cloud or self-hosted)

How to customize

  • Add CSS selector keywords in the URL List to monitor only specific sections of a page (e.g., pricing tables, job listings).
  • Increase check frequency to every 15 minutes for critical monitoring.
  • Add Slack, Discord, or WhatsApp as additional alert channels by branching from the Save Snapshot node.
  • Use AI (OpenAI, Ollama) to summarize changes in plain language instead of raw diff output.
  • Monitor API endpoints (JSON responses) by adjusting the Content Extractor logic.
  • Add multiple sheets for different monitoring categories (competitors, pricing, legal, careers).

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Sticky Note - Main Overview

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - Sticky Note - Trigger

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 3 - Sticky Note - Fetch

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 4 - Sticky Note - Diff

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - Sticky Note - Alerts

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 6 - Sticky Note - Warning URLs

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 7 - Sticky Note - Warning First Run

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 8 - ⏰ Every 4 Hours

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 9 - 📋 URL List

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 10 - 🌐 Fetch Page

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 11 - 📄 Extract Content

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 12 - 📋 Load Previous Snapshot

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 13 - 🔍 Diff Engine

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 14 - 🔄 Changed?

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 15 - 💾 Save Snapshot

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 16 - 📲 Telegram Alert

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 17 - 📧 Email Alert

Type / Role
n8n-nodes-base.emailSend - emailSend
Config choices
Version 2.1

Block 18 - 💾 Save (No Change)

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 19 - 📝 Log Result

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

3. Summary Table

Workflow Monitor website changes and send diff alerts via Telegram and email
Complexity advanced
Nodes 19
Categories Market Research, AI Summarization
Author Tony Adijah
Published 17 Feb 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/13455/13455.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Monitor website changes and send diff alerts via Telegram and email do?

Who is this for This workflow is ideal for marketers, product managers, competitive intelligence teams, and anyone who needs to track changes on web pages — whether it's competitor pricing, job pos...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Market Research, AI Summarization use case.