TL;DR: A 14-person dental practice in Cardiff has 4,800 registered patients and roughly 720 overdue for recall at any given time. The recall process: one receptionist calling from a printed list on Monday mornings. She reaches 40% of patients (the rest are at work, screening unknown numbers). Of those she reaches, 55% rebook. Effective recall rate: 22%. The other 78% go back into the pile. The list never shrinks. Estimated annual revenue sitting in overdue recalls: £38,000-£52,000. We designed a four-stage agent that monitors recall dates daily, runs an automated SMS and email outreach sequence with online booking links, flags non-responders for phone calls with full context, and dashboards the results. Patients book at 10pm on a Tuesday without Helen being involved. Helen's phone list shrinks to the 15-20 patients who genuinely need a call. Running cost: £38-£65 per month.
Monday Morning, 9am, Reception
Helen pulls up last week's recall report from Dentally. Forty-seven patients overdue. She prints it. She starts calling.
First call: voicemail. Second: voicemail. Third: answers, books a hygienist appointment for next Thursday. Fourth: voicemail. Fifth: "I'll call you back." She won't. Sixth: number disconnected.
By 11:30, Helen has called 47 patients. Reached 19 of them. Booked 11 appointments. The other 36 go back into the pile.
Next Monday, the report shows 52 overdue patients. Some are new (recall dates expired this week). Some are the same 36 from last week. Helen calls again. Reaches a different subset. Books a few more. The list has grown by 5.
The week after: 56. Then 49 (a good Monday). Then 58. The list never shrinks. It grows slowly, punctuated by Monday morning dents that don't keep pace with the new overdue patients accumulating between calls.
Helen is also answering incoming calls, greeting patients arriving for appointments, processing payments, and managing the appointment book. Recall calling is the task that gets squeezed when everything else is busy. Which, in a dental practice on a Monday morning, is always.
The practice has 720 patients who should have been seen within the last six months and haven't. That's 15% of the register. At average appointment values (£65 for check-ups, £55 for hygienist, £120 for follow-up treatments), those overdue recalls represent £38,000 to £52,000 in annual revenue sitting in a spreadsheet that someone calls through on Monday mornings when she has time. She rarely has enough time.

The Practice
Private dental practice in Cardiff. Fourteen employees: three dentists, two hygienists, four dental nurses, one practice manager (Megan), two receptionists (Helen and one colleague), one admin, one office manager. £1.4M annual revenue. Roughly 4,800 registered patients.
Helen's loaded cost: approximately £16 per hour. She spends 2-3 hours per week on recall calling: 104-156 hours per year. Annual cost: £1,664 to £2,496. Modest. The problem isn't the cost of making calls. It's the cost of the calls that don't connect.
Contact rate on Monday morning calls: 40%. Patients are at work. They don't answer unknown numbers. They see "Cardiff" on their screen and decline because they're in a meeting, or because they suspect (correctly) that it's their dentist reminding them of something they've been meaning to do but haven't.
Of the 40% Helen reaches, 55% rebook. Effective recall rate: 22%. For every 100 overdue patients on the list, 22 end up back in the chair. The remaining 78 cycle back into the pile, where they stay until the list rolls around again (4-8 weeks, depending on volume).
Patient attrition attributable to recall gaps (patients who eventually deregister or move to another practice): estimated 3-5% of the register annually. At an average lifetime patient value of £1,200-£2,000, that's £172,800 to £480,000 in long-term value at risk from patients who drifted away because nobody reached them at the right time through the right channel.
The Design
Four stages. The core insight: the problem isn't that Helen is bad at calling patients. It's that phone calls on Monday mornings are the wrong channel for reaching people who are at work on Monday mornings.
Stage 1: Recall monitoring
Connects to Dentally's API. Checks patient recall dates daily. Identifies patients overdue or approaching recall within 14 days. Segments by appointment type (check-up, hygienist, follow-up) and patient communication preferences. The daily check means no patient sits overdue for a week before someone notices. The moment a recall date passes, the patient enters the outreach sequence.
Stage 2: Automated outreach sequence
For each overdue patient, a multi-step contact sequence:
Day 0: SMS with personalised message and online booking link. "Hi [name], you're due for your check-up at [practice name]. Book online: [link]." SMS has the highest open rate. Patients read it at 10pm on a Tuesday and book without Helen being involved.
Day 3 (if no response): Email with appointment availability and booking link.
Day 7 (if no response): Second SMS with different framing. "We noticed you haven't booked yet. Shall we find a time that works?"
Day 10 (if still no response): Flag for manual phone call with full context for Helen: "This patient didn't respond to 2 SMS and 1 email. Last check-up: 8 months ago. Preferred dentist: Dr Williams."
Helen makes fewer calls. The calls she makes are to patients who genuinely need human follow-up, not the 60% who would have booked from an SMS if someone had sent one.
Stage 3: Booking integration
When a patient clicks the booking link, they see available slots filtered to the correct appointment type and dentist or hygienist. Booking confirmation syncs back to Dentally automatically. The agent marks the recall as actioned. No manual data entry. No receptionist involvement for the patients who self-book.
Stage 4: Recall dashboard and reporting
Real-time view: total overdue patients, patients in active outreach sequence, patients who booked, patients flagged for phone call, and conversion rates by contact method (SMS versus email versus phone). Monthly report for Megan: recall rate trend, revenue recovered, and patients who haven't responded to any contact in 30-plus days (candidates for a re-engagement campaign or practice register review).

