If your store already runs on Shopify Flow, you made a sound call. Flow is free, Shopify maintains it, and it does the same thing every time. The question we now hear is whether a custom AI agent should replace it. Mostly, no. It should take over a narrower set of jobs that Flow was never meant to do, and the two should be wired so that each field in your store has one owner.
This article is for:
- Ops leads and founders of Shopify stores who already use Flow and are being pitched an AI agent
- Technical buyers who need a rule for which automation tool gets which job
- Developers scoping an operations agent who want to know what to leave in Flow
This article is NOT for:
- Stores that have not tried Flow yet. Start there, then come back
- Anyone looking for a shopper-facing chatbot. That is a different project
The decision rule
Ask three questions about each job, in this order.
- Is the input structured? Order total, tag, inventory quantity, shipping country and customer tag are fields. Order notes, supplier emails and review text are prose.
- Should the answer be identical every time? Hold the order if the total is above a threshold, and the answer is the same for every order. "Is this note a complaint or a gift message?" is a judgment.
- What does a wrong action cost? A wrong tag is a nuisance. A wrong refund, price or customer email is money or reputation.
Structured input and a fixed answer means Flow. Prose input or a judgment call means an agent. A costly wrong action means a person approves it, whichever tool proposed it.
| Job | Input | Same answer every time? | Cost of a wrong action | Owner |
|---|---|---|---|---|
| Tag orders above a value threshold | Structured | Yes | Low | Flow |
| Alert the team when a variant drops below a stock level | Structured | Yes | Low | Flow |
| Tag customers by order count or country | Structured | Yes | Low | Flow |
| Weekly summary of sales and variants likely to run out | Structured, many lookups | No, needs judgment on what matters | Low (read only) | Agent |
| Read order notes and sort them: gift, complaint, delivery change | Prose | No | Medium | Agent proposes, person approves |
| Reconcile a supplier CSV against current inventory | Semi-structured | No | High if applied | Agent proposes, person approves |
| Refunds and cancellations | Mixed | No | High | Person decides |
Notice how little of the table the agent owns. Most store operations are rules, and rules belong in a tool that cannot improvise.
What Flow covers, and where the plan matters
Flow is a free app and is available on Basic, Grow, Advanced and Plus. Two limits shape this decision, both from Shopify's Flow help documentation (read 29 October 2026):
- The Send HTTP request action needs Grow, Advanced or Plus. On Basic, Flow cannot send HTTP requests to your own endpoint.
- Custom tasks from partner apps need Plus.
That gives you a hybrid pattern. Flow stays the trigger, because it already fires on the events you care about. For the few jobs that need judgment, Flow sends the order to an endpoint you run, and the agent behind it writes a proposal to an approval queue. Flow never waits on the model to decide anything. If you are on Basic, the same pattern works with a scheduled agent that reads through the Admin API instead.
The tradeoff we accept
We default to Flow over a custom agent, accepting less flexibility, because the costs are lopsided. Flow has no hosting, no credentials for you to store, no model bill and no audit log you have to build. An agent has all four. You only pay those costs back if a job is worth more than they cost to run.
The agent is worth building for work Flow structurally cannot do: reading prose, comparing a messy file to live data, and writing a summary a person would otherwise assemble by hand. For the guardrails around that kind of agent (read-only tokens, writes as proposals, logging outside the model) see Building a Shopify AI Agent With MCP That Your Ops Team Can Trust.
What breaks in production
These are the failure modes we design against. They follow from how the two tools work, not from any one store.
Two owners for one field. If Flow tags an order "review" and the agent also writes tags, one overwrites the other and nobody can tell which rule fired. Give every field exactly one owner. Flow owns tags set by rules. The agent owns nothing it writes directly; it proposes.
An agent call on every event. A Flow trigger that fires on every order update will call your endpoint on every update. Put the cheap filter in Flow (a condition on value, country or note present) so the model only sees orders that need judgment.
Different answers on different days. Flow is deterministic. A model is not. The same order note can get a different label next week. That is acceptable when a person approves the result, and a problem when the label drives an automatic action. So no automatic action should hang off an agent's label.
Text that strangers write. Order notes and reviews are input from people outside your company. Treat them as data the model reads, never as instructions it follows, and keep write scopes out of the agent's credentials so an injected instruction has nothing to act with.
API version drift. Shopify releases a new Admin API version every quarter and supports each for at least 12 months. An agent pinned to a version will break on a schedule you do not control unless someone owns upgrades. Flow's built-in actions run on the Admin API for you, so there is no version for you to pin.
When the opposite call is right
Build the agent first, and skip Flow, when the main workload is prose and your data has no usable fields. A store whose orders arrive with long free-text instructions, or one that lives on supplier emails and spreadsheets, has little for Flow to match on. A rule needs a field to read.
Skip both when volume is small. If your team handles a few dozen orders a week, a person with a saved filter is cheaper than either tool.
And one case where Flow loses to custom code for a non-AI reason: if a rule needs lookups across many records or an external system on a plan without Send HTTP request, a small scheduled script on the Admin API is simpler than forcing Flow to fit.
A starting checklist
- List every manual check your team does in a week.
- Run each through the three questions above.
- Build the Flow rules first and let them run for a few weeks.
- Only then pick the one prose job that costs the most time, and build an agent for that job alone, read-only, with proposals.
- Give every field one owner and write it down.
If you want help with the split, our Shopify AI automation work starts with exactly this audit, and our Shopify development team builds the Flow rules and the integrations around them. For what a good Shopify engagement includes beyond automation, see What Good Shopify Development Services Actually Include.



