Low-Stock Alert: never oversell again — a ping before inventory hits zero
An n8n workflow that checks your Shopify inventory levels twice a day, flags every variant below its reorder threshold, and sends one consolidated Telegram message listing exactly what to reorder — instead of you discovering stockouts from angry customer emails.
- 1
Check twice a day
Add a
Schedule Triggerset to 08:00 and 18:00. Morning catches overnight sales, evening catches the day's — enough for most stores without being noisy. Dropshipping with volatile suppliers? Bump it to every 4 hours. - 2
Pull inventory levels
Add a
Shopifynode, resourceProduct, operationGet Manywith variants included. Each variant carriesinventory_quantity. Use a custom-app token with only theread_productsandread_inventoryscopes. - 3
Filter what's below threshold
A
Codenode walks every variant and keeps those whereinventory_quantity <= reorder_at(metafield or the global default). It also sorts by how far below threshold each item is, so the most urgent reorder tops the list. - 4
Send one clean digest
An
IFnode checks the list isn't empty, then aTelegramnode sends:📦 Low stock (3): Phone Case Black — 2 left (reorder at 10) · Charger 20W — 4 left · Cable 1m — 5 left. Forward it straight to your supplier chat and you're done.
Frequently asked questions
Can each product have its own threshold?
Yes — the workflow reads an optional `reorder_at` metafield per product; anything without one falls back to the global threshold you set in the Code node (default 5 units). Fast movers get a threshold of 20, slow movers 2, and the alert stays meaningful.
Why a digest instead of one alert per product?
Because alert fatigue kills automations. Ten separate 'low stock!' pings get muted within a week. One message listing all low items twice a day gets read for years. The IF node also skips the message entirely when nothing is low — silence means all good.
Does this work with WooCommerce?
Yes — replace the Shopify node with n8n's WooCommerce node (operation: Get All Products) and keep the threshold logic and Telegram step identical. The workflow file includes a note where to swap.