Quick overview
This workflow runs monthly to read a Google Sheets register of legal-policy URLs, capture each page as a PDF via Snapshot Site, archive the evidence to Amazon S3, compare the current page to a reviewed baseline image, log results back to Sheets, and alert Slack when changes are detected
How it works
- Runs on a schedule on the 1st of every month.
- Reads the list of legal pages (URL, document name, and baseline image URL) from a Google Sheets tab.
- For each row, Snapshot Site captures a full-page PDF of the live page with the cookie banner left visible.
- Downloads the hosted PDF and uploads it to Amazon S3 using a dated key per document for evidence archiving.
- Uses Snapshot Site Compare to measure visual differences between the live page and the stored baseline image.
- Appends or updates an audit entry in a Google Sheets log with the capture timestamp, S3 key, mismatch percentage, and diff link.
- Posts a Slack alert when the mismatch percentage is greater than 0, and posts a separate Slack alert if any capture, download, compare, or upload step fails.
Setup
- Install the
n8n-nodes-snapshot-site community node and add Snapshot Site API credentials.
- Add Google Sheets OAuth credentials and update the spreadsheet URL/ID used for the Legal Pages and Evidence Audit Log tabs.
- Add AWS credentials, set the target S3 bucket name, and ensure the bucket exists (optionally enabling versioning/Object Lock for tamper-evident retention).
- Add Slack credentials and set the destination channels for change alerts (#compliance) and failure alerts (#compliance-alerts).
- Create and populate the Google Sheets tabs with the required headers, including a
baselineUrl for comparisons (seed it initially and update it after reviews).