From the moment an order is placed to the tag on your store: when we call, what the customer hears, how retries work, and what happens for every possible answer.
| Setting | Default | What it does |
|---|---|---|
| Delay after order | 2 minutes | Gives the customer a moment, and lets quick cancellations arrive first |
| Calling hours | 9:00 am to 9:00 pm IST | Orders outside these hours are called when the window next opens |
| Attempts | 3 | First call plus up to two retries |
| Retry gaps | 30 minutes, then 2 hours | Wait before the second and third attempt |
| Retry when | No answer, busy, call failed | Which call results trigger another attempt |
| Give up after | 48 hours | Orders not reached by then are closed as expired |
Retries always stay inside your calling hours. If a retry would fall after the window closes, it moves to the next morning, unless that is past the give-up time.
The ready-made scripts below are what we use by default. You can edit every line; the customer name, store name, order number and COD amount are filled in for each order.
नमस्ते {customer name} जी, {store name} से आपका ऑर्डर {order number}, कुल राशि {COD amount}, कैश ऑन डिलीवरी पर है।
ऑर्डर कन्फ़र्म करने के लिए एक दबाइए। कैंसल करने के लिए दो दबाइए।
Hello {customer name}, this is {store name} calling about your order {order number} of ₹{COD amount}, cash on delivery.
To confirm your order, press 1. To cancel it, press 2.
If your store is briefly unreachable when the customer answers, the customer still hears a reassuring message ("we'll update your order shortly") and we keep retrying the update in the background.
| Outcome | When | Default result in your store |
|---|---|---|
| Confirmed | Customer pressed 1 | Order confirmed (tag, note or status, by platform) |
| Cancelled | Customer pressed 2 | Order cancelled |
| No input | Customer answered but pressed nothing | Tagged with your no-input label |
| Unreachable | No answer, busy or failed on every attempt | Tagged with your unreachable label |
| Expired | Give-up time passed before the customer was reached | Closed, no further calls |
| Cancelled elsewhere | Order was cancelled before we called | Not called |
| Confirmed elsewhere | Order was already confirmed before we called | Not called |
| Update pending | Customer answered but your store didn't accept the update yet | Update retried in the background |
You choose what happens for each outcome: add a tag, add a note, cancel, or do nothing. Labels default to the common convention (COD-CONFIRMED, COD-CANCELLED, COD-UNREACHABLE) and can be renamed to match your fulfilment filters.
Platforms record confirmation differently. We use what each one supports and never change payment status.
We POST confirm or cancel to your action URL, signed, and your system updates the order.
Order tags such as COD-CONFIRMED plus a note; cancellations use Shopify's own order cancel.
WooCommerce has no order tags, so we add an order note and, if you choose, change the order status.
Resources to help you evaluate and implement
Tell us your store platform and order volume. We'll set up your rules and script with you.