Shopify Flow is included on most Shopify plans, and a small set of well-built workflows can take hours of repetitive admin off your team every week. The ones that pay off first cover inventory, customer tagging, risky orders and team alerts. Below are the Shopify Flow examples I set up on almost every store, with the trigger, condition and action for each.
What Shopify Flow can and cannot do
Flow is Shopify’s built-in automation app. Every workflow has three parts:
- Trigger: an event in your store, such as an order being created, inventory changing, a new customer, or a scheduled time.
- Condition: a check on the data from that event, such as order total, product tags, customer order count or risk level.
- Action: what happens next, such as adding a tag, hiding a product, holding fulfillment, updating a metafield, sending an internal email or Slack message, or calling another app.
It also includes a template library, “Get data” steps that pull lists of orders, products or customers on a schedule, and a code step for logic the visual editor can’t express. Apps with Flow connectors add their own triggers and actions.
What it doesn’t do well:
- Change what shoppers see at checkout. Flow reacts after events happen. Checkout logic belongs in Shopify Functions and checkout extensions.
- Replace an ERP or inventory system. It can alert and tag, but purchasing decisions shouldn’t live there.
- Run long chains across outside tools. It can send HTTP requests, but multi-system data mapping and error handling get awkward fast. The comparison of n8n vs Zapier vs Make covers the tools built for that.
- Guarantee exact timing. Runs are asynchronous, so don’t depend on a workflow firing at a precise moment.
My rule of thumb: if the trigger and the action both live in Shopify, use Flow. If most steps happen elsewhere, use a general automation tool and let Flow hand off.
The starter set at a glance
| # | Workflow | Trigger | Condition | Action |
|---|---|---|---|---|
| 1 | Low-stock alert | Inventory quantity changed | At or below reorder point, not already tagged | Email purchasing, tag product |
| 2 | Hide sold-out products | Inventory quantity changed | All variants at zero, overselling off | Unpublish, tag flow-auto-hidden |
| 3 | Republish restocked products | Inventory quantity changed | Stock above zero, has flow-auto-hidden | Publish, remove tag |
| 4 | Tag first-time buyers | Order created | Customer order count is 1 | Add customer tag |
| 5 | Tag VIP customers | Order paid | Amount spent above your threshold | Add customer tag |
| 6 | Tag by category purchased | Order created | Line item product type matches | Add customer tag |
| 7 | Hold high-risk orders | Order risk analyzed | Risk level high | Tag, hold fulfillment, notify |
| 8 | Review medium-risk, high-value orders | Order risk analyzed | Medium risk and total above threshold | Tag, notify reviewer |
| 9 | High-value order alert | Order created | Total above threshold | Slack message |
| 10 | Order note alert | Order created | Note is not empty | Tag order, notify packing |
| 11 | Late fulfillment digest | Scheduled, daily | Unfulfilled orders older than your SLA | One summary email |
| 12 | Large refund alert | Refund created | Refund above threshold | Notify finance or ops |
Inventory and merchandising workflows
Low-stock alerts that people actually read
Use the inventory quantity changed trigger. Instead of hard-coding one threshold for the whole catalog, store a reorder point on each product or variant in a metafield and compare stock against it, using a code step if the condition editor can’t reference the metafield directly, so a fast seller and a slow seller don’t share the same trigger level.
The detail most stores miss: add a condition that the product isn’t already tagged flow-low-stock, and add that tag in the action. Without it, every sale below the threshold sends another email, and within a week nobody opens them. Remove the tag once stock climbs back above the reorder point so the next alert can fire.
Include the SKU, vendor, quantity and a product link in the email so the buyer can act immediately.
Hiding and republishing sold-out products
Sold-out products sitting at the top of collections waste the most valuable slots on the page. Workflow 2 unpublishes a product from the online store when every variant hits zero and overselling is off. Workflow 3 reverses it when stock returns, but only for products carrying the flow-auto-hidden tag, so it never republishes something a merchandiser hid on purpose.
One caution: an unpublished product’s page stops loading. For bestsellers with search traffic that will restock soon, keep the page live with a back-in-stock signup instead. Reserve auto-hiding for discontinued items, seasonal lines and products with little organic traffic.
Customer tagging and segmentation
Customer tags are how Flow hands information to everything else: segments, discounts, your email platform and your support desk. Shopify’s customer segment editor can already filter on order count and amount spent, so use tags when the label needs to travel to another app or trigger something.
The three workflows worth having on day one:
- First-time buyers: tag on the first order so your welcome series and support team can treat them differently.
- VIPs: tag when lifetime spend crosses a threshold set from your own data, for example the spend level of your top 5-10% of customers.
- Category purchased: tag
flow-bought-skincareor similar from the line items, so cross-sell campaigns can target buyers of one category but not another.
Two habits keep tags usable:
- Prefix every tag a workflow writes, such as
flow-vip. You can then tell at a glance which tags automation owns and which a person added by hand. - Pair every add with a removal rule. Tags that are only ever added become wrong. A scheduled workflow that tags customers whose last order is older than your normal repurchase window, and clears that tag when they buy again, keeps “lapsed” meaningful. Get data steps return a limited number of records per run, so filter the query tightly.
Fraud and high-risk order handling
The order risk analyzed trigger fires after Shopify’s fraud analysis finishes, which makes it the right starting point rather than order created.
For high-risk orders, workflow 7 does three things: adds a flow-risk-high tag, places a hold on the fulfillment order so the warehouse can’t ship it, and emails a reviewer with a link to the order. The reviewer checks the usual signals, such as billing and shipping mismatch, card verification results and order history, then releases the hold or cancels.
Workflow 8 handles the gray zone. Holding every medium-risk order buries the team, so only flag medium-risk orders above a value where a chargeback would really hurt.
Mistakes to avoid:
- Auto-canceling from day one. Flow can cancel, refund and restock in one action, but false positives cost you real customers. Review a few weeks of flagged orders first.
- Two systems making the same decision. If a fraud app also cancels or holds orders, let one system own that call and have the other only tag or notify.
- Capturing payment before review. If high-risk orders are a regular problem, manual or delayed capture lets you void an authorization instead of refunding a completed charge.
Operations alerts for the team
An alert is only worth sending if someone has a specific thing to do when it arrives. Route alerts to a channel owned by a role, such as #orders-priority, not to one person’s inbox.
- High-value orders: a Slack message so someone can add a handwritten note or double-check the address.
- Order notes: tag the order and notify packing. Gift and delivery instructions are easy to miss on a packing slip.
- Late fulfillment: a scheduled daily run that gets unfulfilled orders older than your promised handling time and sends one digest email. One summary beats fifty individual alerts.
- Large refunds: notify finance or ops when a refund crosses a threshold, which catches both mistakes and patterns.
Connecting Flow to Klaviyo and other apps
There are three ways to get Flow’s output into other tools:
- Tags and metafields. Flow writes them and other apps read them. Klaviyo’s Shopify integration syncs customer tags to profiles, so a
flow-viptag can define a Klaviyo segment that triggers early access or VIP-only offers. The Klaviyo flows ranked by revenue impact show where those segments earn their keep. - App connectors. Klaviyo, helpdesks, review platforms and many other apps offer Flow connectors that add triggers, actions or both. Check what your installed version exposes before designing around it.
- HTTP requests. For tools without a connector, send a request to a webhook, often an n8n or Zapier workflow that handles the multi-system part.
Whichever route you use, define each segment in one place. If “VIP” is calculated in Flow and again with different rules in Klaviyo, the two will drift.
Testing and maintaining workflows
Flow shows a run history for each workflow, including which conditions passed and which actions ran. Use it, and build these habits in from the start:
- Start from a Flow template when one exists, then adjust it to your store
- Name workflows by area, such as “INV: Low-stock alert” or “RISK: Hold high-risk orders”
- Write the owner and purpose in each workflow’s description
- Test with test orders in a development store or your payment provider’s test mode before going live
- Send alerts to a test channel for the first week
- Check the run history after the first real events, not only after something breaks
- Watch for loops, where one workflow adds a tag that triggers another that removes it
- Review quarterly: turn off alerts nobody acts on, fix failed runs and re-check workflows that use app connectors
When I build or migrate a store as part of Shopify development work, this starter set goes in before launch, documented, so the team inherits workflows it understands rather than a list of mystery automations.
Get it built
If your team still checks stock, tags customers and reviews risky orders by hand, I can build and document these workflows as part of a Shopify build or migration, from $6,000, or start with a $1,500 Growth Audit credited if we continue. See pricing or get in touch.