NDR calling: resolve failed deliveries before the next attempt
When a courier marks a non-delivery report (NDR), an AI agent calls the customer. It reconfirms the address, agrees a new delivery slot, or records that they want to return or cancel - so the next attempt has a real chance.
Hello Amit, this is a quick call about your order 7730. We tried to deliver it today but could not reach you. Can I take a minute to rebook it?
CUSTOMERMain office mein tha. Kal shaam 6 baje ke baad ghar pe rahunga.
Why failed deliveries need a call
A failed delivery attempt usually has a simple cause: nobody was home, the address was incomplete, or the phone was off. If nobody fixes that cause, the second attempt fails too and the parcel goes back.
NDR management automation means each exception gets a call right after it happens. The customer picks a slot or fixes the address while the parcel is still nearby.
An AI agent can make those failed delivery calls for every NDR in your calling hours, and hand your team a clean list of decisions.
How the AI agent resolves an NDR
Start from the ready-made agent template, then change any step in the visual flow builder. Test it by typing, by talking in your browser, or with a real call to your own phone before you publish.
The NDR reaches OyeHello
Push each failed attempt from your system with the REST API or a webhook data stream, or upload the day's NDR list as a CSV.
The agent confirms it has the right person
It checks it is speaking to the recipient before talking about the parcel, and never blames them for the miss.
It reconfirms the address
It reads the address on file and notes any landmark, floor or correction.
It agrees a new slot
It asks when someone will be available and writes down the preferred slot.
Or it records a return or cancel
If the customer no longer wants the parcel, a clear return or cancel decision is a valid outcome. There is no pressure.
The decision goes back to your system
The answers are saved as fields and can be sent to your courier or order system by webhook, or pushed from a board column.
Confirm the new slot on WhatsApp
During the call, the agent can send an approved WhatsApp template with the rebooked slot or tracking details. If nobody answers, your board can send a WhatsApp follow-up instead.
WhatsApp on OyeHello →- Send the new slot or tracking link on WhatsApp mid-call
- Timed WhatsApp follow-up for unanswered NDRs, cancelled if they reply
- Replies on WhatsApp can be handled by a WhatsApp AI agent or your team in the inbox
What you connect
REST API and webhooks
Trigger a call for each NDR from your courier or order system and get the decision back on a signed webhook.
Custom webhook tool
Let the agent call your own API during the call, for example to rebook the attempt there and then.
Data streams
Feed NDRs in from a webhook, Zapier, Make or a Google Sheet; each is called as it arrives.
CSV upload
Upload the NDR list for the day and run it as a campaign with retries.
Shopify
Look up the order's status during the call and note the outcome on the customer's profile.
Google Sheets and Slack
Log every decision to a sheet, or post returns to your ops channel.
Calling rules are checked before every dial
Your calling rules are checked before every number is dialled, not after. Consent and opt-outs are kept in a tamper-evident record you can export.
Security and compliance →- The agent confirms it is speaking to the recipient before discussing the parcel
- It never asks for OTP, card or payment details on the call
- Numbers on India's DND register, your do-not-call list or opted out are never dialled
- Calls only go out within the pack’s calling hours: 10am to 9pm IST on the India pack, TRAI’s default for promotional calls
- Frequency caps limit how often one person is called and the gap between calls
- Block calling on holidays and festival dates you choose
- "Don't call me" is recorded and blocks that number across your workspace
- Optional opening line that says it is an AI assistant, in the caller's language
- Every skipped call shows which rule stopped it
Reach customers in their own language
Every voice speaks all 11 supported languages. The agent stays in the language you set and only switches when the customer clearly asks. Customer names are written in the agent's script so they are said correctly.
What an NDR call costs
One price for every call: ₹6/min, paid from a prepaid wallet. No plans, no minimums. Every new workspace gets ₹1,000 of free credit.
See full pricing →Calls are billed per minute, rounded up, so a 40-second call counts as one minute. Calls blocked by your calling rules cost nothing. These amounts come out of your wallet with no GST; GST (18%) is added only when you top up. These figures are arithmetic on call length only; your real call lengths show in your call logs.
NDR calling: common questions
NDR stands for non-delivery report - the note a courier makes when a delivery attempt fails. NDR calling means phoning the customer right after that to fix the cause: confirm the address, agree a new slot, or record a return or cancel.
Your courier or order system sends each NDR with the REST API or a webhook data stream. You can also upload a CSV of the day's NDRs and run it as a campaign.
Yes, if your system has an API. The agent can call your own API during the call with the custom webhook tool, and every result can also go out on a signed webhook after the call.
Calls are billed per minute at ₹6/min, rounded up. Calls blocked by your calling rules cost nothing. There are no plans, and new workspaces get ₹1,000 of free credit.
Busy and unanswered numbers are retried after a gap you choose. If the call reaches voicemail the agent can end it. A WhatsApp follow-up can go out from your outcome board.
Put an AI agent on your NDR queue
Start from the ready-made NDR resolution agent, connect your order data and test it on your own phone first.