📋 Playbooks · D2C & E-commerce

COD verification playbook: WhatsApp buttons, AI calls and when to cancel

Updated 2026-09-19 · 5 min read · By the Convo360 team

In short

Verify COD orders in two steps: a WhatsApp Utility template asking the customer to confirm with buttons, and an AI voice call only for orders flagged risky — high value, new customer, or a pincode with a history of returns. Unconfirmed orders after both attempts should auto-cancel or convert to a prepaid nudge.

Key takeaways
  • Try WhatsApp confirmation first — it's cheaper and most genuine customers respond within an hour.
  • Reserve AI voice calls for orders your risk rules flag, not every COD order.
  • Score risk using order value, customer history and pincode return rate, not gut feel.
  • Offer a small prepaid discount as an alternative to confirming COD — it converts a meaningful share of risky orders.
  • Set a clear auto-cancel window so unconfirmed stock isn't held indefinitely.

Why COD orders need verification

Cash-on-delivery keeps conversion high in India but brings a real cost: fake orders, wrong addresses and casual buyers who never intended to accept delivery. Every returned-to-origin (RTO) shipment costs two-way logistics and repacking, so even a modest reduction in RTO pays for the automation many times over.

Verification doesn't need to slow down genuine buyers. Done well, it adds one WhatsApp tap for most customers and a short call only for the orders that actually carry risk. Think of it as three customer segments: the majority who confirm on WhatsApp within the hour, a smaller group who need a call to unstick a hesitant order, and a small tail who were never going to accept delivery and are better cancelled early than shipped.

Step one: WhatsApp confirmation

The moment a COD order is placed, send a Utility template: order summary, amount and Confirm / Cancel buttons. A typical wording is: 'Hi {{1}}, your COD order #{{2}} for ₹{{3}} is confirmed for packing. Please confirm you'd like to proceed.' with Confirm and Cancel buttons attached. Most genuine customers confirm within the hour, and this alone filters out a large share of accidental or duplicate orders without any manual work.

If a customer taps Cancel, route them to a short reason menu ('changed my mind', 'ordered by mistake', 'found cheaper elsewhere'). This data is useful for spotting patterns later, and occasionally recovers the order with a quick discount offer.

Step two: risk scoring and the AI call

Don't call every COD order: it's unnecessary cost and annoys good customers. Build a simple risk rule instead.

SignalRisk impact
Order value above your thresholdIncreases risk
First-time customer, no order historyIncreases risk
Pincode with high historical RTOIncreases risk
WhatsApp confirmation receivedReduces risk sharply

Orders that score high and remain unconfirmed after the WhatsApp step get an outbound AI call. A sample opening line: 'Hi, this is calling from [store] about your order for a {{1}} worth ₹{{2}}, to be delivered to {{3}}. Can you confirm this is correct and you'd like it delivered?' The call verifies the order, reads the address back to the customer for correction, and offers a small prepaid discount as an easier alternative to cash on delivery.

Building it on Convo360

You can build this whole verification flow on Convo360 without writing any code.

  1. Trigger the flow from your cart platform via an inbound webhook the moment a COD order is placed.
  2. Use a Condition block to compute a risk score from order value, customer tag and pincode (pulled via Google Sheets or your CRM).
  3. Send the WhatsApp confirmation template with buttons to every order regardless of risk.
  4. For high-risk, unconfirmed orders after a set delay, trigger an outbound AI voice call using a script that verifies the address and offers prepaid.
  5. If still unconfirmed after both attempts, call a Webhook back to your order system to auto-cancel or hold the order.
  6. Log every outcome to a Save CRM lead or Sheets row so you can review which risk signals actually predicted RTO over time.

See /docs/voice/ for outbound call setup and /docs/webhooks/ for the cancel callback.

The prepaid nudge

During either the WhatsApp or call step, offer a small prepaid discount via a Razorpay payment link as an alternative to COD. Framed as 'pay now and save', this converts a meaningful share of risky orders into prepaid ones, which removes RTO risk entirely for that order. A sample line for the call script: 'If you'd like, you can also pay ₹{{1}} less by paying online right now instead of cash on delivery — I can send the link over WhatsApp immediately.'

