Guides › Shopify Flow alerts
Building a low stock alert with Shopify Flow
Shopify Flow is the free native way to get a low stock email. It is a genuine option and worth building before you pay for anything. This is the setup, then an honest account of where it stops being the right tool.
Last reviewed 16 August 2026
Availability. Shopify Flow is a free app on the Basic, Grow, Advanced and Plus plans. If you are on a paid Shopify plan you already have access to it.
Building the workflow
- Install Flow. Search for Shopify Flow in the App Store and add it. It is published by Shopify and free.
- Create a workflow and pick the inventory quantity changed trigger. This fires whenever stock moves, which is what you want as the starting point.
-
Add a condition. Set the variable to
productVariant/inventoryQuantity, the operator to less than or equal to and the value to your threshold number. - Add the action. Send internal email, addressed to whoever should act on it. Put the product title and the quantity in the body so the email is useful without opening admin.
- Turn it on and test it against one real product before assuming it works.
Testing it. Temporarily set the threshold above a real product's current stock and adjust that product's quantity by one to make the trigger fire. Confirm the email arrives and is not filtered, then put the threshold back.
Where Flow starts to strain
None of these make Flow a bad tool. They are the reasons stores eventually move off it.
- The threshold lives in the workflow, not on the product. One number applies to everything the workflow covers. Products with different lead times need different workflows and that count grows quickly.
- It triggers per variant. A product with ten variants can produce ten separate runs, which is noisy when a whole size range drops together.
- Location handling is awkward. Getting a clean per location alert requires more condition logic than most people want to maintain.
- There is a cap on actions per workflow, which limits how much routing you can build into one place.
- No digest. Flow is event driven, so you get interrupts. Building a daily summary of everything currently low is not what it is shaped for.
- No repeat suppression by default. Without extra care, stock hovering around the threshold can email you repeatedly as it crosses back and forth.
Flow or an app: how to decide
Stay on Flow when:
- You have one location.
- One threshold across the catalogue is close enough.
- You are comfortable maintaining workflows.
- One or two people need the email.
Move to an app when:
- You are maintaining more workflows than you can remember.
- Stock sits in several places and you need the alert judged per location.
- You want a digest as well as interrupts.
- The repeated near threshold emails have started getting ignored, which is the point an alerting system has quietly stopped working.
When the workflow count gets out of hand
Stockwell handles per SKU thresholds, every location separately and a daily summary without a workflow to maintain for each case. Start on the free plan and keep Flow running alongside while you compare.
Get Stockwell on the Shopify App Store Free plan covers 50 SKUs with a daily summary. Paid plans add instant alerts and more recipients. No card needed to start.Common questions
Is Shopify Flow free?
Yes. Flow is a free app available on the Basic, Grow, Advanced and Plus plans. Some individual actions, such as sending an HTTP request, are restricted to the higher plans.
Can Shopify Flow send low stock alerts per location?
It can be built, but it takes more condition logic than most merchants want to maintain and it gets harder as you add locations. This is one of the more common reasons stores with several warehouses move to a dedicated app.
Why is my Flow alert firing repeatedly for the same product?
Because the trigger fires on every inventory change, so stock moving back and forth across the threshold re emails you each time. It also fires per variant, so a product with many variants multiplies the messages. Suppressing repeats needs extra logic in the workflow.