What This Flow Does
Sends an automated WhatsApp message asking customers to confirm their COD (Cash on Delivery) order before you ship it. They can confirm, cancel, or chat with support. If they don't respond within 2 hours, a follow-up reminder is sent. Orders that remain unconfirmed get tagged in Shopify so you can decide whether to call the customer or auto-cancel.
Why You Need This
Reduces fake/prank orders: COD orders are easy to place without commitment. Confirmation filters out non-serious buyers.
Cuts RTO rates: If someone doesn't confirm their order, they probably won't accept delivery either. Catching them early saves shipping costs.
Saves time: No need to manually call every COD customer, the flow handles verification automatically.
Gives customers control: They can cancel directly in WhatsApp instead of ignoring delivery attempts.
Things to Note
Only Triggers for COD Orders That Weren't Converted to Prepaid
The flow checks if the order has a "not converted to prepaid" tag before sending the confirmation request.
Why? If a customer was offered COD-to-prepaid conversion but didn't take it (waited 30 minutes without paying), this flow kicks in to confirm they still want the COD order.
If they successfully converted to prepaid, this flow doesn't run, no need to confirm a paid order.
Exit Conditions Prevent Duplicate Messages
The flow won't run if the order already has one of these tags:
COD Confirmed
COD Cancelled
COD Support
This ensures customers don't get spammed with confirmation requests after they've already taken action.
Two Attempts, Then You Decide
The flow sends two confirmation requests (initial + 2-hour follow-up). After that, the order gets tagged COD Not Confirmed - 2
and you can:
Manually call the customer
Let it sit until they respond
Auto-cancel it by adding a cancel action after the second tag
Links to WhatsApp Order Confirmation Flow
When a customer clicks "Confirm Order," they're redirected to the WhatsApp Order Confirmation flow (a separate flow that handles post-confirmation address confirmation, order status, etc.).
This keeps the COD confirmation logic clean and modular.
How It Looks In Action
The flow triggers on COD order creation, checks if they declined prepaid conversion, sends a confirmation request with three buttons (Confirm / Cancel / Chat Support), waits 2 hours, sends a reminder if no response, and tags unconfirmed orders in Shopify.
How Each Step In The Flow Works
1. Trigger: Shopify Order Created (COD Only)
Fires when a COD order is placed. Order type is set to "COD" to filter out prepaid orders.
2. Exit Conditions Check
Stops the flow if the order already has any of these tags:
COD Confirmed
COD Cancelled
COD Support
Prevents duplicate confirmation requests.
3. Action #12: Update Shopify Order Details
Fetches the most recent order data from Shopify before proceeding. This ensures the flow works with the latest order status (in case it was updated between creation and this step).
4. Condition #6: Does Order Have "Not Converted to Prepaid" Tag?
Checks if {{trigger.tags}}
contains "not converted to prepaid"
If YES: Customer declined prepaid conversion. Flow continues to send COD confirmation.
If NO: Flow stops. This order either converted to prepaid or wasn't offered conversion, so no confirmation is needed.
5. Send Message: COD Confirm #1
Message:
"Hello {{name}},
Thank you for choosing {{brand}}! ποΈ
Please confirm your COD order before we proceed:
Order ID: {{order_id}}
βOrder Value: {{currency}}{{total}}
βOrder Items: {{items}}
Wishing you a delightful shopping experience! π"
Quick reply buttons:
Confirm Order β Redirects to WhatsApp Order Confirmation flow
Cancel Order β Proceeds to order cancellation
Chat With Support β Opens support escalation
6. Branch A: Customer Clicks "Confirm Order"
Link to flow: Redirects to WhatsApp Order Confirmation workflow (handled separately)
Save in flow column:
Confirmation Status = Confirmed
Add order tag:
COD Confirmed
7. Branch B: Customer Clicks "Cancel Order"
Save in flow column:
Confirmation Status = Cancelled
Cancel order: Cancels the Shopify order via action block
Add order tag:
COD Cancelled
After this, (if enabled), the WhatsApp Order Cancellation Automation Flow will send them the cancellation message.
8. Branch C: Customer Clicks "Chat With Support"
Send message: "Please tell us your query, and someone from our team will get back to you within 24 hours π"
Wait for customer response
Assign to agent: Ticket gets assigned to default assignee
Save in flow column:
Confirmation Status = Support
Add order tag:
COD Support
9. Delay #7: Wait 2 Hours (If No Response) + Action #8: Add Tag "COD Not Confirmed - 1"
What the delay does: Waits 2 hours
What the tag does: Tags the order in Shopify so you know one confirmation attempt was made with no response.
If the customer doesn't click any button within 2 hours, the flow proceeds to send a reminder with Send Message #8 connected after this.
10. Send Message #8: Final Order Confirmation
Message:
"Hello {{name}},
We haven't received your confirmation for your COD order:
Order ID: {{order_id}}
Please confirm or cancel your order now π"
Same three buttons:
Confirm Order
Cancel Order
Chat With Support
Each button triggers the same actions as before (confirm β redirect to Order Confirmation flow, cancel β cancel order, support β assign ticket).
12. Delay #7 Copy: Wait 2 Hours Again (If Still No Response) + Action #9: Add Tag "COD Not Confirmed - 2"
If the customer doesn't respond to the second message, the delay #7 makes the flow wait another 2 hours.
Then the Action #9 tags the order in Shopify. At this point, you can:
Manually call the customer
Add an action block here to auto-cancel unconfirmed orders
Let it sit until they eventually respond
Setup Tips
Customize confirmation messages: Match your brand tone. Some brands add urgency ("Confirm within 24 hours or we'll cancel").
Decide on auto-cancel: After the second "COD Not Confirmed - 2" tag, you can add a cancel order action if you'd rather not deal with unconfirmed orders. Or leave it open if you prefer to call customers manually.
Check template approval: Confirmation requests are utility messages, so they usually get approved quickly. Verify before enabling.
Monitor confirmation rates: If most customers don't confirm, your confirmation message might be unclear or too aggressive. Test different wording.
Test all three paths: Place a test COD order, click Confirm and verify it redirects properly. Then test Cancel and Support buttons.
Integrate with Order Confirmation flow: Make sure the "Confirm Order" button correctly links to your WhatsApp Order Confirmation flow.
Questions? Ping us in chat and we'll help you set it up.