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.
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?
Will it spam the channel with slow-moving products?
How does it decide what to reorder?
Can I run this for just one category or brand?
What if my team uses a different chat tool?
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.