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
Stage a batch of filings overnight, then approve each completed form from a screenshot before anything is ever submitted.
Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.
Review every conversation Fin closed as resolved, judge which ones actually stuck, and see what the gap is worth against your bill.
Merge your IT, HR and Facilities queues into one list ranked by SLA time left, then reply, change status and escalate without ever opening Jira.
See every page's translation status at a glance, edit translations side by side with the English, and publish only what your team has actually approved.
One place for sales and ops to request an NDA or vendor agreement, watch its status, and let legal launch the contract in a single click.
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.