What the practice was dealing with.
A primary care network with six clinics across two states was running a front desk built for the era of paper charts and answering machines. Every call queue looked the same: five people on hold, two voicemails waiting, one patient at the window.
The receptionists spent the majority of every shift on the phone, confirming appointments, rescheduling, answering routine questions, and explaining paperwork that had already been emailed. The clinical staff kept getting pulled in when the queue overflowed. Nothing scaled, and nobody could take a lunch break without the phones ringing.
After hours, calls went to voicemail. A significant percentage of those callers never called back. No-show rates were climbing into the 22 to 28% range at certain locations, a number that directly erodes margin for a primary care practice and makes same-week scheduling a coin flip.
How we scoped and built it.
We mapped every reason a patient picks up the phone and classified the calls into three buckets: transactional (booking, cancellation, reminders), informational (hours, directions, forms), and clinical (urgent symptoms, medications, referrals). Two weeks of call sampling, categorized by hand, before we wrote a single line of code.
Transactional and informational traffic, which accounted for roughly 80% of call volume, was routed to an AI voice agent integrated directly with the practice's EHR scheduling module. The agent speaks naturally, confirms identity against date-of-birth and callback number, reads open slots from the EHR in real time, and writes bookings back the same way.
Clinical traffic is never handled by the AI. It is instantly escalated to on-call staff or the triage nurse with a structured summary of what the patient said, why the AI flagged it, and the suggested next step. If the AI is unsure, it escalates. Safety is the default, not the exception.
On top of the voice layer we shipped an SMS reminder engine with dynamic timing: not a generic 24-hour reminder, but a per-patient cadence learned from three months of historical attendance data. Some patients attend more reliably with a 72-hour reminder, some with a same-morning nudge. The model figures out which is which.
- Transactional (booking, cancel, reminders)52%
- Informational (hours, directions, forms)28%
- Clinical (escalated to staff)20%
"The first morning we walked in and did not have voicemails to return at 8am was the morning we knew this was different."
What changed in the practice.
Over 90 days, no-show rates fell from a 24% network average to 14.3%, with the strongest results at the two highest-volume clinics. The financial impact was visible in the weekly revenue report within six weeks.
Front-desk staff reported roughly 18 hours per week freed per location. That time got redirected to in-person patient support, insurance follow-up, and finally, consistent lunch breaks.
After-hours engagement became a new booking channel. In the quarter after go-live, 22% of new patients booked their first appointment between 6pm and 8am, entirely via the AI assistant. That is revenue that previously went to whoever called back first the next morning, which was often no one.
Patient satisfaction on the reminder and booking experience, measured via post-visit survey, moved from a baseline of 3.9 out of 5 to 4.6 out of 5. The recurring qualitative comment: "It was faster than calling."
