Amazon price drop alerts to Slack from an Airtable watchlist

Check your Airtable watchlist of Amazon products every morning, ping Slack when a price drops below your threshold, and log the new price back to the row.

Deterministic Code
Real-Time Amazon DataAirtableSlackOperationsPersonal ProductivityNotifications & AlertsResearch & MonitoringData Sync
PromptCreate

Build a deterministic, code-based workflow that watches a list of Amazon products for price drops and posts to Slack when a product falls below my target price. Every step should be a fixed node. No agent reasoning. The watchlist may contain hundreds of ASINs and behavior must be predictable across all of them.

Trigger: a cron schedule, defaulting to every weekday at 9:00am in the workspace's timezone. The schedule should be configurable on the trigger node.

Step 1 — Read the watchlist. Use Airtable's List Records on a configured base and table where each row has these fields: ASIN (single line text), Country (single line text or single select, defaulting to US), Threshold Price (number), Last Seen Price (number, may be empty on first run), and Checked At (last modified time or dateTime). Pull all rows. Handle pagination by following the offset until Airtable stops returning one.

Step 2 — For each row, call Real-Time Amazon Data's Get Product Details using the row's ASIN and Country. Read the current price from data.product_price in the response envelope, and the product title from data.product_title, and the product URL from data.product_url. If the response is missing a numeric price (out of stock or unavailable), skip the alert branch but still update the timestamp. Treat a transient 503 as retryable with a short backoff, max two retries, then skip the row.

Step 3 — Decide. If the current price is at or below the row's Threshold Price AND strictly lower than the row's Last Seen Price (or Last Seen Price is empty), this is a price-drop alert. Otherwise it is a no-op.

Step 4a — Alert branch. Post a Slack message using Send a Message to a configured channel. The message should include the product title as a link to the Amazon URL, the old price (from Last Seen Price), the new price, the absolute and percentage drop, the threshold for context, and the ASIN. Format with Slack mrkdwn (single asterisks for bold, angle-bracket links). One message per dropped product.

Step 4b — Always update Airtable. Call Update Record on the same row by its record id. Set Last Seen Price to the new price (only when we got a valid numeric price) and set Checked At to the current ISO 8601 timestamp. On a no-op row, only the timestamp updates.

Inputs to expose on the workflow: Airtable base id, Airtable table id, Slack channel id, and the cron schedule. Field names inside the table should be configurable but defaulted to the names above.

Failure handling: a single row's failure must not abort the rest of the run. Catch per-row errors and continue. At the end of the run, log a summary of how many rows were checked, how many alerts fired, and how many rows errored.

Additional information

What does this prompt do?
  • Reads your Amazon watchlist from an Airtable table every weekday morning, one row per product you want to track.
  • Checks the current price for each product on the right Amazon marketplace and compares it to your target price.
  • Sends a Slack message the moment a product drops below your threshold, with the title, the old and new price, the percent off, and a direct link.
  • Writes the latest price and a checked-at timestamp back to the same row, so you always know when each product was last seen.
What do I need to use this?
  • An Airtable base with one row per product, including the ASIN, country, target price, and a last-seen-price column.
  • An Amazon data connection for live product lookups (a Real-Time Amazon Data key).
  • A Slack workspace and the channel you want price alerts posted to.
How can I customize it?
  • Change how often it runs. The default is every weekday at 9am, but you can set any schedule, including hourly or twice a day.
  • Pick the Slack channel. Point it at a shared #deals channel for the team, or a private channel just for you.
  • Tune the alert rule. By default it pings when the price is at or below your target and lower than the last seen price, so you do not get the same alert twice.

Frequently asked questions

How many products can I track?
As many as your Airtable table holds. The workflow paginates through every row and checks each one. Hundreds of ASINs are normal. Just be mindful of your Real-Time Amazon Data plan's monthly request quota.
Will I get spammed if a product stays cheap for days?
No. The alert only fires when the current price is both below your target and lower than the price stored on the row from the last run. Once a product hits a new low, you get one message, then nothing until it drops again.
Can I track prices on Amazon UK, Germany, or other marketplaces?
Yes. Each row has its own country field, so you can mix US, UK, Germany, Japan, and any of the 24 supported Amazon marketplaces in the same watchlist.
What happens if a product is out of stock or the lookup fails?
The workflow skips the alert for that row but still updates the checked-at timestamp so you can see it was attempted. Other rows in the same run are unaffected.
Do I need to use Airtable, or could I use Google Sheets?
This template is built around Airtable because updating a specific row by id is clean. You can ask the workflow author to adapt it to Google Sheets if you prefer, though the writeback step looks a little different.

Stop refreshing Amazon waiting for the price to move.

Connect Amazon, Airtable, and Slack once. Geni checks your watchlist on the schedule you pick and pings you the moment a price drops.