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.
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
FAQs
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?
Related templates
Every logo, photo, video cut and ad export in one searchable grid, with previews, campaign tags and rights expiry dates at a glance.
Twice a day we spot the people clicking your pricing and demo pages, create a follow-up task for their owner, and post a ranked recap to Slack.
One board showing every dashboard and Look with its folder, owner and favorite count, so you can find dead content and retire it safely.
Watch every live room on one screen, remove disruptive guests, start recordings and end stuck sessions without anyone opening a terminal.
Every Monday we find leads who never bought, research a real reason to reach out, and send a short personal email instead of another check in.
See the exact hours your chat queue backs up and customers give up waiting, then plan next week's shifts before it happens again.
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.