AI voice agents for dormant-customer reactivation call people your own records show have gone quiet, such as lapsed buyers or inactive app users. After verifying the person, the agent asks why they stopped and records the answer, then makes at most one offer your system returns. Any offer makes it a sales call, so written consent comes first.
Key Takeaways
- Your own system decides who is dormant and who has written consent on file.
- Ask why they stopped before any offer, and record the answer as said.
- The 18-month business relationship never stands in for written consent to an AI voice.
A call about an old account sounds like a scam, and one offer makes it a sales call. We cover who counts as dormant, the call list, written consent, asking why people stopped, a single offer, opt-outs, industries and measuring results in Dograh. You can self-host Dograh or run it on Dograh Cloud.
Who counts as a dormant customer
A dormant customer is whoever your own records say has stopped, and every business draws that line in its own place. A lender might count a borrower with no loan for a year. A fintech app might count a user who has not logged in for 90 days. A gym counts a cancelled member, and an estate agency counts a seller it helped years ago.
Write the rule down as a field in your system, such as last purchase date or last login, so the list comes out the same every time you build it. A rule that lives in someone's head drifts from one campaign to the next, and then nobody can say why a person was called.
Two groups look dormant and are not. Someone who started an application and stopped is a drop-off, and the call that helps them finish is a help call with different consent rules, covered below. A current customer who is going quiet is a retention case, and that call checks in before they leave. Keep both apart from reactivation, because the script and the consent differ.
The same split runs inside a single call. A call that only tells a customer something about their account, with nothing offered, is a service call. Add a cashback offer or a fee waiver and the same call becomes a sales call, with the rules that come with one.
Build the list from your own system
The call list comes from your own records, filtered before every upload, and never from bought or scraped numbers. Start with your dormancy rule, then take people out.
Remove anyone without written consent on file for AI-voice calls and anyone who has opted out. Then take out anyone in collections or a hardship plan. A customer who owes you money should hear from your collections team, under the rules that team works to, and never from a sales call that skips the balance.

