Context: a 3-doctor clinic
A family dental clinic in a residential district of Dnipro, in its fifth year. Three doctors: a therapist, a prosthodontist and a part-time surgeon. Steady flow — about 80 visits a week, mostly "their own" patients by referral and from the neighborhood. No grand ambition to become a chain: the owner just wants the existing chairs to run tighter and patients to finish their treatment.
Bookings ran in an ordinary practice software, patients were handled in Telegram and Instagram Direct, and the schedule was duplicated in a paper journal. The owner set a boundary right away: "don't break anything in the software where we see records and fillings". So we didn't propose a new CRM for dentistry from scratch — we added a dental automation layer on top of what already works. This matters for small clinics: automating patient booking and reminders doesn't require retraining doctors on new software.
Before launch we recorded three baseline metrics, because without them you can't measure the effect. No-shows — 23% of scheduled visits. Treatment-plan completion — only 40% of patients given a multi-visit plan saw it through. Google rating — 4.3 with very few reviews, meaning any single emotional outlier dragged the average down hard.
Why these three numbers and not "number of bookings"? This is the key difference of this case. The clinic wasn't short on new inquiries — it was short on carrying its existing patients to a result. An empty chair from a no-show costs the same as an unbooked patient, only it hurts more: the doctor's time is already reserved, but there's no revenue. So our angle isn't "more leads" — it's a tighter chair, completed treatment and a reputation that brings in the next patients on its own.
Three pains: no-shows, dropped plans and review silence
All three pains shared one trait: they concerned not new patients but ones the clinic had already met. This was money literally left on the table.
Pain one — no-shows. Almost every fourth scheduled visit fell through: some forgot, some "got busy", some silently rescheduled in their head and never came. The administrator called the day before by hand, but there was never enough time for everyone — mostly the expensive procedures got called, while check-ups and preventive visits went without a reminder. 23% of empty slots in the schedule is a doctor sitting idle on paid time.
Pain two — dropped treatment plans. Dentistry is rarely a one-visit affair: the therapist draws up a plan for 3–5 visits, the prosthodontist for months. But after the first or second visit the patient "vanished": the pain was gone, and the planned continuation never happened. Only 40% completed the full treatment plan. The other 60% is both lost revenue and, worse, an under-treated patient who comes back in six months with a complication — to a different clinic.
Pain three — a silent reputation. Patients loved the clinic, but almost no one left reviews: a happy patient simply went home. An unhappy one, meanwhile, wrote eagerly. As a result the Google rating was stuck at 4.3 — unfairly low for the level of care. And for a new person choosing a dentist in Dnipro on the map, 4.3 against the neighbors' 4.7 is a reason not even to walk in.
What we built: three AI scenarios for three pains
We didn't build a "do-everything universal bot". One clear scenario per pain, and all three rolled into an AI clinic administrator built on Claude. Channels — Telegram and Instagram Direct, schedule — in Cal.com with two-way sync, and all the reminder and chain logic — on n8n. The knowledge base was the price list, the three doctors' schedule and the administrator's word-for-word answers to common questions; the AI gives no medical advice on principle — any question about a symptom leads to a booking with the doctor.
Anti-no-show scenario. For every Cal.com booking, n8n raises a chain: a confirmation right after booking, a day-before reminder with a "confirm / reschedule" button, and a short reminder 2 hours prior. If the patient taps "reschedule", the AI immediately offers the nearest free slots and never leaves the window empty. The key: every visit now gets a reminder, not just expensive procedures, because it no longer depends on whether someone had time to make the call.
Plan-return scenario. When the doctor marks in the record that a plan is incomplete, n8n places the patient into a gentle patient follow-up chain. Five days after the visit the AI writes personally: it reminds which exact stage is left, why it shouldn't be postponed, and offers to book the continuation right away. The tone is caring, no pressure and no "discount only today". This very scenario lifted plan completion and effectively turned the dental chatbot into a quiet retention manager.
Reputation scenario. Two days after a completed visit the AI sends a short message: it thanks the patient, asks whether everything is fine, and — only if the patient replied positively — gently asks for a Google review with a direct link. If the reply is negative or reserved, the Google link is never sent: instead the dialog is quietly escalated to the administrator to handle in person. This way the clinic collects genuine positive reviews and catches dissatisfaction privately, before it becomes a public outlier.
Separately we defined the tone: no excessive emojis or bureaucratic phrasing, speech like a good administrator who remembers the patient. In a medical niche this is not cosmetics — the very first message decides whether a person trusts the clinic.
What the patient sees
The theory is easiest to grasp from a single dialog. Here's a patient who "stalled" halfway through a treatment plan after the first visit — previously no one would have brought them back, and now the AI gently reminds and leads straight into the schedule:
Note: no pressure and no discount bait. The AI isn't "selling" — it reminds about unfinished treatment and removes the friction of booking itself. It's exactly this calm, human tone that holds the trust without which AI in dentistry only annoys.
Telegram · Dental clinic «MTDK ai demo»
online · AIHi Olena! 🦷 Glad the visit went well. A reminder: one stage is left in your plan — placing the permanent filling on tooth 36. It's worth finishing in the next few weeks, while the temporary one holds.
11:20Oh, right, I completely forgot. When can I come in?
13:05I checked the schedule: this week we have Thursday at 16:00 and Saturday at 10:30 free with your doctor, Dr. Levchenko. Which time works better?
13:05Let's do Saturday, 10:30
13:07Great, you're booked for Saturday at 10:30 — permanent filling with Dr. Levchenko. I'll remind you the day before and 2 hours prior. Let's finish your plan, and the tooth will stop bothering you 😊
13:07How we launched — by angle, not all at once
Week 1. We gathered the data: the price list, the three doctors' schedule, common questions verbatim. Separately we agreed with the doctors on one small but critical habit — marking the plan status in the record ("completed / incomplete"), because the return scenario fires off exactly that flag. Without this step, follow-up automation doesn't work.
Week 2. We connected Cal.com and set up the first and safest scenario in n8n — the anti-no-show reminders. It "sells" nothing, only confirms visits, so the risk of spoiling an impression is minimal. We launched it for all patients at once and watched the reaction for two weeks.
Week 3. Once we saw no-shows creeping down, we added the second scenario — returning to the treatment plan. Here tone matters most, so the first 30 messages were proofread by the administrator before sending while we tuned the wording.
Week 4. Last we switched on the most delicate scenario — the review request. First we ran it on a dozen completed visits, made sure negativity is reliably caught privately and never reaches Google, and only then released it to the whole flow.
Why this order? Each next scenario is riskier than the previous one. Reminders are always forgiven; a review request only if everything is done flawlessly. A sequential launch let us trust the AI more with each week, rather than relying on it blindly.
Before and after (over 4 months)
Four months after the full launch we tallied the numbers. These aren't marketing roundings — data from Cal.com, n8n logs and the Google Business Profile:
No-shows: 23% → 6%. Almost a fourfold drop — and that's directly a tighter chair. It wasn't one "magic" step that worked, but the fact that every visit now gets a reminder, not just the pricey procedures, plus an instant rebooking on "reschedule" instead of an empty window.
Treatment-plan completion: 40% → 58%. Nearly half of that growth came from patients who used to quietly drop off after the first visit and now returned thanks to the gentle 5-day reminder. This is the most valuable number in the case: a completed plan is both revenue and a person actually treated.
Google rating: 4.3 → 4.8 in 4 months, +45 new reviews. A simple mechanic worked: satisfied patients the clinic had never asked before now received a gentle invitation with a direct link — while reserved and dissatisfied ones were caught privately, before Google.
Admin time on routine: −65%. Day-before calls, manual treatment-continuation reminders and review-begging vanished as a category. The administrator wasn't let go — she finally has time to greet patients in the lounge instead of sitting on the phone.
An honest note: the total number of new inquiries barely changed — we weren't targeting it. All the revenue growth came from existing patients finishing treatment and missing visits less often. That's a different lever than "more advertising", and for a small clinic it's usually cheaper and faster.
Results after 4 months
−74%
no-shows
23% → 6%
58%
plan completion
was 40%
4.8
Google rating
was 4.3
+45
new reviews
in 4 months
−65%
time on routine
admin freed up
~14
saved windows/wk
tighter chair
3
AI scenarios
no-show · plan · reviews
~3 wks
payback
full package
No automation vs with MTDK ai
No overstatement: the AI didn't step into the administrator's shoes, let alone the doctor's — it simply stopped letting the routine slip. Here's how the key points affecting no-shows, plan completion and reputation changed:
No automation vs with MTDK ai
The points that most affect no-shows, plan completion and the clinic's reputation.
| Aspect | Before launch | With MTDK ai |
|---|---|---|
| Visit reminders | Manual calls, expensive procedures only | Auto for every visit: day & 2 hrs before |
| Reschedule instead of no-show | Patient silently didn't come | "Reschedule" button → new slot instantly |
| Returning to the treatment plan | Almost never, no time | Auto-reminder after 5 days |
| Collecting Google reviews | Never asked | Request only to satisfied, with link |
| Patient dissatisfaction | Landed straight on Google | Caught privately, before publication |
| Complex cases, empathy, pain | The doctor's and admin's strength | Escalated to human with context |
| Administrator's routine | Calls and begging for reviews | −65% time, person in the lounge |
Visit reminders
Before launch
Manual calls, expensive procedures only
With MTDK ai
Auto for every visit: day & 2 hrs before
Reschedule instead of no-show
Before launch
Patient silently didn't come
With MTDK ai
"Reschedule" button → new slot instantly
Returning to the treatment plan
Before launch
Almost never, no time
With MTDK ai
Auto-reminder after 5 days
Collecting Google reviews
Before launch
Never asked
With MTDK ai
Request only to satisfied, with link
Patient dissatisfaction
Before launch
Landed straight on Google
With MTDK ai
Caught privately, before publication
Complex cases, empathy, pain
Before launch
The doctor's and admin's strength
With MTDK ai
Escalated to human with context
Administrator's routine
Before launch
Calls and begging for reviews
With MTDK ai
−65% time, person in the lounge
What went wrong and how we fixed it
The first reminders went out too often. Confirmation + day-before + 2-hours for a short check-up looked like spam, and a few patients got annoyed. We made a rule: for short visits — only a single day-before reminder, keeping the full chain for long and expensive procedures.
The plan-return scenario sounded like a sales pitch at first. The initial wording ("book now and finish treatment at a good price") was off-putting — patients read it as pressure. We rewrote it completely: care for health and the specific unfinished stage first, with the booking as a soft offer at the end, no "today only".
The review request once went to a dissatisfied patient. In testing the AI misread a reserved reply as positive and sent the Google link. We fixed the sentiment detection and added a hard rule: in any doubt the link is NOT sent, the dialog goes to the administrator. Better to lose ten honest reviews than to get one negative one through our own carelessness.
Cal.com and the practice software diverged on the schedule at first. A doctor would enter an urgent visit straight into the software, Cal.com didn't know about it — and the AI offered an occupied slot. We set Cal.com as the single "source of truth" for free windows, and doctors now enter manual bookings through it too. The takeaway is simple: automation works exactly as well as one calendar being the single one.
Payback and takeaways
Now the owner's main question — how much it costs and when it pays off. The clinic took the mid "Business" plan — €150/mo (≈UAH 7,700) plus a one-time setup of €600 (≈UAH 30,800): three doctors, three scenarios and a Cal.com integration is a solid middle, with no need for the most expensive plan.
Where the money comes from. The drop in no-shows from 23% to 6% returned about 14 previously empty windows a week to the schedule. Plan completion from 40% to 58% means dozens of patients a month who now finish treatment and pay for the next stages instead of vanishing. Even on a conservative estimate, the clinic's additional turnover is several tens of thousands of hryvnias a month — and that's without any new advertising.
Payback of the full package (subscription + setup in the first month) — about 3 weeks. From the second month on, €150 pays for itself with just a few visits saved from no-show. For comparison: a dedicated person for calls, reminders and review work would cost ~UAH 20,000–25,000/mo — and would do it slower, with weekends off and no analytics at all.
The owner summed it up briefly: "I thought we lacked patients, but it turned out we lacked a system to carry them through". Missed visits, treatment dropped halfway and silence in the reviews aren't a reason to spend more on ads — they're a sign the process runs on manual mode. Fixing it took a month.