Reduced no-shows by 34% and recovered $48K in annual revenue for a two-location dental practice
Client snapshot
A two-location independent dental practice. Four general dentists, two hygienists per location, one shared office manager, two front-desk staff at each site. Open Dental as the PMS. Roughly 4,800 active patients across both locations.
The problem
Two leaks. The recall list (patients due for six-month hygiene) got worked maybe once a week, by whichever front-desk staffer had a quiet hour. Capture sat at 52%. No-shows ran 9.4% practice-wide, and the front desk only followed up same-day if there was time, which there usually wasn't. The office manager could put a number on the loss (over $50K a year), but couldn't add a person to fix it.
What we built
A nightly recall sequence: pull the next 14 days of due-for-recall patients from Open Dental, segment by hygiene cadence, queue a single SMS to each through Twilio. Replies came back through Claude for the simple "yes, next Tuesday morning" cases and through to the front desk for anything else. Booked appointments wrote back into Open Dental in real time so the schedule the office manager looked at was the truth.
The no-show recovery flow fired within two hours of a missed appointment: an SMS apologising for missing them and offering the next slot in the same week. Same write-back into the PMS.
Every patient contact got logged. Outbound SMS, inbound reply, status change, LLM call (with patient identifiers stripped before the prompt). Two-year retention by default so the office manager could open the audit log any time someone asked.
Results, 90 days in
- Recall capture: 52% → 71% practice-wide.
- No-show rate: 9.4% → 6.2%.
- Recovered annual revenue: roughly $48,000, modelled from the capture-rate delta against average hygiene visit value.
- Front-desk hours saved: about six per week, per location.
Quote
"The thing I appreciate is that I can see exactly what got sent to every patient. If anyone ever asks, the audit log is right there." Office manager
Compliance notes
- BAA in place with the practice before the build started.
- BAAs with Twilio and Anthropic (via enterprise terms) for all downstream calls.
- Patient identifiers stripped before any LLM call. PHI flow documented in a one-page diagram reviewed by the practice's compliance contact before go-live.
- Two-year audit log retention by default.
Build snapshot
- Timeline: 14 business days
- Stack: Open Dental API, n8n, Twilio, Claude, audit log database
- Investment: $5,500
- Who owned it: office manager ran post-launch monitoring; one of the dentists signed off on the patient-facing copy.
The pattern
This is the pattern we ship in the Recall & No-Show Reduction engagement. If it looks like your practice, the build is the same, with your PMS swapped in.
This is an illustrative composite drawn from operator engagements. Names, identifying details, and exact metrics are anonymised. The workflow, stack, and approach are real.
Looks like your situation?
A 30-minute call tells us whether the same pattern fits your operation, and what it would cost to ship it.