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.

Deterministic Code
DiffbotGoogle SheetsSlackMarketingOperationsResearch & MonitoringNotifications & AlertsData Sync
PromptCreate

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.

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.

FAQs

What should my tracker spreadsheet look like?
One row per product, with a column for the product URL and a column for the last seen price. The workflow appends history to a separate sheet so your tracker stays clean.
Will this work for any e-commerce site?
It works for most public product pages on major retailer and brand sites. Pages behind logins, region locks, or aggressive bot blocking can be hit or miss.
How do I stop getting Slack alerts for tiny price changes?
Raise the change threshold. The default is 5 percent, but you can set it to anything that fits your category. You will still always get alerts when a product goes in or out of stock.
Can I track more than one currency?
Yes. Each product is logged with the currency the page reports, so you can mix USD, EUR, GBP, and others in the same tracker.
How often does it run?
Once per day at 6am by default. You can change the schedule to run more or less often, for example every four hours during a launch window.

Related templates

Auto-fix your calendar when a flight slips, and flag what's at risk

When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.

Google Calendar
AviationStack
Slack
Agentic Task
Trace phishing emails to the sending IP and report abuse

Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.

AbuseIPDB
Gmail
Slack
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Turn each week's football fixtures into a venue staffing plan

Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.

API-Sports
Google Calendar
Slack
Agentic Task

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.