
Founder of Erudience. Head of AI at Absolute Intelligence UK. Ships production n8n and voice AI systems for UK and international teams.
A production voice AI debt collection system ingests overdue account lists on a schedule, batches outbound calls within permitted hours, runs a staged conversation script that changes tone by how overdue the account is, detects voicemail and branches to a compliant message plus SMS fallback, and hands off to a DTMF keypad flow for any card payment so the AI itself never touches payment details.
Outbound debt collection is one of the least forgiving places to run a voice AI agent. Calling windows are regulated, the message has to change depending on how overdue an account is, and a customer who wants to pay on the call needs to be able to hand over a card number without the AI ever hearing it. This is the actual architecture behind a production system doing exactly that for a telecom client.
None of this is a demo. It runs at volume, across multiple brands from one platform, with every call logged and every payment PCI compliant by construction rather than by policy.
Lead ingestion and call scheduling
Overdue account lists land via FTP on a schedule. An automation parses the file and upserts records into a Supabase table, keyed so re-running the same file does not create duplicate leads. This detail matters more than it sounds: a collections list re-uploaded after a partial failure is a routine event, and without an upsert key it silently doubles every account on it.
A cron-based scheduler checks each lead's status flags (active today, do not contact, permitted time window) and batches outbound calls only within permitted calling hours, skipping weekends and public holidays automatically. This is the compliance layer, and it lives in the scheduler, not in the conversation script, so it cannot be bypassed by anything downstream.
A staged script, not one script
The conversation is not one fixed script. It has distinct stages corresponding to where the account sits in the collections process: an early reminder tone for a first missed payment, a formal notice tone once it has aged further, and an active enforcement tone with different required disclosures for accounts furthest along. The voice agent picks the stage from the account record before the call connects.
Getting the tone and required disclosures right per stage is the actual engineering work here, more than the voice technology itself. A script that is too aggressive too early damages the relationship and the brand; one that stays too soft too long delays recovery. This is tuned with the client's collections team, not guessed at.
Voicemail detection and SMS fallback
The system detects whether a human answered or the call went to voicemail and branches accordingly: a compliant, stage-appropriate voicemail message, versus continuing a live conversation. Getting this detection wrong in either direction is costly. A live person mistaken for voicemail gets read a monologue with no chance to respond. Voicemail mistaken for a live person wastes agent time on a system that has none to waste.
For unanswered calls, or as a supplement, an automated SMS goes out with a secure payment link. This alone recovers a meaningful share of accounts that would otherwise need a second or third call attempt, and it costs a fraction of a call.
In-call payment without the AI touching a card number
When a customer wants to pay during the call, the agent hands off to a DTMF (keypad) payment flow integrated with a payment processor. The card number is entered by the caller directly on their keypad and never passes through the voice model, the transcript, or any log the automation writes. This is what keeps the flow PCI friendly by design rather than by policy someone has to remember to follow.
The same underlying system serves multiple brands from one platform, each with its own script, voice, and caller ID, routed by which brand the lead belongs to. This is what makes the economics work: the infrastructure cost is shared, only the configuration changes per brand.
Post call logging and the feedback loop
After every call, a webhook receives the transcript and outcome and logs it against the lead record, updating status (contacted, promised to pay, disputed, escalated) for reporting and for the next scheduling cycle. Nothing about the next call's stage or timing is guessed, it comes from this log.
This closes the loop: the system does not just place calls, it learns from the outcome of each one what to do next for that specific account, which is what separates a working collections system from a script that dials a list once and stops.
- ·Calling window compliance lives in the scheduler, not the conversation script, so it cannot be bypassed downstream.
- ·A staged script that changes tone and disclosures by how overdue the account is matters more than voice quality on its own.
- ·Voicemail detection accuracy directly determines whether a compliant message gets left or a live conversation gets cut short.
- ·DTMF payment handoff keeps card data out of the AI's transcript entirely, which is what makes the flow PCI friendly by design.
- ·Post-call logging feeds the next scheduling decision, turning a call list into a system that adapts per account rather than a one-shot script.
Frequently asked
Is outbound voice AI for debt collection compliant with UK and EU rules?+
It can be, when calling windows, consent handling, and required disclosures are built into the scheduler and script rather than left to the AI's judgement in the moment. This is a design requirement from day one, not an afterthought layered on later.
How does the system tell voicemail from a live answer?+
Machine detection runs early in the call using signal analysis on the answer, standard in platforms like Twilio and ElevenLabs. The workflow branches on that result before the conversation script proceeds.
Why DTMF instead of letting the agent take a spoken card number?+
A spoken card number would pass through the voice model and potentially get logged in a transcript, which is a compliance risk. DTMF keypad entry goes straight to the payment processor and never touches the AI layer at all.
Can this run across multiple brands from one system?+
Yes. The infrastructure, scheduling, and logging are shared, while script, voice, and caller ID are configured per brand and selected by which brand the lead belongs to at call time.
What is the typical build timeline for a system like this?+
Six to ten weeks from scoping to live outbound calls, most of that time going into the staged script design, disclosure review with legal or compliance, and a pilot run on a small account segment before scaling volume.
Further reading and references
Related work on this site, and the tools and profiles referenced above.
Get new guides like this one
Whatever I ship next, straight to your inbox. No noise, unsubscribe any time.
