Track competitor pricing changes with Google Sheets, OpenAI, and Gmail

Go to Workflow
1 views
Built by Yasutaka Toshima Yasutaka Toshima
Created on July 28, 2026

Description

Quick Overview
This workflow runs daily, checks competitor webpages listed in Google Sheets, compares the latest page text to the previous snapshot using OpenAI, stores the updated snapshot in Google Sheets, and emails a consolidated HTML change report via Gmail.

How it works
Runs every day at 9:00 AM on a schedule.
Reads the list of competitor sites (Site ID, Site Name, URL) from a Google Sheets tab.
Fetches each competitor URL and extracts the visible page text from the HTML body.
Looks up the previous saved snapshot for the same Site ID in a Google Sheets “Snapshots” tab.
Uses OpenAI (gpt-4o-mini) to compare previous vs current text and summarize pricing, plan, and campaign changes or return “No changes detected”.
Saves the current page text and fetch timestamp back to Google Sheets (append or update by Competitor Site ID) and formats each result into an HTML table row.
Aggregates all rows into a single HTML table and sends the daily report email through Gmail.

Setup
Create a Google Sheets file with a “Monitored Sites” tab (Site ID, Site Name, URL) and a “Snapshots” tab (Competitor Site ID, Last Fetched At, Page Text).
Add Google Sheets OAuth credentials and set your spreadsheet ID and tab names in the Config values.
Add an OpenAI API credential and ensure the model setting (gpt-4o-mini) is available in your account.
Add a Gmail OAuth2 credential and set the recipient email address in the Config values.
Update the schedule trigger if you want a time other than 9:00 AM.

Nodes Used (4)

Gmail
n8n-nodes-base.gmail
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest
OpenAI
n8n-nodes-base.openAi