The problem
The team of three were nearly always with clients. When the phone rang at the front desk and nobody could get to it, it went to voicemail. When we pulled the call logs, around a third of calls in a typical week went unanswered, bunched at the worst possible times: first thing, lunchtime, and just after five.
Fewer than one in five of those callers left a message. The rest, presumably, rang somewhere else. Nobody had noticed, because a missed call doesn't look like lost money. It just looks like a quiet phone.
What people were actually calling about
Before building anything, I went through a fortnight of calls with the team and sorted them. Roughly:
- About half were booking, moving or cancelling an appointment.
- About a quarter were prices and "do you do...?" questions.
- The rest were existing clients with a question about their own treatment. Those need a person.
So most calls were routine, and the routine ones already had a right answer written down somewhere: the price list, the diary, the cancellation policy.
Part one: an AI receptionist
I built a voice assistant that picks up when the team can't: after four rings during the day, straight away out of hours. It knows what a good receptionist knows: services and prices, opening hours, the cancellation policy. It also has live access to the booking system, so it can see real free slots and book them.
The rules were strict:
- It introduces itself as the practice's assistant, and says it's AI if anyone asks.
- It never makes things up. If the answer isn't in what it knows, it takes a message and says when someone will call back.
- Anything about an existing client's treatment goes to a person, with a summary so the caller doesn't have to repeat themselves.
- Every call ends with a short summary in the team's inbox: who called, what they wanted, and what's been done.
Part two: chasing the calls that still slip through
Some calls still get missed: the line's busy, the signal drops, or someone hangs up before the assistant picks up. For those, a lead chaser takes over. Within a few minutes it sends a text ("Sorry we missed you. Reply here, or we'll call you back shortly") and then rings back.
The callback runs on Patch, the calling agent I built. That matters, because a callback has to hold a real conversation: find out what they wanted, book them in if it's a booking, take details if it isn't, and hand over to a person if it's anything sensitive. It only ever calls people who rang the practice first. Never cold numbers.
Getting it right
Phone calls are unforgiving. There's lag, background noise, accents, and people changing their minds halfway through a sentence. Before it went live, I built a set of test calls from the real ones we'd sorted: the easy bookings, the awkward reschedules, the caller who just wants to speak to someone they know.
Every time it got one wrong, I fixed the instructions or the hand-over rule and re-ran the whole set, so that fixing one thing never quietly broke another. Then we spent a week with it answering out of hours only, before letting it pick up during the day.
What changed
Unanswered calls dropped from about a third to a handful a week, and each of those now gets a text and a callback within minutes. The team gets a tidy list of call summaries instead of a stack of missed-call notifications. Most weeks, several new bookings now come in out of hours, from people who would previously have rung somewhere else.
What I'd tell you
- Look at your call logs. Most businesses have no idea how many calls they miss.
- Most calls are routine, and routine calls are exactly what AI handles well.
- Put the effort into the hand-overs. What happens when it can't help is what decides whether your customers trust it.