Playbook · Shopify Flow not running
Shopify Flow not running — after the workflow already looks built.
Written for a Shopify DTC owner who already installed Shopify Flow, built a workflow for tags, Slack, internal email, or a fulfillment exception, waited on a real order, and got nothing. This is a not-running playbook, not a Klaviyo copy rewrite. Native tools first. Honest limits. No recovered-revenue number, no ticket-cut, no invented case studies.
Nico at Latch AI Ops · Sep 1, 2026 · ~9 minute read
Buy the 72-hour install — $997Klaviyo flow not sendingWISMO email not sendingMerchant FAQ
01
Shopify Flow is not Klaviyo Flow.
Two products share the word “flow.” They do not share a canvas, a run history, or a send log. Shopify Flow lives in Shopify admin (search Flow, or Apps → Flow). It automates store operations: tags, internal email, Slack, inventory exceptions, fulfillment branches. Klaviyo Flow lives in Klaviyo. It sends marketing and some transactional mail. If the abandoned-checkout email is missing, that is Klaviyo flow not sending, not this page. If shipping templates never fire, that is shipping confirmation not sending (native) or WISMO email not sending (native + Klaviyo). This page is only Shopify Flow: a workflow that looks built and still does not run.
Six ordinary reasons a built-looking workflow does not run: it is still inactive, the trigger never matched a real event, a condition filtered everyone out, a wait step has not elapsed, an action failed in run history, or a connector / app is missing permissions. Walk them in that order. You already pay for Shopify. You do not need a third automation app to read run history.
02
Workflow still inactive.
Open Shopify admin → Flow. Open the workflow. Read the status at the top, not the name, not the template gallery, not a green check on one action card. Inactive does not run. A template you installed and never turned on does not run. A duplicate you left off while you edited the copy does not run.
Inactive is the trap. Someone built the path, previewed it, meant to come back after lunch, and never flipped the toggle. The canvas looks finished. Analytics on the workflow can even be empty forever — there is nothing to count. From the owner’s Slack or inbox that is silence.
Turn it active only if you are willing to live with the actions: tags written on live orders, internal email to a real staff address, a Slack message in a real channel. If you are still testing, use a throwaway tag and a personal email, then switch the production destination after one real run.
03
Trigger never matched.
Names lie. Triggers do not. A workflow titled “New order Slack” that listens to Order paid, while you tested with a draft order or an unpaid invoice, will look built and still leave run history empty. Draft orders do not fire Order created. A POS cash sale is not the same event as an online checkout. Fulfillment created is not Order fulfilled.
Open the workflow → run history. If there is no run at all for the hour you tested, the trigger did not fire. Common gaps: you created a draft and never completed it, you marked a test order as paid from admin in a way that skipped the trigger, you used a development store event while the workflow lives on production, or you picked Inventory quantity changed and then edited inventory in a location the condition does not watch.
Then open the trigger card and match it to the event you actually created. Order created is not Order paid. Order paid is not Fulfillment created. Customer created is not Customer tagged. Place one real paid order from a phone that is not logged into admin, wait a minute, then read run history — not the canvas. The canvas is not the proof. The run is.
04
Conditions too strict.
Shopify Flow templates often ship with a Check if: order has a tag, financial status is paid, fulfillment status is unfulfilled, customer accepts marketing, or a metafield is set. All of those can be correct. Stacked with AND they skip almost every real order. Run history then shows a run that stopped at the condition, which looks like “Flow is broken” from Slack.
Open the condition. Read AND vs OR. “Has tag preorder” AND “has tag vip” will not match a first-time buyer. Checking a metafield that was never written is a silent skip. Checking a tag this same workflow is supposed to add, before the add action, is also a skip — the tag does not exist yet.
For the next test, temporarily remove extra checks. Trigger → one action (add a unique test tag, or send internal email to yourself). If that run succeeds, put conditions back one at a time. Do not rebuild the whole workflow to debug a filter.
05
Wait step has not elapsed.
Shopify Flow waits are often “wait 1 day,” “wait 2 hours,” or “wait until a time of day.” You placed a test order at 2pm, checked Slack at 2:10, and declared Flow dead. That is a late-run bug wearing a not-running costume. Read the wait. Wait that long, or temporarily set it to five minutes for the test, then put a sane production delay back.
A wait after Order created that then checks Fulfillment status will also look dead if the warehouse has not scanned yet. The workflow is waiting on a later fact. Open run history: in progress / waiting is not failed. Do not add a second workflow on the same trigger to “make sure it fires” — you will double-tag or double-page yourself when the wait ends.
06
Action failed in run history.
If a run exists and is marked failed, the trigger worked. The action did not. Open that run. Shopify Flow usually names the step: send internal email, send Slack message, add customer tags, HTTP request, Get order data, For each. Read the error. Do not install another app because the canvas is red.
“Send internal email” goes to staff. It is not a customer shipping confirmation. If you expected the buyer to get mail, that mail belongs in Shopify notifications, not in Flow — details in WISMO email not sending and Klaviyo + Shopify notifications. An HTTP request fails on a bad URL, a 401, or a body Flow cannot parse. Get order data / For each fails when the list is empty. Slack fails when the channel was renamed or the app was reinstalled.
Fix the named step. Re-run from a new real event. Flow does not always let you retry a failed run against the same order; a new paid test order is the honest proof.
07
Connector / app / permissions.
Shopify Flow itself is a Shopify app. Slack, Google Sheets, and some “send to X” actions need their own connector installed and authorized. If a staff member uninstalled Slack’s Shopify app, or you cloned a template that expects a connector you never connected, the workflow looks built and the action fails or never appears in the picker.
Open Settings → Apps, and the Flow workflow’s action card. Confirm the destination app is installed. Confirm the account that authorized it still exists. A 3PL app you removed last month will not receive a Flow action you left on the canvas. Missing write_orders / write_customers style permissions also fail tag and metafield actions after an app reinstall.
Flow is included on current Shopify plans for core admin automations. Some partner connectors and advanced actions are still gated. If the action you want is greyed out, that is a plan or connector problem, not a broken trigger. Do not pay a monthly “Flow replacement” app to add a tag Shopify Flow already adds.
08
When to stay DIY vs pay $997.
Stay DIY if you can spend one afternoon on the list above: active vs inactive, trigger match, conditions, wait, run history, connector. Place one real paid order from a phone. Read the run. That is the whole playbook. No agency required. Short answers also live on the merchant FAQ. Related troubleshooting: Klaviyo flow not sending, WISMO email not sending, WISMO playbook.
Pay for help when the work is not the Flow canvas — it is connecting the stack you already have so ops exceptions land in a channel you already check, lead capture is not dying in DMs, and checkout follow-up is one live workflow instead of a Shopify Flow plus a Klaviyo draft plus a native toggle you forgot. That is the Latch AI Ops install.
What $997 USD one-time buys: lead capture on the live store, ops alerts in a channel you already check, and a checkout-ready workflow. 72 hours after collaborator access, not after payment. One live Shopify store. Access plus a delivery thread. Store URL collected at checkout. Not a SaaS seat, not a Shopify Flow rebuild, not a Klaviyo rebuild, not a Gorgias implementation, not a support VA, not a brand or theme job.
Other shops’ public ranges, not testimonials: a Shopify Flow or recovery-app install typically runs $500–$2,500. A Klaviyo-only flow rebuild typically runs $2,000–$5,000.$997 is the cheap end of that work, sold as a 72-hour install of three systems — not as recovered checkout revenue or a ticket-cut number.
What it does not buy: recovered checkout revenue, a lift in conversion, fewer WISMO tickets, or a case study. Latch AI Ops has not published customer proof because there are no customers yet. You are buying the install.
Checkout is on Whop. Operator is Nico. United States offer. You can revoke collaborator access after handoff. We do not take owner passwords.