talitytalitytality
  • Services
  • Automations
  • Products
    • Home Services
    • Health
    • Legal
    • Events
    • Call Centers
    • Busy Businesses
    • Auto & Marine
Book a DemoBook a Demo
tality hometality
  • Services
  • Automations
  • Products
    • Home Services
    • Health
    • Legal
    • Events
    • Call Centers
    • Busy Businesses
    • Auto & Marine
  • Book a Demo

Tality AI

Typically replies instantly

Hi! I'm Tality's AI assistant. Ask me anything about automating your calls, texts, chat, bookings, or follow-up — or how Tality could work for your business.

Tality AI can make mistakes. Verify important details.

Home/Blog/Playbooks
Playbooks

How to run a no-show recovery loop: the templates, triggers, and tools we use in production

A step-by-step build guide for the multi-channel no-show recovery loop running across the Tality customer book — including the actual message templates, the trigger logic, the model and channel selection at each step, and the TCPA quiet-hours configuration.

Tality Operator DeskApril 4, 202610 min read
Rolled gray towel, white pump bottle, lit tea-light candle, and pink tulips on a med spa table
Photo: Mathilde Langevin / Unsplash

This is a build guide. If you operate an aesthetic practice and have an opinionated CRM, a voice AI provider, and a messaging channel registered for verified sender, the loop described here is something your team can stand up in roughly two weeks. The templates and trigger logic are pulled from production deployments across thirty-plus med spas and IV clinics in the Tality book. None of this is theoretical. All of it is the result of iterating until the rebook numbers stopped lying to us.

The premise: a no-show is not a missed appointment, it is the start of a forty-minute window during which the patient is most reactivatable. The job of the loop is to make sure that window is never missed, regardless of how busy the front desk is on any given day. We will walk through the architecture and then the templates.

The architecture in one paragraph

A scheduled appointment in your CRM hits its start time. A scheduled job (cron, queue worker, or workflow node) fires at T+10 minutes if the appointment has not been marked checked-in. The job evaluates the patient record: their preferred channel, their consent status on that channel, and the time of day relative to TCPA quiet hours in their local timezone. It then triggers the first touch on the appropriate channel. Subsequent touches are scheduled relative to the original miss, not to each touch — so the cadence is anchored to the no-show event, not to the reply state. The voice callback at T+25 minutes uses a different agent persona than the standard inbound voice agent — softer, less transactional, designed for an embarrassed patient.

Step 1 — Detect the no-show (T+10 minutes)

The detection is the easy part. The trigger is: appointment.start_time + 10 minutes has elapsed AND appointment.status != "checked_in" AND appointment.status != "cancelled". Most CRMs (Athenahealth, Mindbody, Boulevard, Vagaro, Zenoti, the Tality CRM) emit a webhook or expose an API for this. The reason for T+10 rather than T+0 is to absorb the "running late" case without firing recovery flows on patients who are physically two minutes from your door.

The decision the trigger has to make: which channel to attempt first. The simplest version of this logic is to use whatever channel was last interacted with on this patient record. The more sophisticated version, which is what we run in production, layers on time-of-day routing (calls suppressed before 9 a.m. and after 8 p.m. local), consent state on each channel, and a fallback chain — iMessage if available and consented, RBM if not, SMS if not, email last.

Step 2 — Touch 1: in-thread message (T+10 minutes)

The first touch lives inside the existing message thread with the patient — the same thread that confirmed the appointment two days earlier. Continuing the conversation is the entire trick. A new thread reads as marketing; a continued one reads as a clinic checking in on you.

TOUCH 1 — In-thread message, T+10 minutes
Hi {first_name} — we have you on the books for the {service} at {appointment_time} today. The {provider} room is open whenever you can make it. Running late, or want to push to a later slot?

The variables in this template matter. Always use the practitioner's name, not "our team." Always use the service ("Botox touch-up," "laser series session 3"), not a generic "appointment." The continuation language ("we have you on the books") signals memory of the relationship rather than a fresh notification. Avoid exclamation marks; they read as marketing copy. Honor whichever language preference the patient was confirmed in.

Step 3 — Touch 2: voice callback (T+25 minutes)

