Shopify Flow, Explained with Real Automations From Real Stores
Share
Most Shopify Flow guides are a list of templates with a sentence under each one. That is useful for about five minutes. What nobody shows you is what happens when a real store, with real edge cases, tries to run on those automations every day.
I spent nearly six years at Shopify, and Flow is one of the tools I now use most with clients at ShopiCraft. This guide covers three things: what Flow is, when it is the right tool (and when it is not), and six automations we have built and shipped for two very different stores, a high-end furniture retailer in Ireland and Tombolo, a Shopify Plus apparel brand in New York. For each automation I will cover what it does, how it is built, and the part that went wrong first.
What is Shopify Flow?
Shopify Flow is Shopify's built-in automation tool. It watches your store for events and responds to them automatically, so a task someone used to do by hand happens on its own, every time, in the same way.
Every Flow workflow has three parts:
- A trigger: the event that starts it, such as an order being created or inventory changing.
- Conditions: the rules that decide what happens next, such as "does this order contain a pre-order item?"
- Actions: what Flow does, such as adding a tag, updating a metafield or sending an email.
Flow is a free app on the Basic, Grow, Advanced and Plus plans. Most features work on every plan, but a few are restricted. The Send HTTP Request action, for example, is only available on Grow, Advanced and Plus.
When should you use Shopify Flow?
Flow is a good fit when a task is:
- Repetitive: someone on your team does the same thing to every order, product or customer that meets a rule.
- Rule-based: you can describe it as "when X happens, if Y is true, do Z" without needing human judgement.
- Costly to get wrong: a missed tag means an order ships late, a pre-order ships early, or a VIP customer gets missed.
- Inside Shopify, or connected to it: tags, metafields, inventory, orders, customers and the many apps that plug into Flow.
Flow is the wrong tool when the logic depends on judgement calls, when the job needs to change what the customer sees in real time at checkout, or when the workflow becomes so tangled that nobody on your team could explain it. In those cases a theme change, a Shopify Function or a small custom app is usually the better answer.
The shortcut: asking Sidekick to build a Flow for you
You no longer have to build every workflow by hand. Since December 2025, Sidekick, Shopify's AI assistant, can create Flow workflows from a plain-language description. Open Flow on desktop, describe what you want ("tag any order over 500 euro as VIP and email the team"), and Sidekick builds the trigger, conditions and actions for you.
A few things worth knowing before you rely on it:
- Workflows Sidekick creates are switched off by default and tagged "sidekick." Nothing goes live until you review and activate it.
- It works best for straightforward jobs: tagging, notifications, inventory alerts and scheduled tasks.
- On complex workflows it can leave out logic that is specific to your business, and anything using advanced Liquid or custom code may need manual editing.
Those limits are exactly why the rest of this post matters. Sidekick gives you a strong first draft in seconds. It does not know that an order full of pre-orders never gets split, or that a blank metafield behaves differently from one set to false. Those edge cases are still on you.
Here is what that looks like in practice, based on real work we have done for clients.
Automation 1: Sorting orders that contain custom built, pre-order and in-stock items
The store: a premium furniture retailer in Ireland with a genuinely complex fulfilment model. Some pieces are made to order with long lead times, some are pre-order, and some are in stock and ready to ship. A single order can contain items from all three.
The problem: the team was tracking all of this manually. Nobody could say at a glance which orders needed a supplier purchase order, which were waiting on stock and which were ready for the warehouse.
What we built: a set of four Flow workflows, triggered when an order is created, that read every line item and apply the right combination of tags. Supplier (vendor) is the main signal for made-to-order items, with a price threshold as a fallback for products where the vendor alone does not settle it.
The lesson: design your tags for overlap. Our first instinct was "one order, one tag." That breaks the moment a customer buys an in-stock piece and a made-to-order piece in the same checkout. An order can be more than one thing at once, so the tags need to allow it, and every report built on top of them needs to expect it.
Automation 2: Logging dates nobody has to remember
The same furniture retailer tracks each order through its lifecycle using order metafields: when the purchase order went out, when it was delivered, and so on. Some of those dates still need a human. Two did not.
- Purchase order date: when the store's purchase order app creates a PO, Flow writes that date to the order automatically.
- Delivery date: when the warehouse marks an order as fulfilled, Flow stamps the delivery date.
On their own these look trivial. The value is downstream. Those dates feed a set of Better Reports dashboards that show where every order sits and what needs attention, with clickable links to the order information and purchase order files. Combined with the tagging above, the system saves the team over two hours every day. The whole build took two weeks.
If you want the full picture, I wrote it up as a case study on the furniture retailer's order workflow.
Automation 3: The pre-order tag that only worked most of the time
The store: Tombolo, a Shopify Plus apparel brand known for its print-led "escapewear."
The goal: pre-order items needed to be split into their own order so the warehouse could hold them, while the in-stock items shipped straight away. An order-splitting app handles the split. Flow decides which orders are candidates.
The first version was simple: if at least one line item is a pre-order, tag the order. The split app then created a separate order for the pre-order items using that tag.
It looked right in testing. Then we noticed a gap. If a customer's cart contained only pre-order items, there was nothing to split. The split app never ran, so the order never got its pre-order tag, and the warehouse would have treated it as ready to ship.
The fix was a second condition using a different list operator. Shopify Flow gives you three ways to check a list, such as the line items on an order: At least one of, All of and None of. The first condition uses "At least one of." The second uses "All of":
- If all line items are pre-orders, Flow tags the order as a pre-order directly.
- If the cart is mixed, Flow tags it as a split candidate and the split app takes over.
The lesson: this is the part most Flow tutorials skip. The logic that handles the common case is easy. The value is in the edge cases nobody thought to test.
Automation 4: A SOLD OUT badge the theme could not build
We built Tombolo a custom corner badge system on their product cards, to highlight specific selling-points for different products which their staff could easily add and adjust, controlled through metafields. They wanted a SOLD OUT badge as a part of this, but with a twist: it had to reflect stock at one specific fulfilment location, not total stock across all locations.
That sounds like a theme job. It is not. Shopify's storefront code (Liquid) gives the theme overall availability, but no straightforward way to read stock at one specific location on this store. Flow can read it.
What we built:
- A workflow triggered by inventory changes. This trigger can read the quantity available at a single location, identified by location name or ID.
- When all of a product's variants are out of stock at that location, Flow sets a true/false product metafield. The badge code simply reads that metafield.
- A second workflow, triggered when a product is created, as a safety net. A brand new product with zero stock never triggers an inventory change, so without this it would never get its badge.
What went wrong first: on products where the metafield had never been set, a condition using "not equal to" did not behave the way we expected, and the metafield was not being written. We restructured the logic so the conditions check for the value we want ("equal to") and moved the actions to the other branch. If a workflow touches metafields that may be blank, test the blank case specifically. Flow also has dedicated "Empty or does not exist" and "Not empty and exists" operators for exactly this.
Two small habits saved us future pain here. Both workflows have names that start with "DO NOT DELETE," and the theme code carries a comment pointing to them. A Flow lives in a completely different part of the admin from the theme, so the next developer to open the code would otherwise have no idea it depends on an automation.
Automation 5: Getting a gift note from checkout to the warehouse
Tombolo wanted customers to be able to add a gift message at checkout, kept separate from the marketing opt-in. A checkbox reveals a message field with a hard character limit, and the message is saved to the order.
Saving it is only half the job. The warehouse needs to notice it. So Flow tags any order with a gift note, which gives the fulfilment team a simple filter instead of opening every order to check.
The lesson: Flow is often the glue between two systems that were never designed to talk to each other. In this case, a checkout field and a third-party warehouse.
You can learn more about the work we have done with Tombolo, including the theme migration and badge system, in our Tombolo case study.
Automation 6: Fixing the past, when Flow cannot
Back to the furniture retailer. Once the new tagging was live, every new order was categorised correctly. The orders placed before it were not.
Event-based triggers like "order created" only fire on new events, so they will not reach back in time on their own. Flow does have a native option for this kind of clean-up: the Scheduled time trigger, which runs a workflow at set times and can pull in batches of existing orders to work through. It can run as often as every 10 minutes.
For this client, the back catalogue and the tagging rules were complex enough that we built a small custom embedded app to retag historic orders in one pass. That is the honest answer to "can Flow do everything?" Usually it gets you most of the way. Sometimes a few hours of custom development is the faster and safer route.
Where Flow falls short
Flow is excellent, but it has limits worth knowing before you plan around it:
- Collecting unique values across line items is awkward. Something like "build a list of every supplier on this order" is hard to do cleanly in Flow.
- "Order created" only sees the order as it was placed. If items are added later through an order edit, a workflow triggered at creation will not see them.
- Failures can be silent. If a location is deleted and recreated, or a metafield is renamed, a workflow that references it can simply stop doing anything. Nobody gets an error message on the storefront.
- Some actions depend on your plan. Check the plan requirements for an action before you design a workflow around it.
How to test a Flow before it touches live orders
- Write down your scenarios first. For the pre-order workflow that meant three: an order with only in-stock items, an order with only pre-orders, and a mixed order. The bug lived in the second one.
- Test the empty case. Blank metafields, products with no tags, orders with a single line item.
- Check the run history. Every workflow run in Flow shows how each condition evaluated. When something does not fire, this is where you find out why.
- Name workflows so a stranger understands them. "Order tagging v2" means nothing in a year. "DO NOT DELETE: tags orders by fulfilment type" does.
- Document the dependency. If your theme, reports or a third-party app relies on a workflow, leave a note in both places.
Frequently asked questions
Is Shopify Flow free?
Yes. Flow is a free app on the Basic, Grow, Advanced and Plus plans, with a small number of features restricted by plan.
Can Shopify Flow run on a schedule?
Yes. The Scheduled time trigger can run a workflow once or on a repeating schedule. The shortest interval is 10 minutes and the longest is one year.
Can Shopify Flow check stock at one location?
Yes. A workflow triggered by an inventory change can read the quantity available at a single location and check that location by name or ID. This is how we built Tombolo's location-specific SOLD OUT badge.
Can Sidekick build a Shopify Flow for me?
Yes. On desktop, you can open Flow and describe the automation you want in plain language, and Sidekick builds the trigger, conditions and actions. The workflow is created switched off, so you can review and test it before activating it. For anything complex, check the logic carefully: Sidekick can leave out rules that are specific to your business.
Do I need Shopify Plus to use Flow?
No. Flow runs on Basic and above. Plus adds a few extras, such as using tasks created by custom partner apps, but the core triggers, conditions and actions used in this post are not Plus-only.
Should you build Flows yourself?
For simple automations, yes. Tag high-value orders, get an email when stock runs low, hide sold-out products. Describe it to Sidekick or start from Shopify's template library, test it, and switch it on. The risk is low.
Bring someone in when a workflow touches money, fulfilment or a third-party system, or when several workflows depend on each other. That is where the edge cases in this post live, and where a mistake means an order ships late or does not ship at all. If you are weighing up the cost, I wrote an honest breakdown of whether hiring a Shopify expert is worth it.
If you have a process in your store that someone still does by hand every day, book a free intro call and we can look at whether Flow can take it off your plate.
Daniel Perera is the founder of ShopiCraft, a Shopify Select Partner based in Dublin, Ireland. Before founding ShopiCraft, he spent nearly six years at Shopify. ShopiCraft builds Shopify Flow automations, custom apps and store systems for merchants in Ireland, Europe and the US.