Ask, don’t pitch
The agent surfaces the decision: return the car, keep it, or replace it. Anything about price or terms goes to a person.

Case study · Voice AI
Autohaus König had thousands of leases ending across 80 dealerships and a small team to call them. We built a German-speaking voice agent that worked the book, found each customer’s next step, and booked them with the right branch.
Campaign 01
Sep–Dec 2025 · n=331
Campaign 02
Dec 2025–Feb 2026 · n=117
Two independent campaigns, months apart, landed within one tenth of a percentage point.
The client
Autohaus König is a large multi-brand dealer group in Germany, spanning 80 locations and 17 marques. A meaningful part of that business runs on leases with a fixed ending.
At expiry, a customer has three roads: hand the keys back and leave, keep the vehicle, or move into another one. Two of those roads keep the customer with König—but only if someone starts the conversation before the decision is made.
The problem
König already knew which leases were expiring. The spreadsheet held thousands of rows, each with a customer, branch, vehicle, and expiry date. A small in-house team worked it by phone.
But a finite team had to triage the queue. First attempts displaced second attempts; missed calls slipped down the list; contracts ended quietly. The constraint was not data—it was enough consistent follow-up inside the decision window.
Our approach
We did not build a closer. We built the conversation that has to happen before a closer is useful: identify what the customer wants to do next, then put the right person in front of them.
The agent surfaces the decision: return the car, keep it, or replace it. Anything about price or terms goes to a person.
Appointment availability is generated in code and passed in as a closed list. The agent cannot offer a time that does not exist.
Formal Sie throughout, with dates, times, years, model numbers, and brand names converted before they reach the voice layer.
How it works
A dialler that respects capacity, an agent that can only offer real appointments, and a grader that writes every outcome back where branch teams already work.
Lease book in
One queue across 80 locations
01 · Dial
Hourly sweep
Find records due for contact
Enrich the row
Load salutation, vehicle and spoken dates
Capacity check
Release exactly as many calls as the voice platform can take
4,195 customers · one expiry date each
02 · Talk
Three roads
Return it, keep it or replace it
Closed slot list
Offer only appointments generated in code
Appointment agreed
Capture date, time, branch and callback owner
German STT · reasoning · German TTS
03 · Grade
End-of-call report
Store the transcript and summary
Grade the conversation
Classify one of six defined outcomes
Write back and notify
Update the same sheet and email the branch
Decision · sentiment · branch · slot
No answer
Return the record to the queue for up to three attempts, each at a different hour and never before the next working day.
Customer calls back
Match caller ID to the lease book and reopen the same agent with the customer, car, branch and expiry date already loaded.
Voice was the interface. Reliability came from the deterministic work around it: normalising language, constraining availability, controlling call capacity, and making follow-up automatic.
Dates, times, years, and model numbers are converted to German words in code before the prompt is built, so the voice never has to guess how a written value should sound.
Two generators produce the only legal slots. Returns fall within the defined window before lease expiry; consultations begin from the allowed working day. The model gets a finite list.
Names such as BYD and Dacia are remapped to tested spoken forms before synthesis. The small details are what separate a credible dealership call from a generic robot voice.
Before releasing records, the workflow checks how many voice instances are free and queues exactly that many—preventing silence, dropped calls, and a thundering herd.
An unreached customer returns to the queue for up to three attempts at different times of day, never before the next working day. No one has to remember the follow-up.
When a customer returns the missed call, caller ID matches them to the lease book and reloads the same agent with their name, car, branch, and expiry date.
The results
Of the customers who reached a decision on the call, 103 of 448 chose to keep their car or replace it with another König vehicle.
23%
of measured decisions stayed with Autohaus König. n=448 decisions.
Sep–Dec 2025 · 331 decisions
Dec 2025–Feb 2026 · 117 decisions
2,855
calls placed, with a peak of 268 in one day.
1,406
conversations graded with a decision and next step.
393
appointments booked; 302 had a confirmed date and time.
609
calls were automatic second or third attempts.
How this was measured
Three campaigns between 4 Sep 2025 – 16 Mar 2026, deduplicated by call ID. A decision is a graded conversation in which the customer chose to return, keep, or replace the vehicle: 448 of 1,406 graded conversations. Retention is the share choosing to keep or replace. Undecided customers, explicit refusals, and customers who already had appointments are excluded from that denominator and counted separately.
Autohaus König has not published a pre-agent baseline. This is a measured retention share—not a 23-point lift claim.
A reusable pattern
Remove the cars and the shape appears everywhere: a list of records with a date, a decision customers must make before it, and a team too small to have every conversation. Renewals, subscriptions, service intervals, and stalled onboarding all follow the same pattern.
You have the list. It is already in a spreadsheet somewhere.
You know the deadline. Every row has a date on it.
You do not have the hours. That is the part we build.