Every COD order that hits your store creates a chain of manual work. Tag it. Check if the phone number is real. Tell the warehouse it's COD so they don't ship before confirmation. Flag it if the customer has returned three orders in a row. Most merchants do all of this by hand — or don't do it at all, and eat the losses.
Shopify Flow can automate COD orders end-to-end, and it's free on every paid Shopify plan. But almost every Flow guide online covers prepaid stores. COD merchants have different problems: payment happens after delivery, fraud looks different, and the operational overhead per order is higher. These six Shopify Flow workflows are built specifically for COD stores.
What Is Shopify Flow and How Does It Work?
Shopify Flow is a free visual automation tool built into every paid Shopify plan. Every workflow has three parts: a trigger (something happens), a condition (check if it matches your criteria), and an action (do something about it). No code, no developer needed.
Since late 2025, Flow also accepts plain-English descriptions. Type "tag all orders over $100 from repeat customers" and Flow's AI generates the workflow for you. You can preview it with sample data before activating, so nothing touches real orders until you're ready.
The workflows below are built specifically for COD stores. Each one takes under five minutes to set up.
Auto-Tag Every COD Order the Moment It's Created
This is the foundation. Without it, COD and prepaid orders sit in the same list, and your team wastes time figuring out which is which.
The workflow:
- Trigger: Order created
- Condition: Payment gateway equals your COD gateway name. Check your Shopify payment settings for the exact string — it's usually "Cash on Delivery" or "Manual."
- Action: Add order tag → "COD"
Once COD orders are tagged, everything downstream gets easier. You can filter your order list by tag. You can build other workflows that only fire on tagged COD orders. You can export COD orders separately for reconciliation.
Add a second branch to the same workflow: if the gateway is not COD, tag it "Prepaid." Your warehouse team can now sort fulfillment queues at a glance.
Flag Repeat Phone Numbers That Keep Placing Orders
Fake COD orders often come from the same phone number — or slight variations of it. A customer places five orders in a week, receives none, and your courier eats the return shipping on all five. (For a deeper look at behavioral fraud detection beyond simple blocklists, see our risk-scoring guide.)
The workflow:
- Trigger: Order created
- Condition: Customer's order count is greater than 3 in the last 30 days and payment gateway equals COD
- Action: Add order tag → "repeat-buyer-review" and Send internal email to your operations team
This doesn't auto-cancel — that would catch legitimate bulk buyers. It flags the order for manual review and sends your team a heads-up. You decide whether to fulfill or hold.
If you're using EasySell for your COD order form, the phone number and OTP verification data that EasySell collects flows into the order metadata, giving these workflows richer data to check against.
Notify Your Warehouse Whether an Order Is COD or Prepaid
COD orders have a different fulfillment reality than prepaid ones. The courier needs to collect cash. The packing slip might need a different format. Some warehouses hold COD orders until a verification call is complete.
The workflow:
- Trigger: Order created
- Condition: Order is tagged "COD" (from the tagging workflow you already set up)
- Action: Send HTTP request or Send email to your warehouse/3PL with order details and a clear "COD — collect payment on delivery" note
If you use a 3PL that accepts webhook notifications, Flow's "Send HTTP request" action pushes the data directly into their system. If your warehouse runs on email, the email action works fine — include the order number, shipping address, and total amount due.
One important note: the "Send HTTP request" action is only available on Shopify's Advanced and Plus plans. On Basic and Shopify plans, use the email notification action instead.
Auto-Cancel Unverified COD Orders After 24 Hours
Some COD merchants use a verification step — an OTP, a confirmation call, or a WhatsApp message — before fulfilling. Orders that don't get verified within a window are likely fake.
The workflow:
- Trigger: Order created
- Condition: Payment gateway equals COD
- Action: Wait 24 hours → Check condition: order still has tag "unverified" → Cancel order and restock inventory
The key here is Flow's "Wait" action. It pauses the workflow for your specified window, then checks whether the order was verified in the meantime. If your verification process (whether manual or through an app) removes the "unverified" tag, the cancel action never fires.
Start with a 24-hour window. Track how many orders get auto-canceled in the first two weeks. If legitimate customers are getting caught, extend the window to 48 hours.
Hold Fulfillment on High-Risk COD Orders
Shopify's built-in fraud analysis scores every order as low, medium, or high risk. For prepaid stores, high-risk usually means stolen credit cards. For COD stores, it's a signal that the order might not convert to cash on delivery.
The workflow:
- Trigger: Order risk analyzed (not "Order created" — fraud analysis needs time to process)
- Condition: Risk level equals "High" and order is tagged "COD"
- Action: Add order tag → "hold-fulfillment" and Send internal email with the risk details
Use the Order risk analyzed trigger, not Order created. Shopify's fraud analysis runs after the order is created, so the Order created trigger fires before the risk score exists. This is the most common mistake merchants make when building fraud workflows in Flow.
Your team reviews held orders, confirms with the customer via phone or WhatsApp, then removes the tag and fulfills. The extra five minutes of verification saves the full cost of a failed delivery.
Tag High-Value COD Orders for Priority Handling
A $200 COD order that fails delivery hurts more than a $15 one. High-value COD orders deserve extra attention — a confirmation call, express shipping, or priority placement in the fulfillment queue.
The workflow:
- Trigger: Order created
- Condition: Order total is greater than your threshold and order is tagged "COD." A good starting point is your average order value times two.
- Action: Add order tag → "high-value-COD" and Send internal email to your sales or operations lead
This workflow pairs well with the fraud-hold workflow above. High-value COD orders that are also high-risk get two tags and two notifications — your team knows to verify before shipping.
Set These Up in the Right Order
The workflows above build on each other. Start with the COD tagging workflow first — most of the others depend on that tag existing. Then add fraud holds and repeat-buyer flags. The auto-cancel workflow should come last, after you've tested the others and understand your order patterns.
One workflow takes under five minutes. All six take under thirty. Once they're running, they run on every order, every time, without your team touching anything. If you're also looking to automate tasks beyond order management, our guide to 15 Shopify tasks you're still doing by hand covers the broader automation opportunities.
Open Shopify Flow from your admin (Apps → Flow), start with the COD tagging workflow, and build from there. Your next COD order will be the first one your store handles automatically.