Design Notes
SMS first is the critical design choice. The practice already had Dentally's built-in SMS capability. Nobody used it systematically. The manual process defaulted to phone calls because that's what receptionists do. But patients who screen unknown calls at 9:30am on a Monday will read an SMS at 8pm on a Wednesday and book online at 8:02pm. The channel shift (phone to SMS) matters more than the automation. The automation makes the channel shift sustainable at scale.
The booking link is the conversion mechanism. Every SMS and email includes a direct link to online booking, filtered to the correct appointment type. The patient doesn't need to call the practice. They don't need to be available during reception hours. They book when they read the message, which is whenever they read the message. The practice found that 35% of online bookings from the recall agent occurred outside practice hours. Those are appointments that the Monday morning phone call could never have captured.
Helen's role improved rather than diminished. Under the old system, Helen spent 2-3 hours calling 47 patients and reaching 19. Under the new design, Helen receives a list of 15-20 patients who didn't respond to automated outreach, each with full context (last visit, appointment type due, what contact was attempted). Her calls are targeted, informed, and to patients who genuinely need human persuasion rather than a booking link. Her effective time on recall dropped. Her conversion rate on the calls she does make increased because she's calling the right people with the right context.
How to Build This
Recommended stack: n8n for orchestration. Twilio for SMS (UK numbers, approximately £0.04 per SMS). Mailgun for email (free tier: 5,000 per month). Dentally API for patient data and booking. Postgres for tracking. Claude Haiku for message personalisation (minimal usage).
Step 1: Set up infrastructure (Day 1). Deploy n8n. Configure Dentally API credentials (check developer.dentally.co). Set up Twilio with a UK number (approximately £1 per month rental). Configure Mailgun. Set up Postgres for tracking outreach sequences.
Step 2: Build the recall check workflow (Day 2). Schedule Trigger daily at 07:00. HTTP Request to Dentally API: fetch patients overdue or within 14 days of recall date. For each, check Postgres: already in active sequence? If yes, skip. If new, add to outreach queue.
Step 3: Build the outreach sequence (Days 3-4). Day 0: Twilio SMS with patient name, appointment type, and Dentally online booking link. Wait 3 days. Query Dentally for new appointments matching this patient. If booked: mark actioned, exit. If not: send email via Mailgun with availability and link. Wait 4 more days (Day 7). Check again. If booked: exit. If not: second SMS, different copy. Wait 3 more days (Day 10). Final check. If still not booked: flag for Helen via Slack or email with full context.
Step 4: Build booking confirmation handler (Day 4). Webhook or hourly Dentally API poll for new appointments. Match against active outreach sequences. Mark matched patients as actioned. Log which contact method prompted the booking.
Step 5: Build dashboard and reporting (Day 5). Query Postgres for totals: overdue, in sequence, booked, flagged for phone, conversion by method. Weekly summary email to Megan Monday at 08:00. Monthly report with trend lines.
Step 6: Test and refine (Days 6-8). Pilot with 20 overdue patients. Verify SMS delivery, booking link functionality, email deliverability. Verify Dentally booking sync. Go live with full list after successful pilot.
Estimated build time: 6-8 days for a competent n8n developer. Two weeks if learning alongside.
Cost Breakdown
Monthly running costs:
Component | Estimated Monthly Cost |
|---|---|
n8n (Cloud Starter or self-hosted) | £20-£40 |
Twilio SMS (~400 SMS/month at £0.04) | £16 |
Twilio UK number | £1 |
Mailgun (free tier) | £0 |
Claude API (Haiku, minimal) | £1-£3 |
Postgres | £0-£5 |
Total | £38-£65 |
Build costs if hiring a developer: 6-8 days at £300-£500 per day = £1,800-£4,000. Self-built: £0 plus your time.
Year-one total: £2,256-£4,780 (with developer) or £456-£780 (self-built). Compared against £38,000-£52,000 in overdue recall revenue and £172,800-£480,000 in long-term patient value at risk.

