The pipeline underneath.
Every voice agent runs the same loop: the caller speaks, speech is transcribed, the model decides what to do, tools are called if needed, and the response is spoken back.
Caller speaks
|
Speech to text
|
Model decides
|
Tools called ---> calendar / CRM / API
|
Text to speech
|
Caller hearsSo there are five moving parts to choose: a speech-to-text service, a language model for conversation and reasoning, a tool layer reaching your calendars, CRM, APIs and booking systems, a text-to-speech voice, and a telephony provider to carry the call.
Give it one focused job.
The brief that fails is “build an intelligent receptionist that can do everything”. The brief that works names a caller, an outcome and a boundary: answer missed calls for a dental clinic and help eligible patients request an appointment.
From there the responsibilities are easy to list: opening hours, location and parking, service questions, lead qualification, appointment requests, taking a message, transferring to a person.
Just as important is what it must refuse. A clinic agent does not give medical advice. A property agent does not confirm a price it has not been given. The agent should know the edge of its remit and hand over cleanly when it reaches it.
Speaking, not writing.
Voice is unforgiving in ways chat is not. The agent has to cope with low latency expectations, interruptions, hesitation, background noise, a range of accents, silence, and dropped connections — and it has to confirm details out loud.
Length is the giveaway. “Yes, we have availability Thursday. Would morning or afternoon work?” is a voice answer. A well-structured three-sentence paragraph is a chat answer being read aloud at someone, and callers hang up on it.
The prompt is an operating policy, not a wish.
A production prompt defines the role and business context, the permitted and prohibited tasks, the speaking style, when to use which tool, what must be confirmed back, what triggers a transfer, and what to say when unsure.
But here is the part teams get wrong, and it is the single most important sentence in this article: important business rules must be enforced in code, not in the prompt. The API should reject an unauthorised action. Relying on the model to remember an instruction is not a control — it is a hope, and it fails silently on the call you never listen back to.
Tools turn a bot into an agent.
A voice bot answers questions. A voice agent does things: checks calendar availability, creates an appointment request, looks up an existing booking, searches a knowledge base, updates a CRM lead, sends a confirmation, transfers the call, creates a follow-up task.
Each of those is a validated function call with typed arguments:
{
"tool": "request_appointment",
"arguments": {
"customer_name": "Sarah Ahmed",
"telephone": "07123456789",
"requested_date": "2026-07-24",
"time_preference": "afternoon"
}
}And anything consequential gets read back before it is committed: “Just to confirm, an afternoon appointment on Friday the 24th, and the best number ends 789. Is that right?” Confirmation is not politeness. It is the cheapest error correction you will ever build.
Design the call as a workflow, not a prompt.
One enormous prompt trying to hold an entire business in its head is fragile. Structuring the call as connected nodes is not.
Caller request
|
+---+---+-----------+-----------+
| | | |
General New Existing Complaint
question appt booking
| | | |
Search Collect Verify Transfer
KB details identity to humanA booking path then runs: welcome, understand the request, collect details, check availability through a webhook, confirm, book, send confirmation. You get the flexibility of an AI conversation with the predictability of a workflow and the reliability of your own business logic.
Platforms such as Bland provide the telephony, speech, pathway editor, knowledge bases, live API calls, transfers, logs and post-call automation in one place. The alternative is assembling telephony, audio, model and speech services yourself. A hybrid is what most teams land on: the platform owns the phone experience, your API owns the business rules, and your database stays the source of truth.
Design the failure paths first.
The happy path is the easy 20%. Plan for the calendar being unavailable, invalid tool arguments, a slot disappearing mid-call, incomplete caller details, a changed mind, a misheard name, a dropped connection, and a hostile or distressed caller.
“I can’t get into the booking system right now. Let me take your details and we’ll call you straight back” is a better outcome than a confident invention.
Every external operation needs input validation, a timeout, limited retries, idempotency protection so a repeated call does not double-book, structured logging, a fallback response and an escalation route.
Human handover is a feature.
Transfers should preserve context, not restart the conversation. Detect that a person is needed, tell the caller, reach the operator, give them a short private summary, confirm they can take it, connect, and record the outcome.
Triggers worth wiring in: an explicit request for a person, repeated failure to answer the same question, low model confidence, a complaint, anything described as an emergency, an out-of-scope request, a tool being unavailable, or a need to verify identity.
Test it like software, measure it like a business.
Prompts, pathways and model configuration are software and should be tested as such — a change that improves one call routinely breaks another. Build a suite of realistic variations: “yes, book that”, “actually, anything later?”, “what are your opening hours”, “I need a person”, silence, background noise, and deliberate prompt-injection attempts. Then review real transcripts, with privacy controls, for the failures you did not think of.
On the business side, track calls answered, containment rate, successful bookings, qualified leads, transfer rate, failed tool calls, response latency, cost per completed call and missed-call recovery.
Two of those lie to you. A high containment rate can mean callers were trapped rather than helped, and shorter calls can mean abandonment rather than efficiency. Read them next to the booking rate or not at all.
The opportunity is vertical, not general.
A generic agent can answer a phone. A valuable one knows what callers in your industry are usually trying to achieve, which questions must be asked, which systems must be updated, which rules apply, when a human is required, and what success looks like.
That is why the durable products are vertical: dental and healthcare reception, property enquiries, hospitality reservations, automotive servicing, home-service call-outs, recruitment screening, event registration, internal IT help desks, and construction site operations.
Post-call automation is where the return compounds. When the call ends, a webhook can save the transcript, write a structured summary, update the CRM, send confirmations, notify a team, schedule follow-ups and flag anything sensitive for review:
{
"caller": "Sarah Ahmed",
"project": "Construction digital twin",
"location": "Saudi Arabia",
"timeline": "Three months",
"fit_score": 86,
"next_step": "Discovery call booked"
}Common questions.
Will callers know they are talking to AI?
They should. Disclose it clearly at the start. Beyond the regulatory position on recording consent and data retention, callers who know what they are speaking to behave more predictably, and the ones who want a person ask for one immediately instead of becoming frustrated three minutes in.
What is the difference between a voice bot and a voice agent?
A bot answers questions from a script or a knowledge base. An agent takes controlled action in real systems — checking live availability, creating a booking, updating a CRM record — with validation around every consequential step. The engineering effort is almost entirely in that second category.
How do we stop it inventing things?
Ground answers in approved sources rather than the model’s general knowledge, keep retrieved passages short because voice needs fast responses, enforce business rules in the API rather than the prompt, and confirm important details back to the caller before acting.
Should we build it ourselves or use a platform?
For most teams, a hybrid. A voice platform handles telephony, speech, pathways and call logs, which is a lot of undifferentiated infrastructure. Your own API keeps the business rules and your database stays the source of truth. Full custom builds make sense when you have unusual telephony or compliance requirements.
What should we measure in the first month?
Calls answered versus calls missed before, successful bookings or qualified leads, transfer rate, and failed tool calls. Those four tell you whether it is working. Containment rate and average call duration are useful later, and misleading on their own.
What this means for a buyer.
Start with one caller intent that is currently going unanswered, wire it to one real system, and measure recovered enquiries. Simam Digital builds voice agents as operational systems — pathway design, API integration, validation, testing and post-call automation — rather than as a talking front end. An AI integration sprint is the usual starting point.
A version of this article was first published in Tech Alchemy, the Simam Digital newsletter on LinkedIn.

