A DPD-bucket voice workflow calls each borrower with a message matched to how late they are: a friendly reminder before the due date, a firmer request with a payment link at 1–30 days, and a callback or human follow-up from 60 days on. Edesy's workflow templates include a loan collection suite organised by DPD bucket, with retries and payment links.
This post is the operating design. For a ready Hindi script with promise-to-pay capture, see the EMI collection voice agent template. For timing rules, read calling hours for collection calls.
Build your bucket workflow on a test list: Try Edesy free — ₹50 free credit, no card needed.
The buckets at a glance
| Bucket | Goal of the call | Tone | Main action on the call | Follow-up if no payment |
|---|---|---|---|---|
| Pre-due (T-3 to T-1) | Remind, avoid a miss | Friendly | Confirm the date; offer a payment link | WhatsApp reminder on the due date |
| 1–30 DPD | Get a payment or a firm date | Polite, direct | Payment link; capture promise-to-pay date | Call again the day after the promised date |
| 31–60 DPD | Understand why; agree a plan | Calm, specific | Capture reason and partial amount | Callback at the time the borrower chooses |
| 61–90 DPD | Escalate within policy | Formal | Transfer to a collections officer or schedule a callback | Human follow-up |
| 90+ DPD | Hand to your recovery process | Formal | Record the conversation; set outcome | Your recovery team takes over |
Your own policy decides the exact bucket edges, the wording and when a human steps in. The template is a starting point, not a policy.
How the workflow runs
1. Trigger. A scheduled (cron) trigger each morning, or a webhook from your loan system or CRM, pushes the day's accounts with their DPD. You can also start it from the API.
2. Branch by bucket. A condition step reads {{dpd}} and routes each account to the right agent or campaign.
3. Call. A voice-call step places the call during your daily calling window. Variables like {{name}}, {{amount_due}}, {{due_date}} and {{loan_last4}} fill the script, so no borrower data has to live in the prompt itself.
4. Act during the call. The agent uses mid-call actions:
- send payment link by SMS, WhatsApp or email, via Razorpay, Stripe or PayU;
- schedule callback at the time the borrower gives;
- transfer call to a collections officer, or a DTMF menu ("press 1 to speak to an officer");
- set call outcome at the end.
5. Extract. After the call, post-call extraction pulls fields like promise-to-pay date, promised amount, reason for delay and whether the right person answered.
6. Follow up. A call-ended trigger filtered by outcome sends a WhatsApp or SMS confirmation, updates your CRM or Google Sheet, and waits (a delay step) until the day after the promised date before checking again.
See payment collection and the workflow builder for what each step can do.
Retries that respect the borrower
Campaign retry settings are where collection programmes go wrong most often. Set them per bucket:
| Setting | Range in Edesy | Suggested start for collections |
|---|---|---|
| Attempts | 1–5 | 2 for pre-due, 3 for 1–60 DPD |
| Delay between attempts | 5–120 minutes | 120 minutes |
| Retry only these dispositions | your choice | No answer, busy |
| Daily calling window | your choice | Inside your policy's permitted hours |
| Parallel calls | 1–100 | Start low; raise once outcomes look right |
Never retry do not call, wrong number or not interested automatically. Those need a person to look at them. See call retries and dispositions.
Dispositions to use
Map every call to one outcome so each bucket's numbers mean something:
- completed or success: payment made or confirmed on the call.
- callback scheduled / callback requested: the borrower gave a time.
- partial: a part payment or partial promise.
- no decision: spoke to the borrower, no commitment.
- transferred: handed to an officer.
- wrong number and do not call: remove or review; never auto-retry.
- no answer, busy, voicemail: eligible for retry.
- custom: for example "promise to pay" with the date in an extracted field.
Voicemail detection works from the transcript or the model and can hang up, leave a message or schedule a call back. Keep any voicemail message free of loan details.
What to keep out of the script
- No threats, no talk of legal action the lender has not decided on, no shaming.
- No full account numbers; the last four digits are enough to identify the loan.
- No discussion of the debt with anyone other than the borrower. Have the agent ask for the borrower by name and end politely if someone else answers.
Following RBI fair practices and your own collection policy stays the lender's responsibility. The platform gives you calling windows, retry limits, approved scripts, recordings and transcripts so you can apply and audit that policy.
Set it up in an afternoon
- Start from the EMI collection template in the template gallery.
- Make one copy per bucket and adjust the tone and the ask.
- Test each with the variable tester and browser calls in the Test Center; save scenarios like "borrower disputes the amount" and run them as evals after every script change.
- Import the workflow template for the DPD suite and connect your trigger.
- Run a small batch per bucket, read the transcripts, then scale.
The docs cover debt collection use cases and campaign scheduling. Pricing starts from ₹4/min on plans and credit packs, or ₹6/min pay as you go, plus telephony; see pricing.