Setting the cancel rule

Decide a firm window, commonly 24 to 48 hours after order placement, after which an unconfirmed, unreachable COD order auto-cancels or is held for manual review rather than shipped. This protects working capital and warehouse space from orders that were never going to convert. Log every outcome so your risk rules improve over time. Some sellers give a shorter window (12 hours) for high-risk orders and a longer one (48 hours) for low-risk orders that simply haven't replied yet.

Be careful not to auto-cancel too aggressively for customers who are simply slow to reply rather than uninterested. A middle step, a second WhatsApp nudge a few hours before the cancel deadline worded as a last chance rather than a threat, recovers a share of orders that would otherwise be lost purely to timing rather than genuine disinterest. Keep this nudge polite: 'Just checking in, your order #{{1}} will be released for other customers in a few hours if we don't hear back. Reply YES to keep it.'

Different categories also warrant different windows. A made-to-order or customised item (engraved jewellery, a tailored outfit) justifies a longer confirmation window since production hasn't started, while a fast-moving, low-margin item is better cancelled quickly so the stock can be resold without a long hold.

Measuring what it's saving you

Track RTO rate by risk segment in Analytics: high-risk orders that got a call, high-risk orders that didn't, and low-risk orders that skipped verification entirely. This tells you whether the call step is actually earning its cost or whether your risk rule needs recalibrating. For example, if 'first-time customer' alone predicts most of your RTO regardless of order value, you can simplify the rule and save call volume for a narrower group.

Also track how many risky orders convert to prepaid through the nudge. This is often the single biggest RTO reduction lever, since a paid order carries no cash-collection risk at all.

Step by step

  1. Trigger on new COD orderFire the flow from your store's webhook the moment a cash-on-delivery order is placed.
  2. Score the order for riskCombine order value, customer history and pincode data into a simple high/low risk flag.
  3. Send WhatsApp confirmation to everyoneUse a Utility template with Confirm/Cancel buttons regardless of risk score.
  4. Call high-risk unconfirmed ordersTrigger an AI voice call to verify address and offer a prepaid alternative.
  5. Auto-cancel after the windowPush a webhook back to your store to cancel or hold orders unconfirmed after 24–48 hours.

Example conversation

Yes I want this order, I was just busy
Great, thank you for confirming! Your order for ₹1,499 will be packed today and shipped by tomorrow. Would you like to save ₹50 by paying online instead of cash on delivery?

Industry guide: AI agents for D2C & E-commerce — Order updates, COD confirmation & abandoned-cart recovery.

Set up COD verification for your store

Start free in minutes — no code, no credit card. Bring your own AI keys and pay no per-message markup.

Frequently asked questions

Does every COD order need an AI call?

No. Calling every order adds unnecessary cost. Reserve calls for orders your risk rules flag — high value, first-time customers or pincodes with a history of returns.

How is risk scored without complex fraud tools?

A simple rule combining order value, whether the customer has ordered before and pincode return history covers most cases well enough to prioritise which orders need a call.

What if the customer doesn't answer the AI call?

Log it as unreached and fall back to your cancel window rule. A missed call plus no WhatsApp confirmation is a strong signal to hold the order.

Can this reduce RTO without hurting conversion?

Yes, when verification only adds friction for risky orders. Genuine customers just tap Confirm on WhatsApp and never notice extra steps, while the AI call and cancel window only apply to the smaller, flagged group most likely to return.

Is offering a prepaid discount worth it?

For many D2C sellers it is, since removing COD risk on a converted order is often worth more than the small discount offered to secure it.

Should the cancel window be the same for every order?

Not necessarily. Many sellers use a shorter window for high-risk orders and a longer one for low-risk orders that simply haven't replied, so genuine customers get more time to respond.

Related reading

Available across India — see WhatsApp & AI calling automation by state and city.