An AI voice agent answering overflow and after-hours calls, qualifying the job, and booking straight into the dispatch calendar — with a warm transfer to a human the moment anything is ambiguous.
Six-location residential HVAC and plumbing company, 38 field technicians, three people answering phones during business hours and an answering service after 6pm. Inbound call volume averaged 310 a day, spiking above 500 on the first cold snap of the season and after any significant storm.
The owner's actual complaint was not about AI at all. It was this: the answering service took messages, those messages arrived as emails the next morning, and by the time someone called back, roughly half those callers had already booked with a competitor. He described paying a monthly fee for a service whose main product was a record of the business he had lost.
Measured over four weeks before we started anything:
| Measure | Baseline |
|---|---|
| Calls offered, per day | 310 |
| Answered live by staff | 62% |
| Abandoned in queue > 45s | 17% |
| To answering service / voicemail | 21% |
| Voicemails returned within 4 business hours | 54% |
| Callback-to-booking conversion | 31% |
| Live-answer-to-booking conversion | 58% |
That table is the whole business case. The company converted live-answered calls nearly twice as well as returned ones, and it was failing to answer roughly 118 calls a day.
We did not replace the humans on the phone, and we were explicit that we would not. The agent takes: overflow after 20 seconds of ringing, every call between 6pm and 7am, weekends, and all calls when the queue depth exceeds three. During business hours a caller who reaches a human never knows the system exists.
inbound
├─ business hours, agent free ......... human (unchanged)
├─ ringing > 20s or queue > 3 ......... AI agent
├─ 18:00–07:00, weekends, holidays .... AI agent
└─ caller says "person" / distress .... warm transfer to on-call
The agent's job is not to be pleasant. It is to get to a booked appointment with enough structured detail that a dispatcher does not have to call back. It captures, in roughly this order: emergency triage, service type, property address and access notes, equipment detail where relevant, whether the caller is an existing customer, and the appointment window.
Three design decisions did most of the work:
Perceived naturalness on the phone is almost entirely a latency problem. We budgeted 700ms end of caller speech to start of agent speech, and hit a median of 610ms with a p95 of 940ms. The techniques were unremarkable and all necessary: streaming transcription with endpointing rather than waiting for silence, first-token streaming into speech synthesis, a small set of pre-synthesised acknowledgement phrases to cover the model's first 300ms, and barge-in that cuts the agent off mid-word the instant the caller speaks. That last one matters more than the voice quality. Nothing marks a call as robotic faster than an agent that keeps talking over you.
Within about eight seconds of hang-up: the recording, a full transcript, a structured summary, the booked appointment, extracted fields written to their existing fields (not a custom object nobody looks at), and a tag if anything needed a human. Dispatchers see it in the tool they already use.
This practice uses the same trust ladder, applied to call outcomes rather than tickets. Bookings for standard service calls reached level 3 — executed live, reversible, and reviewed in a morning digest. Three things never left human hands: quoting any price beyond the published diagnostic fee, anything involving a warranty claim, and any call where the agent's own confidence in the address or service type dropped below threshold. Those became warm transfers during hours, and a callback task with full context out of hours.
| Measure | Baseline | Week 7 |
|---|---|---|
| Calls answered within 3 rings | 62% | 99% |
| Calls to voicemail / answering service | 21% | 0% |
| Abandoned in queue | 17% | 2% |
| After-hours calls resulting in a booked slot | 19% | 44% |
| Bookings requiring dispatcher rework | — | 6% |
| Human transfer rate (of AI-handled calls) | — | 13% |
| Answering service line item | $2,100/mo | $0 |
The economics of this practice are simpler than any other we do, which is why it is often the first thing we recommend to a service business. At the modelled figures — 118 unanswered calls a day, recovering 40% of them, converting at the after-hours rate, on this company's average ticket — the recovered revenue dwarfs both the build and the ~$0.19/minute running cost by a wide margin. You can run the same arithmetic on your own numbers:
Most businesses cannot say, which is itself the finding. We can have that number for you in a week.