Shopify Flow is the automation tool built into Shopify: a trigger, some conditions, one or more actions, no code. It has been available on Basic plans and above for a while, and since the Winter 2026 Edition Sidekick can build a Flow workflow from a sentence. That second part changed who uses it. Flow used to be a Plus feature that agencies configured; now a merchant can describe the rule they want, review the workflow Sidekick drafts, and switch it on.
This post covers the six workflows we would put on any store, in the order we would add them. Each one removes a task from the daily routine described in the morning routine post. For each we give the prompt that builds it, and one rule that applies to all of them: ask Sidekick to create the workflow inactive, review it in the Flow editor, then turn it on. Automations that change data should never go live unread.
How Sidekick and Flow fit together
A skill runs when you type it. A Flow runs when something happens in the store. That is the difference, and it decides which to use. The weekly review is a skill because you want to read it. “Tag the customer VIP when their spend passes 500” is a Flow because you want it to happen at 2am on a Sunday without you.
Sidekick’s role is to write the workflow. You describe the trigger, the conditions and the actions in plain language; Sidekick checks Flow is installed, drafts the workflow, and tells you where to review it. If your description is precise, the draft is usually right first time. If it is vague, Sidekick guesses, which is why every prompt below spells out the exact condition.
1. Tag VIP customers when they cross a spend threshold
The most-requested Flow, and the foundation for early access, loyalty tiers and win-back segments.
Build a Shopify Flow workflow. Trigger: order paid. Conditions: the customer’s total spent is greater than or equal to [AMOUNT], and the customer’s tags do not contain vip. Action: add the customer tag vip. Create the workflow turned off and tell me where to review and activate it. Do not tag existing customers retroactively.
Why the second condition matters: without it the action fires on every order from an existing VIP, which is harmless but noisy. The last sentence matters too: Flow only evaluates future orders, so customers who already qualify need a one-time segment, which /vip-segment builds. Save the builder as /flow-vip-tag.
Variation for low-price stores: use order count instead of spend, “customer’s number of orders is greater than or equal to 5.”
2. Low-stock alert, once per variant
Sidekick can list low stock on demand, but the moment a best seller drops below your threshold at 4pm on a Friday, you want an email, not a report you run on Monday.
Build two Flow workflows. First: trigger inventory quantity changed; conditions inventory quantity is less than [NUMBER] and the product’s tags do not contain low-stock-alerted; actions send an internal email to [EMAIL] with the product title, variant, SKU, quantity and location, then add the product tag low-stock-alerted. Second: trigger inventory quantity changed; condition inventory quantity is greater than [NUMBER times 3]; action remove the product tag low-stock-alerted. Create both inactive.
The tag is what stops the alert repeating on every sale after the first. The second workflow clears the tag after a restock so the alert can fire again next time. Save as /flow-low-stock. Multi-location stores: the condition evaluates per location change, so add “at location [NAME]” if only one warehouse matters.
3. Hold high-risk orders before they ship
Fraud guides from Shopify and payment providers make the same point: reviewing flagged orders before fulfilment is where chargebacks are prevented, and holding before capture avoids paying processing fees on an order you will cancel. For a small store with auto-fulfilment or a 3PL, this Flow is the difference between reviewing risk and discovering it.
Build a Flow workflow. Trigger: order created. Condition: order risk level is high. Actions: hold the fulfilment order with the reason “Fraud review”, add the order tag review-risk, and send an internal email with the order number, total, customer email and the risk indicators. Optionally add a second branch for medium risk where the order total is more than 3 times the average order value that only adds the tag. Create it inactive. Do not cancel or refund anything.
Save as /flow-fraud-hold. Pair it with the daily /risky-orders check: the Flow stops the order, the check tells you what to verify.
4. Follow up after delivery
Reviews and repeat purchases both depend on timing, and the right time is a few days after the parcel arrived, not a few days after it shipped. Flow can wait.
Build a Flow workflow. Trigger: order delivered (or fulfilment event with status delivered if that trigger is unavailable). Wait [DAYS] days. Condition: the order is not refunded. Action: add the order tag followup-due. Create it inactive and tell me how a Shopify Email automation or my review app can use the tag.
The tag is the hand-off: Shopify Email, Klaviyo and most review apps can trigger on an order tag. If your carrier does not report delivery events, use “fulfilled plus 7 days” instead. Save as /flow-followup.
5. Flag customers after a chargeback
Fraud roundups for 2026 note that repeat fraud tends to come from the same accounts, so the second attempt is the one you can catch. This Flow makes sure it gets a second look.
Build a Flow workflow. Trigger: a dispute or chargeback is created on an order. Actions: add the customer tag chargeback-risk and add a note to the customer with the order number and date. Create it inactive.
Then extend workflow 3 with a condition: “or the customer’s tags contain chargeback-risk.” Now every future order from that customer holds for review automatically.
6. Tag orders that need special handling
Pre-orders, wholesale orders, gift orders, orders with a specific product that ships from elsewhere: anything your fulfilment team has to treat differently should be tagged at creation so it is filterable.
Build a Flow workflow. Trigger: order created. Condition: any line item’s product is tagged pre-order. Action: add the order tag pre-order and add a note “Contains pre-order item; do not fulfil before [DATE]”. Create it inactive.
For the backlog of existing orders that predate the Flow, /tag-orders finds matches and tags them in bulk after showing you the list.
Rules for running Flows safely
- Create inactive, read, then activate. Every prompt above says so. Open the workflow in Flow, read each condition, and check the action on one real order in your head before switching it on.
- One job per workflow. A Flow that tags VIPs and emails the warehouse and posts to Slack is hard to debug. Three Flows are not.
- Name them by what they do. “Tag VIP at 500 spend”, not “Workflow 3”. Sidekick will name them if you ask.
- Use tags as hand-offs. Tags are how Flow talks to Shopify Email, review apps, segments and your own filters. Keep them lowercase and short.
- Test with a real event. Place a test order that meets the condition. Flow shows a run history; check the run did what you expected.
- Review after each Shopify Edition. Triggers and actions change. The Spring 2026 Edition added Flow testing inside Sidekick, which makes this quicker.
What Flow cannot do
Flow acts inside Shopify. It cannot read your ad platform, send through Klaviyo directly (it hands off with a tag), or make judgment calls; a Flow that “refunds if the customer seems upset” is not a thing, and should not be. Anything that needs a decision stays a skill you run, and anything customer-facing that goes out under your name deserves a human read. The complete Sidekick guide has a section on where to draw that line for a team.
Six workflows, an afternoon to set up with Sidekick writing the drafts, and the morning routine loses three of its four checks. That is the trade.
When a Flow does not fire
Every merchant who builds their first few Flows hits one that seems to do nothing. The causes, in the order to check them:
- It is still inactive. The prompts above create workflows turned off on purpose. Open Flow and check the toggle.
- The trigger is not the event you think. “Order created” fires before payment; “order paid” fires after. A VIP rule on “order created” counts unpaid orders. Pick the trigger that matches the moment you care about.
- A condition is stricter than intended. “Tags do not contain vip” is case-sensitive; “VIP” and “vip” are different tags. Keep every tag lowercase and it never bites.
- The action hit a permission wall. Some actions, such as sending email through a connected app, need that app installed and authorised. Flow’s run history says which step failed.
- It fired, but on the wrong object. The low-stock workflow triggers per inventory change per location. On a store with three locations it can fire three times or, if the condition points at a location that never changes, never. Add the location to the condition.
Flow keeps a run log for every workflow. When something looks wrong, read the last run before editing anything; nine times out of ten the log names the step. And after every Shopify Edition, run one test event through each workflow you rely on. Triggers do get renamed.