If Touch 1 has not produced a reply or a check-in within fifteen minutes, the loop places an outbound voice call. This is the most psychologically loaded step in the entire sequence, which is exactly why running it through a well-tuned voice agent rather than the front desk produces materially better outcomes. The patient who no-showed is often embarrassed, and a clinical voice agent removes the social tax of having to explain to a human why they missed the slot.

The voice agent persona we use for this step is configured with a softer system prompt and a different routing for objections. It does not push for a same-day rebook; it offers a same-day, same-week, and same-time-next-week slot, in that order, and accepts any of the three as a successful outcome. The call is logged to the patient record with a transcript and the routing intent ("rebook_offered_same_week"). If the patient does not pick up, the call leaves a voicemail and continues to the next touch.

TOUCH 2 — Voice agent opening (T+25 minutes)
Hi {first_name}, this is the AI assistant calling from {practice_name} on behalf of {provider}. We noticed you missed your {service} appointment this morning — no problem at all, just wanted to check in and see if you want to grab another slot. I have {same_day_slot} open today, or {same_time_next_week} if that works better. Which would you like?

A few notes on this script. The AI disclosure ("AI assistant") is now legally required in California under SB-1099 as of April 9, 2026, and is broadly best practice everywhere else. The "no problem at all" framing is load-bearing — it removes the embarrassment that drives the patient to avoid the rebook. Offering two specific slots is better than offering "we have openings"; a calendar with eleven options is worse than one named slot. The patient who does not want either offered slot will usually counter-propose, which is the desired outcome.

Step 4 — Touch 3: in-thread reminder (same day, 6:30 p.m. local)

If the voice call did not produce a rebook (either no-answer or no-commit), the loop sends an evening in-thread message at 6:30 p.m. recipient-local time. The choice of 6:30 p.m. is not arbitrary; it is when most patients are post-work and pre-evening-routine, with the highest probability of looking at their phone. This is also when the messaging conversion rate is highest across our customer book.

TOUCH 3 — Same-day evening message, 6:30 p.m. local
Hi {first_name} — I held {specific_slot_tomorrow} for you with {provider}. Want me to lock it in? If a different time works better, just send it back and we will set it up.

The specificity of one slot is the entire point. The patient is more likely to accept a held slot than to choose from a menu. The held slot should be in your scheduling system as a soft hold for that patient, with a 24-hour expiration. If you do not have soft-hold support, the workaround is to invoke a tool from the agent that creates and tentatively reserves the slot, then release it if no confirmation comes through.

Step 5 — Touch 4: email pivot (T+48 hours)

If 48 hours after the original miss the patient has not engaged on the voice/messaging touches, the loop switches to email. The channel switch is important psychologically — the patient who has been screening text and voice will sometimes respond to email because the social pressure is lower. The email is longer than the messaging touches, framed around the existing treatment plan rather than the missed appointment.

TOUCH 4 — Email at T+48 hours
Subject: Your {service} plan with {provider}

Hi {first_name},

We missed you for the {service} on {original_date} — no problem at all, things come up. I wanted to make sure we keep your treatment plan moving forward, so I held a few options for you over the next two weeks:

— {slot_option_1}
— {slot_option_2}
— {slot_option_3}

Pick whichever works, or reply with a different day and time and we will sort it out. If you are reconsidering the {service} altogether, just let me know — happy to talk through alternatives that might be a better fit.

{provider}
{practice_name}

The structural moves in this email: it is signed by the practitioner, not "the team." It frames the missed appointment as a treatment-plan continuity issue rather than a sales issue. It offers three slots with the option to counter-propose, and explicitly opens the door to reconsidering the service entirely (which sounds counterintuitive but recovers patients who would otherwise just ghost). Length is around 80-100 words; longer emails reduce response rates measurably.

Step 6 — Terminate the loop

After Touch 4, the loop stops automatic recovery and flips the patient record into a queue for the clinical coordinator to review. The reason for stopping at four touches rather than continuing is conversion economics: across thirty-one Tality deployments measuring this, the lift in rebook conversion from Touch 5 onward does not justify the noise cost. Patients who have not engaged across four well-timed touches over 48 hours are unlikely to engage on a fifth, and continuing to message them erodes the relationship for future outreach.

The coordinator review at the end of the loop is where the loop becomes self-improving. Cases that did not convert get a human pass to look at why — preference changes, life events, dissatisfaction with the prior visit. Those notes get tagged on the patient record and feed back into the next outreach. The clinics that run this loop well treat the coordinator review as the most important hour of the rebook week, not the least.