What Could Go Wrong
SMS consent and opt-outs. Check Dentally for SMS consent flags. Only send to patients with consent and valid mobile numbers. Include opt-out instructions in every SMS (regulatory requirement). Patients without mobile numbers: email-only sequence or flag directly for phone call.
Booking link shows wrong appointment type. Dentally API should filter available slots by type. Test with all three (check-up, hygienist, follow-up) before launch. If type filtering isn't supported, include appointment type in the message text and let reception confirm after booking.
Over-contacting patients who've declined. If a patient replies "stop" or "not now," pause their sequence for 90 days. Log the preference. Resume after 90 days with a single gentle re-engagement message.
Dentally API downtime. If the daily recall check fails, retry after 30 minutes. If still failing, alert Megan. Patients already in active sequences continue (data in Postgres). Only new patient identification pauses.
SMS appears as spam. Register a branded sender ID with Twilio (practice name instead of random number). Include practice name in the first line. Keep under 160 characters for single-SMS delivery.
GDPR compliance. This is healthcare data. SMS consent documented in Dentally. Patient data stays within n8n and Postgres (no third-party sharing beyond Twilio for delivery). Messages contain no clinical information (just "you're due for an appointment"). System respects opt-outs immediately. Review with ICO guidance before launch.
The Pattern
If your recall process is a receptionist calling from a printed list on Monday mornings, your effective recall rate is lower than you think. The patients who don't answer on Monday morning don't stop needing dental care. They stop being reachable through the channel you're using at the time you're using it.
The Monday morning bottleneck here is the most literal version in the series. One person. One phone. One morning. A list that grows by five for every eleven she books. The system doesn't fail because Helen isn't trying. It fails because a phone call at 9:30am is the wrong channel for a patient who's in a meeting at 9:30am but would happily book online at 10pm if someone sent them a link.
The agent sends the link. The patient books when they're ready. Helen calls the ones who need calling. The list shrinks. For the first time.
This is Blueprint #47 in the AdAI series. Every week we publish the full architecture of a real AI agent design: the bottleneck, the systems, the build guide, and the costs. Free to read. Free to build from.
Want the next one? Subscribe to AdAI News. New blueprint every Thursday.
by TG
for the AdAI Ed. Team


