Daily competitor price tracker with Slack alerts
Every morning at 6am, check competitor product pages, log the prices in Google Sheets, and ping Slack the moment a price or stock status changes.
Build me a competitor product price tracker that runs every day at 6am on a cron schedule.
Inputs: a Google Sheet I maintain with one competitor product per row. The columns include product URL, product name, last price, last currency, last availability, and last checked timestamp. Use Google Sheets Get Values to read this tracker tab into the workflow.
For each row, call Diffbot Extract Product on the URL to pull title, price, currency, availability, and SKU.
Then do two writes back to Google Sheets. First, use Append Values to add a timestamped row to a separate Price History tab with the timestamp, URL, product title, price, currency, and availability. Second, use Update Values to write the new current price, currency, availability, and last checked timestamp back to the matching row on the tracker tab so the latest snapshot lives on the tracker.
Compute a change signal per product. If the absolute percent change between last price and new price is greater than a configurable threshold (default 5 percent), or if availability flipped between in stock and out of stock, treat the row as changed.
For every changed row, use Slack Send a Message to post an alert to a configurable channel. The message should name the product, include the old price and new price with currency, the percent change, the new availability, and a link to the product page.
Keep this fully deterministic. No model calls, no judgement steps. Every step is a known node: cron trigger, Google Sheets read, loop over rows calling Diffbot, Google Sheets append and update, conditional Slack post. Skip rows where Diffbot returns no price rather than failing the whole run, and continue processing the rest.
Configurable values: schedule time and timezone, tracker spreadsheet id and tab name, history tab name, percent change threshold, Slack channel.
Additional information
What does this prompt do?
- Reads your list of competitor product URLs from a Google Sheet so you control what gets tracked.
- Visits each product page once a day and pulls the current title, price, currency, availability, and SKU.
- Appends a timestamped row to a Price History sheet so you build a clean longitudinal record over time.
- Updates the latest price back on the tracker sheet so you can sort, filter, and pivot in place.
- Posts a Slack alert in your chosen channel whenever a price moves more than your threshold or stock flips in or out.
What do I need to use this?
- A Google account with edit access to a tracker spreadsheet that has competitor product URLs.
- A Diffbot account that can read product pages.
- A Slack workspace and a channel where pricing alerts should land.
How can I customize it?
- Change the run time, the days it runs, or the timezone to match when your team starts the day.
- Adjust the price change threshold, for example 2 percent for tight monitoring or 10 percent for noise reduction.
- Pick which Slack channel gets the alerts and tweak the message copy to include extra fields like SKU or brand.
Frequently asked questions
What should my tracker spreadsheet look like?
Will this work for any e-commerce site?
How do I stop getting Slack alerts for tiny price changes?
Can I track more than one currency?
How often does it run?
Stop refreshing competitor product pages by hand.
Connect Diffbot, Google Sheets, and Slack once, and Geni watches your competitors every morning so you do not have to.