Blog

How to Get One Daily Low-Stock Email From Shopify (Not One Email per Variant)

Why Shopify low-stock alerts arrive one variant at a time, and the ways to get a single daily list instead: a scheduled Flow workflow, an export, or an app.

Shrikrishna Joisa, Founder, Enki StudiosPublished

Shopify has no built-in report subscription, so no inventory report reaches your inbox on its own. The closest thing Shopify offers is a scheduled workflow in Shopify Flow, its free automation app. It runs at a time you pick, gathers the variants that are low, and sends them to you as one email. You can also export a report by hand, or use an app that sends the summary for you.

Why low-stock alerts arrive one variant at a time

Flow’s low-stock alert templates start from the Product variant inventory quantity changed trigger. Flow runs the workflow once for each variant, every time that variant’s stock changes. Each run that passes its condition sends its own email.

So an order with six items that each dip below your level sends six emails, and a busy sale day can fill an inbox.

If the condition only checks the current quantity, it gets worse. Shopify’s own example notes that the email then goes out on every order until the product is restocked. Checking the previous quantity as well stops the repeats (our Flow alert guide shows how), but each variant still sends its own message. Merchants in Shopify’s community forums report trouble with large orders, where one order with dozens of items can mean dozens of separate emails.

The way out is a different trigger. A scheduled workflow doesn’t react to each change. It runs once a day, looks at all your variants at that moment, and sends one list.

Option 1: start from Shopify’s low-stock summary template

Flow has a template built for this, Send weekly email summary with list of low stock variants. Shopify describes it as a workflow that runs on a schedule, gets a list of low-stock variants, counts them, and sends one email with each variant’s title and a link to it in your admin.

To make it a daily email (we checked these steps in Flow in October 2026):

  1. From your Shopify admin, go to Apps > Flow and click Browse templates.
  2. Search for “low stock”, open Send weekly email summary with list of low stock variants and click Install. It’s saved as a draft and stays off until you turn it on.
  3. Fix the schedule first. Despite its name, the template’s Scheduled time trigger starts out set to repeat every 10 minutes. Click it, set Start to tomorrow at 7:00 AM, and under Repeat set Repeat every to 1 and Frequency to days. Check the Time zone while you’re there.
  4. Set your low-stock level. It lives in the Run code step, as lowStockThreshold: 5 in the code. Change 5 to your number.
  5. Add the recipients. In Send internal email, enter the email address. To send to several people, separate the addresses with commas.
  6. Click Turn on workflow.

To test it, Shopify suggests setting the first run a few minutes ahead, checking the result, then changing the start time to the one you want.

The list comes from the Get product variant data step. In the template its query is inventory_quantity:<={{runCode.lowStockThreshold}}, which also picks up draft and archived products and gift cards. To leave those out, change it to inventory_quantity:<={{runCode.lowStockThreshold}} AND product_status:active AND gift_card:false. Type active in lowercase: in our test, ACTIVE matched nothing. Products that don’t track inventory can still match, because their quantity sits at or below zero. The same search has filters for vendor, collection, product type and tag, so you can narrow the list or run one summary per supplier.

Three things to know before you rely on it:

  • It stops at 100. Get data actions return up to 100 items per run. If more than 100 variants are low, some won’t be in the email.
  • A broken search can return everything. Shopify warns that when a query fails, the API often returns all results instead of none. A typo can turn your low-stock list into your whole catalog, so test first.
  • Quiet days. Shopify suggests checking that a count is above 0 before sending, so a day with nothing low doesn’t send an empty list.

If you only need to know what has already sold out, the Send daily email summary with out of stock products template does that every day. It lists products only after they hit zero, so it works as a check, not an early warning.

Option 2: list what runs out soon, with ShopifyQL

The template measures low stock in units, with the same level for every product. If you’d rather see what runs out soon, Flow’s Get analytics data action can run a ShopifyQL query, the same query language behind Shopify’s reports. It only works with the Scheduled time trigger.

Shopify’s inventory data in ShopifyQL includes days of inventory remaining. A query like this lists every variant expected to run out within 14 days, at its average pace over the last 28 days:

FROM inventory
SHOW ending_inventory_units, inventory_units_sold_per_day, days_of_inventory_remaining
WHERE inventory_is_tracked IS TRUE
GROUP BY product_title, product_variant_title
HAVING days_of_inventory_remaining <= 14
SINCE startOfDay(-28d) UNTIL today
ORDER BY days_of_inventory_remaining ASC

Line by line: read Shopify’s inventory data; show stock left, sales per day and days left; skip items without inventory tracking, such as gift cards; give one row per variant; keep only variants with 14 days or fewer; use the last 28 days of sales; put the most urgent first. Change 14 to roughly your supplier’s lead time.

A few things to know:

  • Flow checks the query for you. The query is validated when you save, and the workflow won’t turn on until it runs against your store. If Flow says it’s too complex, use a shorter date range or fewer columns.
  • The email needs a short loop. In the Send internal email step, you list each row of the result. Shopify’s Get analytics data help page shows a loop you can adapt by swapping in the column names from your query.
  • It’s the same math as the report. Days left is stock divided by average sales per day over the window you pick, like the Inventory remaining per product report. It doesn’t know your lead time, and variants with no sales in the window get no forecast.

If writing a query isn’t for you, Shopify suggests asking Sidekick to build a scheduled workflow. It puts together the Scheduled time trigger and the steps that fetch your data for you to review. Workflows Sidekick creates start turned off, so test it and turn it on yourself.

Option 3: export a report by hand

If a weekly look is enough, go to Analytics > Reports, open Inventory remaining per product, and use the report’s menu to export it as a CSV file. Sort the file by days remaining in a spreadsheet and you have a list.

It costs nothing and needs no setup. The catch is that nothing arrives by itself: someone has to remember to run it, and it gives days of stock left, not how many to order.

Option 4: an app that sends the summary

An app can read your sales and inventory and send a summary with no workflow to build or maintain. When you compare options, look at what the list is based on: a fixed number of units, or each product’s sales speed and your supplier’s lead time. Check too whether it counts stock that’s already on its way to you, so you don’t reorder something twice.

StockDigest is one of these apps: it sends one digest per store per day, at 7 AM store time unless you pick another hour. The digest lists what’s already out of stock, what will run out before a new order could arrive (with how many to reorder), what’s running low and what isn’t selling. 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.