Daily WooCommerce low-stock reorder report in Slack

Every weekday at 6am, get a Slack report of WooCommerce products running low, ranked by urgency with a suggested reorder quantity for each one.

Agentic Task
WooCommerceSlack BotOperationsSalesDaily DigestsNotifications & AlertsAI Reports

Every weekday at 6:00am in my local timezone, generate a smart low-stock reorder report from my WooCommerce store and post it to a Slack channel for the operations team. The trigger is a cron schedule.

Step 1 — Find low-stock products. Call the WooCommerce List Products operation and filter to items that are low or near zero stock (stock_status = 'lowstock' and items where stock_quantity is at or below the product's low_stock_amount, plus stock_status = 'outofstock' so we surface anything already at zero). Only include published, in-catalog products. Page through the results until all matching products are collected.

Step 2 — Compute sales velocity for each affected SKU. For each low-stock product, use the WooCommerce List Orders operation to pull orders from the last 30 days with status of 'processing', 'completed', or 'on-hold' (so we count real demand, not cancelled or refunded). Sum the units of that SKU sold across those orders and divide by 30 to get a daily sales velocity. Prefer batching by passing a date filter and iterating, rather than one request per product.

Step 3 — Derive the reorder recommendation. For each product, compute days_of_stock_remaining = current stock / daily velocity (treat zero velocity as 'no recent sales — skip from urgent list'). Compute recommended_reorder_qty = ceil(daily velocity × 30) − current stock, floored at 0. Flag any product with days_of_stock_remaining under 14 as urgent. Exclude products with zero sales in the last 30 days from the urgent list so we don't alert on slow movers.

Step 4 — Post the report to Slack via the Slack Bot Send a Message operation. Ask me for the destination channel during setup. The message should be a ranked table sorted by days_of_stock_remaining ascending (most urgent first), with columns: SKU / product name, current stock, daily sales velocity (rounded to 1 decimal), days remaining, and recommended reorder quantity. Use Slack mrkdwn formatting with a clear header like ':package: Low-stock reorder report — <date>', call out the count of urgent items at the top, and visually mark urgent rows (for example with a 🚨 prefix). If nothing is urgent, post a short 'all clear' message instead so the team knows the workflow ran.

Keep slow movers (zero recent sales) out of the urgent section but optionally include them in a small collapsed 'low stock, no recent sales' footer so they are still visible without being noisy.

Additional information

What does this prompt do?
  • Spots WooCommerce products that are low or near zero stock before they sell out
  • Looks at the last 30 days of orders to calculate how fast each SKU actually sells
  • Estimates days of stock remaining and a recommended reorder quantity sized to cover about 30 days of demand
  • Posts a ranked table to Slack every weekday morning so your ops team can act before lunch
  • Flags anything with under 14 days of stock as urgent, and quietly skips slow movers with no recent sales
What do I need to use this?
  • A WooCommerce store with REST API access (read access to products and orders is enough)
  • A Slack workspace and a channel where the report should be posted
  • A rough idea of which stock threshold counts as low for your business (you can tweak this anytime)
How can I customize it?
  • Change when the report runs, for example daily, only Mondays, or twice a week
  • Pick a different Slack channel or post into a private ops channel
  • Change the urgency threshold from 14 days to whatever your reorder lead time really is
  • Adjust the target coverage from 30 days to match your supplier cadence
  • Limit the report to specific product categories, brands, or warehouses

Frequently asked questions

Why is this better than the built-in WooCommerce low-stock email?
The built-in email only goes to your admin email address, uses one fixed threshold for every product, ignores how fast each item actually sells, and never tells you how much to reorder. This report posts to a Slack channel the whole ops team can see, ranks products by real sales velocity, and recommends a reorder quantity for each one.
Will it spam the channel with slow-moving products?
No. Products with zero sales in the last 30 days are excluded from the urgent list so you only see items that are actually moving and at real risk of stocking out.
How does it decide what to reorder?
For each low-stock product it counts how many units sold in the last 30 days, divides by 30 to get a daily sales rate, and recommends ordering enough to cover roughly the next 30 days at that rate. You can change the coverage window anytime.
Can I run this for just one category or brand?
Yes. When you set the workflow up you can scope the report to specific categories, tags, or product types, and leave the rest of the catalog out.
What if my team uses a different chat tool?
This prompt is built around Slack, but the same idea works for other destinations like email or a Google Sheet. Start from this prompt and tell the workflow author which destination you want instead.

Stop finding out about stockouts from angry customers.

Connect WooCommerce and Slack once, and Geni posts a ranked low-stock reorder report to your ops channel every weekday at 6am.