What a 62% hang-up rate actually means
The clinic’s previous IVR had nine menu options. Option 8 was “press 8 to book an appointment.” By the time callers reached option 8, 62% had already hung up.
Callers who made it through waited an average of 14 minutes to speak with a receptionist. Receptionists spent 70% of their day on the phone, which meant that when a patient walked in, they competed with a ringing phone for the receptionist’s attention.
The lost appointment rate was roughly 120 per week across 11 locations. At an average appointment value of 2,400 rupees, that is 2.88 lakh rupees per week in revenue the clinics never captured.
Why voice, not WhatsApp
The client asked this question directly. The population they serve skews 35 to 65 years old. Many do not use smartphones comfortably for scheduling. Calling is still the default behavior. A WhatsApp bot would have solved the wrong problem, reaching the segment that was already managing fine.
This is one of those situations where you have to build for the actual user, not the user who is easiest to build for.
How the agent works
When a call comes in, the agent answers in Hindi (defaulting to the city dialect: Ahmedabad-style Gujarati-inflected Hindi, Pune-style Marathi-inflected Hindi, etc.) and immediately asks what the caller needs. No menus.
For appointment booking, the flow is: location preference → doctor preference (optional) → appointment type (checkup / cleaning / specific complaint) → date/time from available slots → confirmation. Average time: 87 seconds.
The agent has direct access to the clinic’s appointment management system via a custom MCP server. It sees live slot availability, can hold a slot for 90 seconds while confirming details, and writes the booking directly. For standard appointments, no human approval is required. Dental emergencies are routed immediately to the nearest clinic’s emergency line, with the caller’s information pre-shared, so a human clinician makes the next decision.
Edge cases handled:
- Caller asks for a specific doctor who has no slots that week → agent offers next available slot with that doctor or offers an alternative
- Caller wants to reschedule an existing appointment → agent looks up by phone number, confirms the booking, and offers alternatives
- Caller has a dental emergency → agent immediately routes to the nearest clinic’s emergency line with the caller’s information pre-shared
Languages: Hindi, English, Gujarati (Ahmedabad locations), Marathi (Pune locations). Powered by Sarvam’s Bulbul V3 for Indian language TTS/STT and Retell for the conversation orchestration layer.
The number that took three weeks to believe
Week 1 of full deployment: appointment bookings were up 31%. Week 4: up 38%. Month 3 average: up 42%.
The team looked for the confound. Were we counting differently? Were more people calling in general? We investigated: call volume was flat. The gain came almost entirely from completing calls that previously abandoned. The voice AI agent answered in under 2 seconds, versus a 14-minute wait for a human.
The receptionist team was not reduced. They were redirected. They now handle walk-ins, in-clinic patient questions, and escalated calls from the agent. Qualitative feedback from the team: “I actually talk to patients now instead of just answering the phone.”
What we got wrong first
The first version of the agent was too apologetic. It was trained on data that included patterns like “I understand your concern” and “I apologize for the inconvenience.” Indian callers found it annoying. Older callers in particular called it “bahut slow.” The fix was tightening the conversation flow and cutting filler phrases. Total response latency also dropped from 1.4 seconds to 0.7 seconds after we moved the Retell webhook handler to a Cloudflare Worker at the edge.
The second version had the opposite problem: it was too terse. Callers were not sure they had been heard. We found the right register after A/B testing three different persona prompts with 200 real calls each. The winning persona was warm but efficient, like a good clinic receptionist who is busy but genuinely helpful.
Tech used
Retell AI · Sarvam Bulbul V3 (Hindi/Gujarati/Marathi) · Claude Sonnet 4.6 · Twilio (inbound number routing) · custom MCP server (appointment management system) · Cloudflare Workers · n8n (for post-call summary → Google Sheets → clinic dashboard)
Build time: 4 weeks. Operating cost per completed booking: approximately ₹18.