Daily reorder brief for ShipHero SKUs about to sell out

Every weekday at 7am, see which products are about to run out, how many days of stock are left, and how much to reorder, grouped by supplier.

Agentic Task
ShipHeroSlackGoogle SheetsOperationsDaily DigestsNotifications & AlertsAI Reports
PromptCreate

Every weekday at 7am, build me a prioritized reorder brief from ShipHero so I can see which SKUs are about to stock out while there is still time to do something about it.

Start with current stock. Use the ShipHero "List warehouse products" operation to pull every SKU's on-hand quantity, reorder level and reorder amount. Stock in ShipHero lives on the warehouse product record rather than on the product itself, so this has to be scoped to a warehouse. Run it per warehouse and say which warehouse each section of the brief covers. Page through the results with an explicit page size instead of assuming a single call returns everything.

Then work out how fast each SKU is actually moving. Use the ShipHero "List shipments" operation for the last 30 days and add up the units shipped per SKU from the shipment line items. Shipments are the best available signal for real outbound demand. Daily velocity is total units shipped in the window divided by 30. Days of cover is on-hand quantity divided by daily velocity.

Only include SKUs with fewer than 21 days of cover. If a SKU had no shipments at all in the last 30 days, treat its cover as unlimited and leave it out of the ranking, unless its on-hand quantity is already at or below its reorder level. In that case list it in a short separate section labelled as no recent movement but below reorder level, so I can decide what to do without it crowding out the genuinely urgent items.

For the recommended reorder quantity, work out what it takes to get the SKU back to roughly 45 days of cover: daily velocity multiplied by 45, minus current on-hand, rounded up to a sensible whole number. If ShipHero has a reorder amount set for that SKU and it is larger than your calculation, use the reorder amount instead. Never recommend less than the configured reorder amount.

Group the results by vendor, using the ShipHero "List vendors" operation to resolve the vendor on each product, so that one purchase order can cover several SKUs at once. Order the vendor groups by whichever contains the soonest stockout, and within each group rank SKUs by days of cover ascending.

Post the brief to Slack with the "Send a Message" operation. Open with a one line summary: how many SKUs are at risk, across how many vendors, and the single soonest stockout. Then one section per vendor, and one row per SKU showing SKU, product name, on-hand, daily velocity, days of cover and recommended reorder quantity. Keep it scannable in a Slack channel rather than writing prose, and close by telling me I can reply approving a vendor by name.

Append the same rows to a Google Sheet with the "Append Values" operation, one row per SKU per run, with columns for run date, warehouse, vendor, SKU, product name, on-hand, daily velocity, days of cover and recommended quantity. This is how we build a restock history over time, so keep the column order stable between runs.

Do not create any purchase order automatically. Wait for me to reply. When I reply approving a specific vendor's list, use the ShipHero "Create purchase order" operation against that vendor with the approved SKUs and their recommended quantities. If I approve with changes, such as different quantities or dropping a SKU, use my numbers rather than yours. Once the purchase order exists, confirm back in the same Slack thread with the purchase order number and the vendor it went to. If I never reply, do nothing and let the next run pick it up.

One practical note: the ShipHero API is credit based and will throttle heavy runs. Request sensible page sizes, and if a throttling error comes back carrying a wait time, wait that long and retry rather than failing the whole brief.

Example output

Reorder brief: Main Warehouse: Tuesday 12 Aug 11 SKUs under 21 days of cover across 4 suppliers. Soonest stockout: AMB-CNDL-08 in 4 days. Northwind Supply (3 SKUs, most urgent) AMB-CNDL-08 Amber Candle 8oz on hand 62 14.2/day 4.4 days reorder 580 AMB-CNDL-12 Amber Candle 12oz on hand 90 9.8/day 9.2 days reorder 350 WCK-TRIM-01 Wick Trimmer on hand 140 7.1/day 19.7 days reorder 180 Harbor Goods (2 SKUs) LIN-SPRY-16 Linen Spray 16oz on hand 45 5.6/day 8.0 days reorder 210 LIN-SPRY-08 Linen Spray 8oz on hand 88 4.9/day 18.0 days reorder 135 Reply "approve Northwind" to raise that purchase order in ShipHero.

What does this prompt do?

  • Checks your warehouse stock every weekday morning and works out how fast each product is actually selling
  • Ranks the products closest to selling out by days of stock remaining, rather than by a fixed low-stock number
  • Groups at-risk products by supplier so a single purchase order can cover several items at once
  • Posts the brief to Slack and saves every run to a Google Sheet, building a restock history over time
  • Creates the purchase order in ShipHero only after you reply approving a supplier's list

What do I need to use this?

  • A ShipHero account with stock tracked in at least one warehouse
  • Suppliers assigned to your products in ShipHero, so the brief can group items into one order per supplier
  • Reorder levels and reorder amounts on your products (optional, but the recommendations get sharper with them)
  • A Slack workspace and a channel where the morning brief should land
  • A Google Sheet to collect the restock history

How can I customize it?

  • Change the timing: run it every weekday, every day, or just once a week before you place orders
  • Move the risk threshold: 21 days of stock is the default, so drop it to 14 if your suppliers deliver quickly or raise it to 45 for overseas lead times
  • Adjust the top-up target: by default each product is restocked to roughly 45 days of cover
  • Point it at a second warehouse, or send each warehouse's brief to a different Slack channel

FAQs

How is this different from ShipHero's built-in low stock notifications?
ShipHero alerts you when a product drops below a fixed number of units. This brief looks at how fast each product is actually selling, so a fast mover with 100 units on hand can rank as more urgent than a slow one with 10 left. It also arrives in Slack instead of email and groups items by supplier so you can act on it right away.
Does this work if I run a 3PL with several brands?
Yes, and it is especially useful there. ShipHero's own low stock notifications have to be switched on inside each child account and are not sent at the 3PL account level, so a scheduled brief that reads across accounts is usually the only way to get one consolidated view of what is running out.
Will it place orders with my suppliers without asking?
No. The morning brief is read-only. Nothing is ordered until you reply approving a specific supplier's list, and you can approve it as it stands or change the quantities and drop items first.
What happens to products that have not sold recently?
If a product had no shipments in the last 30 days it is not at risk of running out, so it is left out of the ranking. If it is already sitting at or below its reorder level it gets flagged separately so you can still decide what to do with it.
Do I need reorder levels set up in ShipHero before this is useful?
No. The days of stock calculation is based on real sales activity, so it works on products with nothing configured. Reorder levels and reorder amounts are used as a floor for the recommendation when you have them.

Related templates

Auto-fix your calendar when a flight slips, and flag what's at risk

When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.

Google Calendar
AviationStack
Slack
Agentic Task
Trace phishing emails to the sending IP and report abuse

Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.

AbuseIPDB
Gmail
Slack
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Turn each week's football fixtures into a venue staffing plan

Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.

API-Sports
Google Calendar
Slack
Agentic Task

Stop hearing that a product is out of stock from a customer.

Get a ranked, supplier-grouped reorder brief in Slack every weekday morning, with the purchase order one reply away.