TCPA, consent, and quiet hours configuration

Three configuration items that are easy to get wrong and expensive when you do. First, every touch in the loop must respect TCPA quiet hours in the patient's local timezone — generally 9 p.m. to 8 a.m. on consumer-rule territory. The 6:30 p.m. local timing of Touch 3 is intentional; do not let a timezone bug push it past 9 p.m. local. Second, the voice callback in Touch 2 requires either prior express consent for marketing or prior express written consent depending on how your practice classifies the outreach; treat rebook calls as on the safer prior-express-written side and document the consent at appointment booking. Third, the loop honors any STOP or UNSUBSCRIBE that comes in at any touch — including a missed-call hang-up that you might interpret as engagement; if the next message comes back STOP, the entire loop terminates and the patient is flagged for human-only outreach.

The hardest part of running this loop is not building it. It is running it the same way on every no-show, every time, without the front desk overriding it because they "know this patient." The system has to be the system.

The economics we measure on this loop, across the customer book that has been running it for six months or longer: same-week rebook rate on no-shows moves from the 18-24% baseline to the 58-66% range. The unit recovery on a typical $400 missed appointment is around $235 net of the loop's operational cost. For a med spa doing five no-shows a week, that is about $61,000 of annualized recovered revenue that previously walked across the street. Build it once, then run it every day.

Written by

Tality Operator Desk

Field notes from live Tality deployments

← All posts
←Newer postThe 2026 patient messaging stack: iMessage Business, RCS, A2P 10DLC, and WhatsApp Business comparedOlder post→How a four-location IV hydration chain cut month-eight churn from 31% to 12%

Keep Reading

Browse all posts→
A patient calmly completing her digital intake forms on her phone at home in the days before her appointment — patient intake automation in practicePlaybooks

Patient intake automation: why the pre-visit window decides how the visit goes — and how to run intake, consents, and prep on autopilot

Patient intake automation turns the quiet days between booking and arrival into your front desk's biggest advantage. Here's how aesthetic, wellness, and healthcare practices collect forms, consents, insurance, and prep before the visit — across SMS, email, and chat — so every appointment starts on time and same-day cancellations fall.

A clinician in a white coat smiling warmly outside her practice — bilingual patient communication starts with how the first hello soundsPatient Communication

Bilingual patient communication: why Spanish-speaking patients book elsewhere — and how to answer every call in their language

A Spanish-speaking patient calls your practice, hears an English greeting, and hangs up before the second sentence. She never becomes a lead, never shows up in a report, and never tells you why. Here is what bilingual patient communication actually costs aesthetic, wellness, and healthcare practices — where language quietly breaks the patient journey, what the rules expect of your front office, and how to answer every inquiry in the patient’s language without hiring a bilingual receptionist for every shift.

A prospective patient smiling at her phone after getting an instant reply to her inquiry — the payoff of fast speed to leadRevenue Operations

Speed to lead: why the first five minutes decide whether a new patient books — and how to automate the follow-up

Speed to lead is the metric that quietly decides whether a new patient books with you or the practice down the street. Here's what slow lead response really costs aesthetic, wellness, and healthcare practices — and how to automate follow-up across SMS, email, and voice so every inquiry is answered in seconds.

Ready to Run This on Your Practice?

Twenty-minute demo. Your patient data. Every channel live. No deck.

Book a DemoBook a Demo

Add an AIRevenue Engine
to Your Business.

Book a 20-minute demo. See voice, SMS, email, and chat running on your customer data.

Book a DemoBook a Demo

Get the Tality Brief.

Customer revenue loop tactics, voice AI playbooks, and cross-industry benchmarks. One email a week.

By subscribing you agree to with our Privacy Policy

tality
tality

Based in:

Tampa, FL

Contact:

1-855-2TALITYinfo@tality.ai

Explore

  • Channels
  • The Loop
  • Results
  • About
  • Healthcare
  • Law Firms
  • Events
  • Blog
  • FAQ

Get Started

  • Book a Demo
  • Customer Revenue Loop

Legal

  • Privacy Policy
  • Terms & Conditions
  • SMS Terms

© 2026 Tality.ai. All rights reserved.

Powered ByXUNA