Dograh

AI Voice Agents for Churn-Risk Check-in Calls in SaaS: Ask, Don't Sell

AI Voice Agents for Churn-Risk Check-in Calls in SaaS: Ask, Don't Sell
Use CaseOctober 24, 2026·7 min read

AI Voice Agents for Churn-Risk Check-in Calls in SaaS: Ask, Don't Sell

Vemu Sandeep
Vemu Sandeep·GTM Engineer, Dograh AI

GTM engineer at Dograh working across voice AI and enterprise AI. IIT (BHU) and IIM Visakhapatnam alumnus.

AI voice agents for churn-risk check-in calls in SaaS call accounts when your own data shows a warning sign, such as usage dropping. After verifying the contact, the agent asks one open question, records the answer as stated with a reason category, and offers only help. It makes no offer, and anyone leaving goes to the account owner.

Key Takeaways

  • A signal in your own data starts the call, not a list of everyone.
  • The agent asks one open question and records the answer as the customer said it.
  • An upgrade or discount on this call generally needs prior express written consent.

This post is part of our guide to AI voice agents for SaaS and subscription businesses. The guide's section "Keeping them happy: check-ins and billing support" puts this call in one line: "The churn-risk check-in starts from a signal in your own data, such as usage down or seats removed, sent through the API Trigger." Here is that call in full, run in Dograh, an open-source, self-hostable voice agent platform.

Which accounts get a check-in call

The accounts that churn most are often the ones no person ever calls. A voice agent can reach them at a cost that fits their price.

ChartMogul's SaaS retention report, built from about 3,500 software companies with at least $250k in annual recurring revenue, shows the gap clearly. Across 2025, AI-native products under $50 a month kept just 23% of their revenue (gross revenue retention), while those over $250 a month kept 70%. In the report's words, "Lower-priced products have always attracted more churn."

Those low-price accounts rarely have a customer success manager. A check-in call gives each of them one conversation before they quietly leave, and gives your team the reason in the customer's own words. Larger accounts can get the same call as a first step, with the account owner following up. The same call type in other industries is covered in AI voice agents for renewals and retention.

The signal that starts the call

Your system decides who gets called, from signals in your own data. The call list is never "every customer this month".

Useful signals are concrete: weekly active users down by half, seats removed, a key integration disconnected, or a run of support tickets. Your product or analytics backend spots the signal and starts the call through the API Trigger, with the account facts the agent needs in the call's context, such as the contact's name and what changed.

A product dashboard shows weekly active users falling by half. The company's own backend spots the drop and starts a call, and a voice agent phones the customer. Other signals listed are seats removed, a key integration disconnected and a run of support tickets. An account close to its renewal date is skipped and gets the renewal call instead.
Low-priced accounts rarely have a customer success manager, so a drop like this can be the only sign before they quietly leave. Let one or two concrete signals start the call, never a monthly list of every customer.

The API Trigger dials at once, so schedule the trigger in your own system to fall inside sensible hours in the customer's time zone. For a weekly batch, upload a fresh list to a campaign instead. A campaign's calling hours run in one time zone, so split the list by time zone.

Skip accounts close to their renewal date. They get the renewal reminder call, which reads the date and price and processes a cancellation, so the customer does not hear from you twice in one week.

One open question, recorded as said

The call asks one open question and writes down the answer, and everything else in it supports that.

It opens with Greeting Text, the fixed line Dograh speaks word for word as the call connects, naming your company and the contact. Recording starts as the call connects, so any recording notice goes first. Before the agent mentions usage figures or anything else about the account, tell it in the prompt to ask for an approved check, such as the account email plus the number on the last invoice. A phone number finds the account, but it does not prove who answered.

Then the agent asks one open question, such as "How is the product working for your team right now?" Tell it in the prompt to listen and ask one follow-up at most. Two extraction variables record the result: the reason as the customer stated it, and a reason category from a short list you define, such as budget, missing feature, champion left, setup problem or no issue. Extraction is an AI step, so the transcript and recording stay the exact record.

The agent offers help and nothing else. It can answer setup questions from your product docs in the Knowledge Base, or book a session with a person through an HTTP API tool.

After the call, a Webhook node sends the reason, the category and the transcript link to your CRM, where the account owner picks it up.

Dograh

Open Source Alternative to Vapi / Retell

Self-hosted voice agent platform — no per-minute fees

dograh-hq/dograh

Star on GitHub

Why the check-in makes no offer

A check-in that sells is a sales call, with a stricter consent rule. This section is general information, not legal advice.

In its February 2024 declaratory ruling, the Federal Communications Commission (FCC) said calls using AI-generated voices "require the prior express consent of the called party to initiate such calls absent an emergency purpose or exemption." The rule at 47 CFR 64.1200 goes further for "any telephone call that includes or introduces an advertisement or constitutes telemarketing", which needs "the prior express written consent of the called party".

The same rule defines an advertisement as "any material advertising the commercial availability or quality of any property, goods, or services". So the moment the agent mentions a higher plan or a discount, the call generally includes an advertisement and needs written consent. A plain check-in with no offer generally needs prior express consent. Confirm your position with counsel.

That is why the agent makes no upgrade, discount or save offer, even to a customer who sounds unhappy with the price. The price concern is recorded as stated, and the account owner decides what to do about it. Our post on plan upgrades and cross-sell in telecom shows how an offer call runs once written consent is on file.

A customer who says they are leaving goes to the account owner. Transfer Call works on Twilio, Telnyx and Asterisk ARI. It passes no summary by default; on Twilio it can play a short spoken introduction to both people. Write the details to your system with an HTTP API tool before the transfer. If nobody answers, the caller stays with the agent; tell it in the prompt to offer a callback.

Checking the agent stayed off sales

A prompt that says "never make an offer" is a hope until you check the calls. Dograh's QA gives you the check.

The QA node scores each step of the call separately: each step gets its own tags, a 1-10 score, sentiment and a summary. Write the QA prompt to tag any mention of a plan, price or discount. A Sample Rate below 100 picks calls at random. Run QA on a 5 to 10% sample of live calls, and fix the prompt when a tag shows up. "Use Workflow's LLM" is on by default. Our post on automated QA for voice agents covers the setup.

Promise no save rate from this call. What it gives you is the reason, in the customer's words, in your CRM, for accounts nobody was talking to.

Opt-outs live in your own system. Dograh keeps no do-not-call list. When a caller opts out, an HTTP API tool writes it to your own list, and you remove those numbers before the next campaign upload. The do_not_call call tag records the request but never blocks a later call.

Self-hosted Dograh has no per-minute platform fee (servers, model keys and phone minutes still cost); Dograh Cloud has a 1¢-a-minute platform fee.

Join the Dograh Community

Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.

Glossary

Gross revenue retention (GRR)
The share of last year's recurring revenue still earned from the same customers a year later, counting downgrades and churn but not upgrades. It shows how much of the base is leaking, before any expansion.
Advertisement (under the TCPA rules)
In 47 CFR 64.1200, any material advertising the commercial availability or quality of property, goods or services. A check-in that mentions a higher plan or a discount generally includes one, so it needs prior express written consent.
Reason category
A label from a short list you define, such as budget or missing feature, that the agent extracts alongside the customer's own words. It lets the account owner sort calls; the transcript stays the exact record.
QA sample rate
The share of calls Dograh's QA node reviews. Below 100 it picks calls at random, which suits a 5 to 10% check that the agent stayed off sales.

Frequently Asked Questions

Get started with Dograh

Build, deploy, and scale AI agents with Dograh. Join the community of developers building the future.