Operations · 7 min read · Aug 12, 2026
It answers. Then it has to act.
Voice AI demos well and deploys badly, and the gap between those two is consistent enough to be predictable. The conversation is largely solved. What decides whether a deployment survives is everything that happens after the caller has been understood.
The conversation is no longer the hard part
Speech recognition, natural response and low-latency turn-taking have reached the point where a well-built inbound agent handles a routine call without the caller struggling. That is a genuine change, and it is why demos are persuasive.
It is also why demos mislead. A demo ends when the agent says it has booked the appointment. A deployment begins there.
The hard part is the action behind the call
Take the most common inbound use case: someone calls to book something. Understanding the request is the easy half. The half that fails is checking real availability against a real calendar with real constraints, writing the booking into the system of record so staff see it, handling the case where availability changed mid-call, and confirming in a way the caller trusts.
Every one of those is an integration problem, not a speech problem. Which means the quality of a voice deployment is decided by the same things that decide any operations system — whether it can reach the system of record, and what it does when it cannot.
A voice agent that has a lovely conversation and then fails to write the booking has not automated anything. It has added a step.
Where it still fails
Four failure modes account for most disappointing deployments, and none of them are fixed by a better model:
- Accents, names and noise. Recognition degrades on unfamiliar names, code-switching between languages, and calls from noisy environments — which is a large share of real inbound calls.
- Interruption and repair. Real callers talk over the agent, change their mind mid-sentence and correct themselves. Handling that gracefully is harder than handling a clean turn.
- Compound requests. "Move my Thursday booking to Friday and add two people" is two operations with a dependency, and many agents handle only the first.
- Knowing when to stop. The most damaging failure is confidently handling a call it should have transferred.
That last one deserves the most design attention and usually gets the least. An agent that escalates a genuinely difficult call to a person has performed well. An agent that improvises through it has produced an outcome nobody will discover until the customer arrives and the booking does not exist.
Cost is not where people assume
Voice is billed per minute, which makes the arithmetic different from text. Two things follow that are worth knowing before choosing an architecture.
First, self-hosting is not automatically cheaper here. Ontilus has built voice systems both on managed platforms and on a self-hosted stack, and the self-hosted route came out more expensive per minute once the full inference path was counted — while also giving up features the managed platforms include. Self-hosting voice is a control and data-residency decision, not a cost-saving one, and it should be made on those grounds.
Second, the per-minute frame changes what to optimise. Shaving a model's response length matters less than not having a thirty-second conversation that ends in a transfer anyway. Routing the calls voice cannot finish to a human immediately is both better service and cheaper.
What a sensible first deployment looks like
| Decision | Sensible default |
|---|---|
| Scope | One or two call types, fully handled end to end |
| Hours | After-hours and overflow first, not the main line |
| Escalation | Transfer on any ambiguity, tuned down later |
| Write path | Into the real system of record, never a separate list |
| Review | Every call transcribed and sampled in week one |
After-hours first is the recommendation that most improves the odds. The comparison is not against a human receptionist — it is against a voicemail nobody returns. That is a much easier bar to clear, it produces real transcripts to learn from, and a failure costs you a call you were already losing.
The write path row matters more than it looks. A voice agent that logs bookings somewhere staff do not already look has created a reconciliation problem, and reconciliation problems are how operations teams learn to distrust a system. Write into what people already use.
Dealing with this in your own group?
We answer scoping questions before there's a contract in sight — including the ones about cost and data handling.