Showcase > Ops & Monitoring

Monitor Dynamic Website Changes

13-node n8n workflow using Firecrawl, Google Sheets, and Gmail to monitor websites for content changes with diff alerts.

ShowcaseBeginner5 min read

A 13-node monitoring system that turns Google Sheets into a version control database for any website on the internet. Competitive intelligence, compliance monitoring, price tracking -- whatever your reason for watching a website, this workflow handles it with Firecrawl-powered scraping that captures JavaScript-rendered content most monitors miss entirely. When something changes, you know about it within minutes, not days.

Nodes Category Complexity Key Integrations
13 Monitoring & Alerts Intermediate Firecrawl, Google Sheets, Gmail, Webhook

Prerequisites

  • Firecrawl API key for JavaScript-rendered web scraping
  • Google Sheets OAuth2 credentials for snapshot storage and change log
  • Gmail OAuth2 credentials for change notification delivery
  • An external trigger source (cron job, another workflow, or manual call) to hit the webhook endpoint on your desired monitoring schedule
  • Knowledge level: Beginner to Intermediate -- straightforward webhook-based architecture with minimal configuration required

Estimated Setup Time

15-25 minutes including Firecrawl API key registration, Google Sheets template setup, and webhook trigger configuration.

What It Does

This workflow monitors any website for content changes by scraping the current version, comparing it against the last known snapshot stored in Google Sheets, and alerting you via Gmail when differences are detected. It uses Firecrawl instead of basic HTTP requests, which means it captures content from JavaScript-heavy single-page applications that traditional scrapers cannot render.

The comparison engine is built with Code nodes that perform intelligent diff analysis -- not just "something changed," but what specifically changed. New sections, removed content, modified pricing, updated terms -- every change is identified and categorized in the alert.

The workflow also maintains a full change log in Google Sheets, creating a historical record of every detected modification with timestamps. This turns a simple monitoring tool into a compliance audit trail or competitive intelligence archive.

Workflow Diagram

Workflow Diagram

Node Breakdown

Triggers

  • Webhook

Scraping & Data

  • HTTP Request (Firecrawl)
  • Google Sheets x5

Logic & Processing

  • Code x2
  • IF
  • Respond to Webhook x2

Notifications

  • Gmail

Step-by-Step Flow

  1. Webhook Trigger -- An external call hits the webhook endpoint with the target URL. This can be triggered by a cron job, another workflow, or any system capable of making HTTP requests.

  2. Firecrawl Scrape -- The HTTP Request node calls the Firecrawl API, which renders the target page including all JavaScript-generated content. The response includes clean, structured text content stripped of HTML noise.

  3. Load Previous Version -- Google Sheets is queried for the last stored version of this URL's content. If no previous version exists, the current scrape becomes the baseline and the workflow stores it as the first snapshot.

  4. Content Comparison -- A Code node performs a detailed diff between the current scrape and the stored version. It identifies additions, deletions, and modifications at the paragraph level, not just a binary changed/unchanged flag.

  5. IF Branch -- If changes are detected, the workflow proceeds to the alert path. If the content is unchanged, it returns a "no changes" response to the webhook caller and exits.

  6. Alert and Log -- The changed path does two things simultaneously: it sends a detailed Gmail alert with the specific changes highlighted, and it appends a new row to the change log sheet with a timestamp, the change summary, and the full current content.

  7. Update Baseline -- The current content replaces the previous version in Google Sheets, establishing the new baseline for the next comparison cycle.

  8. Webhook Response -- The workflow returns a structured JSON response to the caller indicating whether changes were found and a summary of what changed. This enables upstream systems to react programmatically.

What Sets It Apart

Firecrawl for JavaScript-rendered pages. Most website monitoring tools use basic HTTP requests that only capture static HTML. Modern websites render critical content via JavaScript -- pricing tables, dynamic product listings, terms of service -- which basic scrapers miss entirely. Firecrawl renders the full page, capturing everything a real browser would see.

Google Sheets as a simple version control database. Instead of spinning up a dedicated database for content snapshots, this workflow uses Google Sheets as a lightweight version control system. It stores current content, maintains a change history log, and provides an instantly accessible audit trail that non-technical stakeholders can review directly.

Dual webhook response paths. The workflow returns different responses depending on whether changes were detected. This allows upstream systems to branch their own logic based on the monitoring result, enabling sophisticated multi-workflow automation chains.

Cost Considerations

  • Firecrawl: Free tier includes 500 credits; paid plans from $16/month (1 credit per scrape). Monitoring 10 URLs daily uses ~300 credits/month
  • Google Sheets: Free with Google account
  • Gmail: Free with Google account
  • No AI model costs -- this workflow uses code-based diffing rather than AI analysis
  • Estimated monthly cost: Free tier covers light usage; $16/month covers most monitoring needs

Ideal For

  • Competitive intelligence teams tracking competitor pricing, features, and messaging changes
  • Compliance officers monitoring regulatory pages and terms of service for updates
  • E-commerce operators tracking competitor product listings and price changes
  • Content teams auditing published pages for unauthorized modifications

Tip: Key Techniques

Firecrawl over Basic HTTP -- When monitoring modern websites, always use a rendering-capable scraper. JavaScript-rendered content is invisible to standard HTTP requests, which means you could miss the exact changes you are trying to detect.

Google Sheets as State Store -- For monitoring workflows that need simple state persistence (last known version, change history), Google Sheets is often the right tool. It provides a human-readable data store, built-in version history, and zero infrastructure overhead.

Dual Webhook Response -- Returning different payloads for "changed" vs "unchanged" states allows upstream workflows to branch intelligently. This pattern is essential for building monitoring chains that only trigger expensive downstream processes when something actually changes.

Download

The workflow.json file in this folder can be imported directly into your n8n instance via Settings > Import Workflow.

Want this running in your stack?

I build production n8n and Cloudflare automation for teams — the same engineering behind HarperFlow. Fixed-price, escrow-protected, US-based.