Segment what is left by the reason they stopped, where you know it, and by how long ago. A customer who left over price and one who left after a bad experience need different calls, and some should not get one at all. Someone who left after a complaint that was never resolved will hear an offer as a brush-off.
Upload the list to Campaigns in Dograh. Every column beyond the phone number reaches the agent as a variable, so it can know the customer's first name and last activity date before it says hello. Pass only what the call needs. A field the prompt never uses is not sent to the model, but it is stored with the call record.
Opt-outs live in your own system. The agent writes each one there during the call, and your system leaves those numbers off the next list. Dograh also records the do_not_call outcome on the call, so you can export those calls and drop the numbers before the next campaign as a second check.
Every offer makes it a sales call
Any offer, discount or invitation to come back turns a reactivation call into telemarketing, and an AI voice needs written consent for that. This is the rule most reactivation campaigns get wrong.
Under the Telephone Consumer Protection Act (TCPA), the Federal Communications Commission's calling rules treat a call that encourages a purchase as telemarketing. When that call uses an artificial voice and goes to a mobile or a home line, it needs the person's prior express written consent. That means a signed agreement that names the phone number and allows those calls. The FCC's 2024 ruling on AI-generated voices confirmed that an AI voice counts as an artificial voice.
Past purchases do not fill that gap. The rules define an established business relationship as a purchase in the last 18 months, or an inquiry in the last three months, and it matters for the do-not-call rules. It never replaces written consent for an AI-voice sales call. Dormancy usually means it has lapsed anyway, since a customer who last bought two years ago is past the 18 months.
The Federal Trade Commission's Telemarketing Sales Rule points the same way for prerecorded sales calls, which need the person's express agreement in writing. So the consent record is the real gate on every reactivation list, and the dormancy rule only decides who might be called once that record exists.
A call that only helps someone finish what they started, with nothing new offered, is a different call. It is generally informational and needs prior express consent, such as the number the person gave on the form. AI voice agents for win-back and drop-off recovery sets out that split call by call. Customers outside the US fall under their own country's rules, and your consent wording is worth confirming with counsel before the first campaign.
Verify, then ask why they stopped
The call names the business and confirms who it is speaking to, then asks why the person stopped before saying anything else about the account. An unexpected call about an old account sounds like a scam to many people. In the Federal Reserve's survey of household finances in 2025, 20% of adults said they experienced financial fraud or scams that year.
Put the business name in the Greeting Text, the fixed line Dograh speaks word for word as the call connects. The FCC's rules also expect a sales call with an artificial voice to name the business at the start and offer a way to opt out early, so keep both in that line. A line saying an automated assistant is calling belongs here too, whether you add it by choice or a local law requires it. Switch off Allow Greeting Interruption on the Start Call node, because it begins enabled and a customer's first two words would otherwise stop those notices midway. The agent never asks for passwords or card numbers.
The agent then asks for the person by name. That only finds the right person. Before it mentions anything from the account, even the old plan or the last purchase, it asks for an approved check, such as date of birth or the last digits of an account number. If the check fails, the prompt tells it to share nothing and end the call politely.
Once the person is verified, the first real question is why they stopped, asked openly and before any offer. Record the answer with variable extraction, in a field such as reason_for_stopping, as the customer stated it. The model fills that field, so treat it as a summary and go back to the transcript and recording for the customer's exact words. The reason is worth having even when the customer never comes back, because it tells you what to fix.
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
One offer, read from your system
The agent makes at most one offer, the one your system returns for that customer and that reason, and a no ends offers on that call.
An HTTP API tool sends the stated reason and a customer reference to your offer service during the call and gets back what you can actually give. That might be a fee waiver or a plan that fits better, and sometimes it is nothing. A message, typed or recorded, plays when the tool starts, while the request runs, and you can add a later update such as "I'm still checking" if the lookup takes a few seconds. The agent reads only what comes back and never invents a discount or a deadline from its prompt.
Tell the agent in the prompt that one no ends offers for the call. A second, bigger offer after a no feels like pressure, and it teaches customers that saying no pays. If the customer wants to come back, the agent records that, and an HTTP API tool asks your own messaging provider to send a sign-up link by text or email.
Questions only a person can answer go to your team through Transfer Call, which works on Twilio, Telnyx, Plivo, Cloudonix and Asterisk ARI. Your team member's phone rings first, and the former customer is brought on only after that person answers. No summary travels with the call by default, so the agent writes the details to your system before the transfer.
Some terms must be read in approved words, such as a rate or a fee. Put that wording in fixed text, such as a pathway's Transition Speech, instead of leaving the model to phrase it. Transition Speech takes no per-customer values, so each offer that needs exact wording gets its own pathway.
Opt-outs, voicemail and calling hours
A spoken "stop" ends the calls for good, and voicemail and calling hours each need a deliberate setting. Callers answer by voice. When a former customer says stop, an HTTP API tool sends that request to your system during the call, and the number is gone from the next list your system builds. The agent confirms the request in one sentence and ends the call.
Voicemail handling is off by default, and it is set per agent. Once you turn it on in Settings, "When voicemail is detected" starts on "Disconnect the call", and a message plays only when you choose "Leave a message". For a reactivation list, a short message with the business name and a number to call back is enough. A voicemail that carries an offer is still a sales message.
Each campaign keeps its calling hours in a single time zone, so a nationwide list of former customers becomes one campaign per time zone. Retries run from 0 to 10, two by default, and how often one person hears from you across campaigns is decided by your own list. Former customers screen unknown numbers, so call from the number they already know.
Reactivation calls by industry
The call shape stays the same in every industry, and what changes is who comes off the list and what the agent may never say.
In insurance, anyone who left over a claim stays off the list, and a licensed producer gives the quote, never the agent. AI voice agents for win-back in insurance also explains why the call works best near the person's next renewal date.
In telecom, the list comes from the provider's own closed accounts, never from another carrier's porting request, and reassigned numbers are checked first. Our post on win-back in telecom covers both checks. Gyms call former members and people who toured but never joined, and the agent never signs anyone up on the call, as gym membership sales and win-back explains.
Fintech apps and neobanks call inactive users. An account-status call and a call with an offer are two different calls, and the account is reopened in the app, never on the phone. AI voice agents for win-back in fintech walks through both.
Buy now, pay later (BNPL) providers call lapsed shoppers, and the win-back list stays apart from collections. Anyone with a missed payment stays off it, and the win-back agent never sees a balance. AI voice agents for win-back in BNPL sets up that split.
Estate agencies call past clients and old leads, which is where much of their business comes from. In the National Association of Realtors' 2026 Member Profile, the typical REALTOR earned 28% of their business from repeat clients in 2025 and another 22% from past clients' referrals. Even a friendly check-in that asks about moving plans is a sales call, as AI voice agents for win-back in real estate explains.
Lenders also call applicants who started an application and stopped. That is a help call to finish what the person asked for, with no new offer and no comment on approval. AI voice agents for abandoned loan application recovery covers that call.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
Measure reasons, not just returns
Count what the calls teach you as well as who came back. The reasons people give, and the opt-outs each campaign collects, tell you more than a single reactivation rate.
A Webhook node at the end of the call sends your system the results, including {{gathered_context.reason_for_stopping}} and whether the offer was accepted. Group those reasons by month. If most former customers name the same fee, the fix is the fee, and no script will beat it.
Watch opt-outs per campaign as the warning light. A rising share means the list or the opening is wrong. To test two openings, split one campaign between two published versions of the agent. Our post on how to A/B test voice agent scripts shows how many answered calls each version needs.
Review conduct as well as outcomes. Replace the QA node's System Prompt with instructions that flag any call where the agent made a second offer after a no or mentioned a balance, and send flagged calls to a person who reviews them that week.
Where the customer data sits
Reactivation calls carry purchase history and sometimes financial details, so decide where the audio and transcripts live before the first call. Dograh is self-hostable. Hosted on your own servers, it keeps every former customer's call data inside your walls, and none of it reaches Dograh the company. The page on a self-hosted reactivation voice agent shows how that setup asks why customers stopped and logs every reason and opt-out in your system.
Here Dograh handles the call flow, the offer and opt-out tools and the telephony, while the speech and language models are a separate layer you pick. Your own keys decide which contract covers the models, but the audio of every call still travels to whichever provider you picked. Call audio stays in-house only with open-weight models on your own servers.
Telemetry is on by default in a self-hosted install, sending anonymous usage data, and it turns off when you set ENABLE_TELEMETRY=false and delete POSTHOG_API_KEY. Running it yourself means no per-minute platform fee, but the servers, model keys and phone minutes behind each campaign are still yours to pay, and Dograh Cloud charges a 1¢-a-minute platform fee.
Where to start
Start with the segment whose consent records are cleanest and whose reason for leaving you can already guess, often price. Run a short list first, and read the first transcripts for offers your system did not return and second offers the agent should not have made.
Before any former customer hears the agent, call it from a real phone number yourself. Most phone calls reach the agent as 8 kHz audio, while a browser test runs at 16 kHz, so names and figures can sound different to the speech model. Then ask the agent "why are you calling me?" in as many ways as your team can think of, and check that the answer names the business every time. Each reactivation call above has its own deep dive:
- AI Voice Agents for Win-Back in Fintech: Ask Why, Then One Offer
- AI Voice Agents for Win-Back in BNPL: Check the Balance First
- AI Voice Agents for Win-Back in Real Estate: Past Clients, Old Leads
- AI Voice Agents for Abandoned Loan Application Recovery
Glossary
- Dormant customer
- A customer your own records show has stopped, by a rule you set, such as no purchase in a year or no login in 90 days. The rule lives as a field in your system so every list is built the same way.
- Established business relationship
- Under the FCC's calling rules, a relationship based on a purchase in the last 18 months or an inquiry in the last three months. It matters for the do-not-call rules and never replaces written consent for an AI-voice sales call.
- Prior express written consent
- A signed agreement, electronic signatures included, that names a phone number and allows sales calls with an artificial or AI voice to it. Any reactivation call that makes an offer needs it before the first dial.
- Drop-off recovery
- A call to someone who started an application or sign-up and stopped, to help them finish it. With nothing new offered it is generally informational, which sets it apart from a reactivation call that sells.

