Blog

Shopify Flow Low-Stock Alerts: Setup, Limits and Common Fixes

Set up a low-stock email in Shopify Flow using the trigger, condition and action names you’ll see, then fix repeat emails, missing emails and alert overload.

Shrikrishna Joisa, Founder, Enki StudiosPublished

Shopify Flow is Shopify’s own way to email you when stock runs low. It’s a free app on the Basic, Grow, Advanced and Plus plans, and a low-stock alert has three parts: a trigger, a condition and an email. Below is the setup with the names you’ll see in Flow, the limits to know before you rely on it, and fixes for common problems.

Before you start

Install Shopify Flow from the Shopify App Store, then open it from Apps > Flow. Decide two things first: the stock level that should set off an alert (say, 5 units), and who should get the email.

The quick way: install the template

  1. In Flow, click Browse templates.
  2. Find Get notified by email when product variant inventory is low and click Install. It’s saved as a draft and stays off until you turn it on.
  3. Open the Condition. It already checks both the new quantity and the previous one (step 2 below explains why), with a level of 20 in both checks. Change both to your level.
  4. In Send internal email, add your email address. The template leaves it empty.
  5. Click Turn on workflow.

There’s also Initiate reorder with vendor when inventory gets low, which emails your supplier instead of you. Read the message before you turn it on, because your supplier gets exactly what the workflow sends.

Build the alert yourself, step by step

Building it from scratch takes a few more clicks, but you’ll know how every part works when something needs fixing.

  1. Trigger. Click Create workflow, then Select a trigger, and choose Product variant inventory quantity changed. Its old name, still used in some guides, is “Inventory quantity changed”. It runs every time one variant’s stock changes, whether from an order, a manual edit or an app.
  2. Condition. Click +, then Condition, and add two checks joined with AND:
    • Product variant inventory quantity is less than or equal to 5
    • Inventory quantity prior is greater than 5
  3. Action. On the True branch, click +, then Action, and choose Send internal email. Fill in Email address (separate several addresses with commas), Subject and Message. Put the product and variant names in the message so the email says what to reorder.
  4. Turn it on. Give the workflow a name and click Turn on workflow.

The two checks in step 2 matter most. In plain words: stock is now at or below your level, and it was above your level before this change. Shopify’s own workflow examples use this pattern, because checking only the current quantity sends an email on every sale until you restock.

Example. Your level is 5, and Stoneware Mug · Ash has 7 in stock.

An order for 2 leaves 5. It was 7 before and 5 now, so one email goes out.

The next order leaves 4. It was 5 before, which isn’t above your level, so no email.

You restock to 30. When it sells back down to 5, you get one new email.

To test it, change a product’s stock in your admin so it crosses your level, then open Recent runs in Flow to see what happened.

Limits to know before you rely on it

Some limits come from how Flow works:

  • One run per variant, per change. Five variants crossing your level means five emails, even when one order caused all of them.
  • One level you type in. The template checks every variant against the same number, whether it sells one a month or ten a day.
  • Fixed addresses. The Email address field can’t use variables, so an alert can’t go to that product’s supplier automatically. Every address is typed in.
  • Store-wide totals. The quantity is the variant’s total. To check a single location, Shopify points to productVariant / inventoryItem / inventoryLevels / available, with location / name under the same path to pick the location.
  • Untracked products count. The trigger runs even for products with inventory tracking turned off.
  • Two weeks of history. Flow keeps workflow runs for 14 days.

Others are what merchants report in Shopify’s community forums, rather than documented limits:

  • one email per variant, which adds up fast on a store with many variants;
  • trouble limiting alerts to a single collection;
  • large orders, where one order with dozens of items can set off a pile of separate emails;
  • no view of stock that’s already on its way, so an alert can’t tell whether you’ve already reordered.

Common problems and how to fix them

I get an email on every sale

The condition only checks the current quantity. Add the second check from step 2, so the alert fires only when stock crosses your level.

No email arrives

Work through these in order:

  1. Is the workflow on? Workflows installed from a template, and ones Sidekick builds for you, stay off until you click Turn on workflow.
  2. Did it run? In Flow, open Recent runs and filter by Errors or Actions taken. From a product or variant in your admin, More actions > Search Flow runs finds runs for that item.
  3. Did stock cross your level? With the two-check condition, a product that was already below your level when you turned the workflow on won’t alert until it’s restocked above the level and sells back down.
  4. Did the email get filtered? Shopify’s Send internal email page suggests checking that your sender email address is set up and that your mail app isn’t filtering messages from it. If the sender shows “via shopifyemail.com”, your domain may need extra authentication.

Alerts for products I don’t reorder

Add a check to the condition that narrows the list, such as a product tag (for example, only products tagged “reorder”), a vendor or a product type. Tagging the products you actually reorder also keeps gift cards and made-to-order items out of your inbox.

I only want alerts for one collection

Merchants report trouble filtering Flow workflows by collection. Two ways around it: tag the products in that collection and check the tag in your alert, or use a scheduled summary instead. Its variant search accepts collection: followed by the collection’s ID, the number at the end of the collection’s address in your admin.

One big order sent a pile of emails

That’s the per-variant trigger working as designed. If you’d rather get one list a day, a scheduled workflow does that: see how to get one daily low-stock email from Shopify.

I want to know when the workflow breaks

Install the Get notified by email when workflow run errors are detected template. It uses the Workflow error occurred trigger and sends one notification per workflow version, so a broken alert doesn’t turn into a flood of error emails.

When one email a day works better

Flow alerts suit a short list of products that need action the same day. For a whole catalog, one list a morning is usually easier to act on than a stream of separate emails.

StockDigest works from that daily schedule, with no workflow to maintain. Each morning it emails one digest: what’s already out of stock, what will run out before a new order could arrive (with how many to reorder), and what’s running low. Reorder amounts come from each product’s sales speed, your lead time and cover days, minus stock already in transit to you. On days with nothing to report, no email is sent, and that day’s digest is still in the app.