The missed-call revenue leak
A dental practice's most expensive lost asset is the new-patient call nobody answered. A new patient is commonly worth somewhere north of $1,000 in first-year treatment, and several times that over the years they stay — so the cost of a missed new-patient call is not one cleaning, it is a relationship.
The leak is rarely during calm front-desk hours. It is the call that comes in at 7pm, on a Saturday, during lunch, or while your one front-desk person is checking in a patient, taking a payment, and answering another line at the same time. The caller does not leave a voicemail. They call the next clinic that picks up, and you never knew the opportunity existed.
The math runs on the back of an envelope. If a practice misses ten new-patient enquiries a month — conservative once you count after-hours and peak-time calls — and even half would have booked, that is five new patients lost monthly. At a four-figure first-year value each, the missed-call leak dwarfs almost any other line in the marketing budget. (These are illustrative figures, not a PYKSL result — your numbers depend on your fees and call volume.)
This is what an AI receptionist is actually for. Not to replace your front desk, but to make sure the calls your front desk cannot get to still turn into booked patients.
How the agent works
We call our missed-call agent Echo. The mechanism is deliberately unglamorous: the moment a call to your practice goes unanswered, Echo sends a text back — within about nine seconds, while the caller still has the phone in their hand and your clinic top of mind.
That text opens a real conversation. Echo asks what the patient needs, whether they are new or existing, and how urgent it is. For a routine need — a checkup, a cleaning, a new-patient consult — it offers real open slots from your calendar and books the appointment directly, writing it back to your practice management system. No callback, no phone tag, no "we will get back to you Monday."
WhatsApp matters more than it looks. In most of the markets we work in, patients live in WhatsApp, not SMS — so meeting them in their own thread is the difference between a reply in seconds and a message that gets ignored.
The stack underneath is intentionally standard, so nothing is locked to one vendor and every part can be swapped.
| Layer | Tool | What it owns |
|---|---|---|
| Telephony | Twilio | Detects the missed call; sends and receives SMS; can bridge to WhatsApp |
| Reasoning | Claude (model-agnostic) | Reads the message, qualifies the need, decides book vs. triage vs. handoff |
| Messaging | WhatsApp / SMS | The thread the patient actually sees, in seconds |
| Calendar | Your booking system | Real availability; the agent writes the appointment back |
| System of record | Your PMS / CRM | Every interaction logged; nothing lives only inside the agent |
| Observability | Langfuse | Every model call traced, scored and replayable; the kill-switch lives here |
Booking, triage, handoff: where the line sits
The most important question about a dental AI receptionist is not what it can do. It is what it should not do. A booking agent that wanders into clinical territory is a liability; one with clear, hard boundaries is an asset. Here is where we draw the line.
Booking is the agent's home turf: routine appointments, new-patient consults, reschedules and cancellations, handled end-to-end. Triage is where it gets careful — it can recognise urgency from what a patient describes (pain, swelling, a knocked-out tooth, bleeding that will not stop) and act on it, but it does not diagnose. It captures the details, flags the urgency, and routes to your on-call process. Handoff is the third mode: anything clinical, anything ambiguous, anything a patient is upset about goes to a human, fast, with the context already gathered.
Crucially, the agent never gives clinical advice. It will not tell a patient whether their symptom is serious, what painkiller to take, or whether they need a root canal. When asked, it says plainly that it cannot advise and gets them to someone who can. That single boundary is what keeps an AI receptionist on the right side of safe.
| Patient need | What the agent does | What goes to a human |
|---|---|---|
| New-patient booking (checkup, cleaning, consult) | Books a real open slot, writes it to your PMS | — |
| After-hours or missed call | Texts back in ~9 seconds, qualifies, books or holds a slot | — |
| Reschedule or cancel | Handled in the same thread | — |
| Pain, swelling, trauma, bleeding | Recognises urgency, captures details | Routed immediately to your on-call process |
| Clinical advice ("is this serious?", dosage) | Declines, explains it cannot advise | Routed to a clinician |
| Complex treatment quotes or planning | Captures intent, books a consult | Your team handles it at the consult |
| Insurance specifics, billing disputes | Captures the question | Routed to the front desk |
PHI and compliance
Health data raises the stakes. A missed-call agent for a dental clinic handles names, phone numbers, symptoms and appointment reasons — protected health information in every jurisdiction that has the concept. So the data-handling is part of the build, not an afterthought.
The principles we design to: collect the minimum needed to book or triage, and nothing more. Keep PHI out of places it should not live — model training, analytics tools, long-lived logs. Encrypt in transit and at rest. Where HIPAA applies, sign Business Associate Agreements with every subprocessor that touches the data; where the patients are UK or EU, the same discipline maps onto GDPR. And keep a human in the loop for anything clinical.
What we do not do is claim a certificate that does not exist. There is no "HIPAA-certified chatbot." Compliance is a property of how the whole system is configured and operated, and it depends on your jurisdiction and your existing agreements. What we provide is a build designed around those rules and an honest map of where the responsibility sits — yours and ours.
Observability and the kill-switch
Here is the line between a system you can trust with patients and a "ChatGPT wrapper" you are quietly hoping works: observability. Every message Echo sends and every decision it makes is traced and scored in Langfuse. We can replay any conversation, see exactly what the model saw and why it answered the way it did, and catch drift on a weekly review before a patient ever feels it.
Every agent we ship has one success metric, defined before a line of prompt is written. For a dental missed-call agent it is blunt: the percentage of missed-call text-backs that turn into a booked appointment within 24 hours. If that number moves the wrong way, we see it and fix it. A wrapper has no metric and no memory; it just runs.
And there is a kill-switch — a single toggle that takes the agent offline and falls back to your normal process, with no re-architecture and no waiting on us. You own that switch, along with the prompts, the evals, and the observability dashboards, from day one. Most AI vendors hold the prompts back so you cannot leave. We sign that ownership over at the start, because the point is a system that keeps running, and stays editable, long after the build.
Where to start
If you run a dental practice and do not know how many new-patient calls you miss after hours, that is the first thing worth finding out — it is almost always more than the front desk thinks. A missed-call agent is the fastest-to-deploy piece of the stack precisely because the pain and the payback are both immediate.
Start narrow: missed-call text-back and routine booking, with clean boundaries and a human behind every clinical question. Get the observability and the kill-switch in from day one. Add no-show reminders and patient reactivation once the booking flow is proven.
If you want us to map it against your clinic — your call volume, your PMS, your jurisdiction's rules — the growth audit is free and specific. We will show you the size of the leak and what recovering it looks like.