Guide
How to get a low stock email in Shopify (free Flow recipe)
Shopify does not email you when a product runs low. Staff notifications cover orders, returns and disputes, not inventory. You have two options: a free Shopify Flow workflow, or an app. Here is the Flow recipe, step by step, and where it stops.
The Flow recipe: one email when a variant drops to 5
- Install Shopify Flow from the Shopify App Store. It is free on every plan.
- Create a workflow and pick the trigger “Product variant inventory quantity changed”.
- Add a condition with two lines joined by AND: productVariant.inventoryQuantity is less than or equal to 5, and inventoryQuantityPrior is greater than 5.
- Add the action “Send internal email” with your address.
- Turn the workflow on, then change the inventory of a test variant to check that the email arrives.
The second condition line is the important one. Without it, every sale below 5 sends another email: 5, then 4, then 3. With it, you get one email when the stock crosses the line, and nothing while it sits below.
A useful email subject and body:
Subject: Low stock: {{product.title}} – {{productVariant.title}}
{{product.title}} ({{productVariant.title}}, SKU {{productVariant.sku}})
has {{productVariant.inventoryQuantity}} left.Alerting on one location only
productVariant.inventoryQuantity is the total across all locations. If your shop floor runs out while the warehouse is full, the recipe above stays silent. To watch one location, replace the first condition with “At least one of productVariant.inventoryItem.inventoryLevels”, where location.name is your location and available is less than or equal to 5.
Caveat: inventoryQuantityPrior is still the total, so Flow cannot tell that this location just crossed the line. Expect a repeat email on every change while that location stays low.
Where the Flow approach stops
- One number for everything. Five units of a slow seller is months of stock; five units of your best seller is tomorrow. Different thresholds mean more conditions or more workflows.
- No sense of pace. Flow sees a quantity, not how fast it sells, so it cannot warn you a week before you run out.
- One email per variant, as it happens. No weekly list of what to reorder and how many.
- Per-location alerts repeat, as explained above.
For a small catalog with similar products, Flow is enough. Keep it. The limits start to hurt when products sell at very different speeds.
Days of stock: the number that fixes the threshold problem
Instead of a fixed quantity, alert on how many days the stock will last at the current pace:
days of stock = available units ÷ average units sold per day (last 30 days) reorder quantity = average daily sales × (supplier lead time + days you want covered) − available units
Example: 40 units left, 2 sold per day → 20 days of stock. With a 10-day lead time and 30 days to cover, order 2 × (10 + 30) − 40 = 40 units. Use a 30-day window, not last week: one promotion or holiday will skew a short window.
Shopify Analytics has a “days of inventory remaining” report you can open, but it does not alert you. That gap is what a dedicated app fills.
If you would rather not build it
We make Stock Alert App, so we are biased. It does the recipe above without Flow: one email when a variant hits your threshold, an alert a few days before a variant runs out at its own pace with the quantity to reorder, and a Monday restock list. It is free with no variant limit, and it reads inventory only, never orders or customers. If the Flow workflow already covers you, you do not need it.