Amazon price drop alerts to Slack from an Airtable watchlist

By General Input

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.

Integrations

  • Real-Time Amazon Data
  • Airtable
  • Slack

Type

Deterministic Code

Categories

  • Operations
  • Personal Productivity

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.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionKajabi customer support console for member access fixes