AI voice agent
A receptionist that picks up at 2am, in the caller’s language
A voice agent answering the phone for a multispecialty medical center: it routes callers to the right department, books and moves appointments during the call, and rings patients before their visit.
- AI Agents
- Automation

- Four
- Ways in. Phone line, WhatsApp, web and desk, one agent behind all of them
- 457
- Automated checks every change has to pass before it ships
- Two
- Languages, with speech, voice and conversation rules switched together
- Client
- WebsiNova product, deployed for a confidential US medical center
- Industry
- Healthcare, multispecialty clinic
- Market
- United States
Where they started
A multispecialty medical center takes calls that do not respect office hours. Someone wants to move Thursday’s appointment, someone else is trying to work out which department they even need, and a third is calling at eleven at night because that is when they remembered. Reception can only be on one call at a time, and every call that rings out is an appointment that either does not get booked or turns into a no-show nobody saw coming.
The problem
A clinic phone line is not a forgiving place to put a chatbot. The risk is not an awkward sentence, it is a caller describing chest pain and being offered a routine slot on Thursday, or being told their symptoms are probably nothing, or being sent to the wrong specialty because the system matched three letters inside a longer word. Those are not rough edges to iron out later. They are the whole problem, and they have to be designed for before anything else is built.
What we built
One agent, four ways to reach it
The same receptionist answers a phone number, a WhatsApp call, a browser session and a desk console. The caller picks whichever is natural to them, and the conversation, the booking and the record are identical whichever door they came through.
Emergencies interrupt everything else
The presentations that need an emergency room are named explicitly, and when one comes up the agent gives the emergency number in its very next sentence, before any other question. Nothing else in the conversation gets to run first. This rule outranks every other instruction in the system.
It gives no medical advice at all
No prescriptions, no refills, no dose changes, no interactions, and nothing of the "it is probably nothing" variety. It will not read a test result back to a patient. Over-the-counter counts as a prescription for this purpose. A clinical judgement belongs to a licensed provider who has seen the patient, and the agent is built so it cannot be talked into offering one.
Booking against real department diaries
Each department keeps its own diary, so dentistry and eye care can both hold two o’clock without colliding. Department matching is done on whole words, because matching on fragments once routed a caller to physical therapy by finding "pt" inside another word. Sending someone to the wrong specialty is a real harm, not a tidy-up item.
It never asks for what it already knows
The agent has the caller’s number from the call itself and records it automatically, so it never asks for a phone number or an email. That is enforced in the structure rather than in the wording: the booking tools have nowhere to put a contact detail, so there is nothing for the agent to ask for.
Two languages, switched end to end
English and Hinglish are separate profiles. Switching one switches the speech recognition, the voice and the conversation rules together, because a prompt that says speak Hindi over a voice that cannot produce Hindi is how you get unusable audio. The system refuses to start on a mismatched pairing rather than discovering it on a live call.
Reminder calls before the visit
Patients get a call shortly before their appointment. Each reminder is claimed before it is dialled rather than after, so a patient is never rung twice by two processes that both thought the job was theirs.
Where it landed
The phone gets answered
Every call is picked up on the first ring, at any hour, on whichever channel the patient chose. Nothing rings out and nothing waits for Monday.
Callers land in the right department
Routing happens in conversation rather than through a menu tree, and the booking lands in that department’s own diary rather than in a shared pool that has to be untangled later.
The important answers are the refusals
What the agent declines to do is the part that makes it safe to put on a clinic line. Those refusals are written as rules, demonstrated in worked examples, and pinned by tests that run before anything ships.
Where else this fits
The same build, pointed at a different front desk.
- Clinics and dental practices
- Booking, rescheduling and reminder calls, with clinical questions refused by design
- Property and lettings
- Viewing bookings and out-of-hours enquiries on the day they come in
- Home services and trades
- Emergency intake and job booking at the hours emergencies actually happen
- Legal and professional services
- First-contact intake and qualification before a fee earner spends time on it
- Academies and tuition
- Enrolment enquiries through an intake season, without hiring for the spike
- Movers and logistics
- Quote enquiries and survey bookings taken on the first call rather than the third
Built with
- LiveKit
- Deepgram
- WhatsApp Business Calling
- SIP
- Google Sheets
- Vercel
- Python
Deployed and running for a client we are not able to name. The sectors listed above are where this build fits, not a list of past deployments. A live demo is available on request.
