Daily buy-watch for your Airtable procurement wishlist

Every weekday at 7am, check the current lowest price and price history for every item on your team's wishlist, label each one buy now, watching, or skip, and ping requesters in Slack when it's time to buy.

Agentic Task
Real-Time Product SearchAirtableSlackOperationsPersonal ProductivityResearch & MonitoringNotifications & AlertsDaily Digests
PromptCreate

Build me an agent workflow that runs every weekday at 7am ET and does a buy-watch over my team's procurement wishlist in Airtable.

Trigger: cron, weekdays at 7:00 America/New_York.

Inputs I want to configure when I set this up: the Airtable base ID, the wishlist table name (default "Wishlist"), and the Slack channel to post buy-now alerts to. Assume the Wishlist table has these columns: Query (single-line text, the product search string), ProductId (single-line text, optional, the Google Shopping product_id), TargetPrice (number, USD), Requester (single-line text, a Slack handle like @jane), CurrentBestPrice (number, agent writes), BestStore (single-line text, agent writes), HistoricalLow (number, agent writes), Label (single-select with options: buy now, watching, skip; agent writes), Rationale (long text, agent writes, one line), LastChecked (date, agent writes).

Steps the agent should take on each run:

1. Call Airtable List Records on the Wishlist table to fetch every row. Treat any row missing Query as a skip.

2. For each row, get today's lowest current offer. If ProductId is set, call Real-Time Product Search Get Product Offers using that product_id and read the cheapest active seller. If ProductId is not set, call Real-Time Product Search Search Products with the Query, pick the best matching product from the top results, and use its top_offer (or call Get Product Offers on its product_id if you need the full seller breakdown). Capture the lowest price, the seller/store name, and the product URL.

3. For each row, call Real-Time Product Search Get Product Price History on the resolved product_id to get the historical low and median price across stores.

4. Use judgement to label each row:

- buy now: today's lowest price is at or below TargetPrice AND it is at or near the historical low (within a few percent).

- watching: trending downward (today is below the recent median) but still above TargetPrice, OR at target but well above the historical low.

- skip: above TargetPrice and either flat or trending up.

Write a one-line Rationale explaining the call in plain English, e.g. "$189 at Best Buy, 4% above all-time low of $182, target was $200".

5. For each row, call Airtable Update Record to write back CurrentBestPrice, BestStore, HistoricalLow, Label, Rationale, and LastChecked (today's date).

6. Collect every row whose new Label is "buy now" and post ONE consolidated Slack message via Send a Message to the configured channel. Format it as a short header ("Buy-now picks for {today}") followed by one bullet per item: the requester's Slack handle, the product name, the new price, the store, the deal link, and the one-line rationale. If there are zero buy-now items, post a short "No buys today, {N} items still watching" line instead of skipping silently, so the team knows the workflow ran.

Keep the Slack message consolidated, never one message per item. Make the run idempotent: if the same item is already labeled buy now from yesterday and the price has not changed, still include it in today's message (the team needs the daily nudge) but flag it as "still on sale".

Additional information

What does this prompt do?
  • Reads every row on your Airtable wishlist table each weekday at 7am ET, including the product, the target price, and who requested it.
  • Looks up today's lowest offer across retailers and compares it to the historical low and median for that product.
  • Labels each row buy now, watching, or skip based on whether today's price is at or below target and how it compares to past prices.
  • Writes today's lowest price, the best store, and the buy-or-watch label back into the same Airtable row.
  • Posts a single consolidated Slack message tagging each requester whose items are ready to buy, with the deal link and a one-line reason.
What do I need to use this?
  • An Airtable base with a wishlist table (suggested columns: Query, Product ID, Target Price, Requester Slack handle, Current Best Price, Best Store, Label, Last Checked).
  • A Real-Time Product Search subscription on RapidAPI for the live pricing and price history lookups.
  • A Slack workspace and the channel where the daily buy-now digest should post.
How can I customize it?
  • Change the run time or cadence, for example weekday mornings, twice a week, or only on Black Friday week.
  • Adjust the buy-now rule, for example require the price to be a set percent below the historical median, not just at or below the target.
  • Pick a different Slack destination, post to a #procurement channel, DM each requester individually, or only post when at least one item flips to buy now.

Frequently asked questions

Does each teammate need their own RapidAPI account?
No. The workflow uses one RapidAPI key for the Real-Time Product Search lookups. Individual teammates only need access to the Slack channel where the daily digest posts.
What if a wishlist row doesn't have a specific product ID?
The agent searches Google Shopping using the row's text query and picks the best matching product. If the row does have a product ID, it skips search and goes straight to the multi-retailer offer comparison for a more precise price.
Will the agent ever recommend buying above my target price?
No. Buy now is reserved for items at or below your target price and near their historical low. Anything trending down but still above target gets labeled watching so you can decide whether to wait or pull the trigger.
What if nothing on the wishlist is ready to buy that day?
You can have the agent stay quiet on days with no buy-now items, or post a short all clear message so you know it ran. That is one of the customization knobs.
Can I track items from a specific retailer only?
Yes. Add a preferred store column to the wishlist and ask the agent to filter the offers by that store before labeling. The price history check still uses the overall market for context.

Stop refreshing price tabs every morning.

Connect Airtable, Slack, and Real-Time Product Search once, and Geni runs your team's buy-watch every weekday at 7am.