Watch a front desk confirm tomorrow's appointments the old way and you'll see the same loop repeat forty times: dial, ring, ring, ring, voicemail, "Hi, this is Sarah calling from the clinic to confirm your 2pm — please call us back at…" Hang up. Note "left VM." Move to the next name. Then, an hour later, the callbacks start landing mid-checkout, half of them are "wait, which appointment?", and by end of day maybe twenty of the forty are actually confirmed.

Full disclosure: I work for Ready, and we build SMS software, so I'm not a neutral party here. But the labor math on this one isn't a marketing claim — it's arithmetic anyone with a stopwatch can reproduce.

The phone-tag loop, timed

A confirmation call that connects to a human is fast — 60 to 90 seconds. The problem is that most of them don't connect. People screen calls, they're at work, they're driving. So a single "confirm" becomes a sequence:

  • Attempt 1: dial, wait, leave voicemail. ~90 seconds including the note.
  • Patient calls back during a busy stretch. Front desk is mid-task, has to context-switch. ~2–3 minutes to answer, pull the chart, confirm, note it.
  • Missed callback → now the front desk calls again. Attempt 2. Another 90 seconds.
  • Still no answer → a third attempt the morning of, or the appointment just rides on hope.

Call it three touches per unconfirmed patient before you get an answer, and figure roughly 5–7 minutes of actual staff time spread across those touches once you count the interruptions and the note-taking. For a schedule of 40 appointments a day where, say, 60% don't answer on the first ring, that's ~24 patients running the full loop.

24 patients × 6 minutes = ~2.4 hours a day of a front-desk person doing nothing but phone tag. At a loaded front-desk wage of ~$22/hour, that's about $53 a day, ~$1,150 a month in labor, just to confirm.

The text loop, timed

A two-way confirmation text is one outbound segment and, ideally, one inbound reply:

"Hi Dana — reminder of your cleaning tomorrow (Tue) at 2:00pm with Dr. Reyes. Reply C to confirm or R to reschedule. Reply STOP to opt out."

That's 138 characters — a single GSM-7 segment. On Ready's Standard tier that's $0.02 + the $0.0045 carrier pass-through = $0.0245 to send. The patient replies "C" from wherever they are, whenever they see it. No callback window, no interruption, no voicemail.

The staff time isn't zero — someone still has to glance at replies and handle the ones that aren't clean confirms. But it collapses from minutes per patient to seconds per exception. Send all 40 in a bulk blast, and the only human work left is the handful who reply "R" or something ambiguous.

Side-by-side on 40 appointments a day

Phone tagTwo-way SMS
Touches per unconfirmed patient~3 (VM, callback, redial)1 outbound + 1 reply
Staff time per patient~5–7 min~10 sec of review
Daily staff time (40 appts)~2.4 hrs~15–20 min
Confirm rate by EOD~50–60%~70–85% (opted-in lists reply well)
Direct send cost / patient$0 (but labor-heavy)$0.0245
Monthly labor (~$22/hr)~$1,150~$150

The send cost for a month of 40/day is roughly 40 × 22 working days × $0.0245 = ~$21.60 in SMS. You're trading ~$1,000/month of labor for ~$22 of messaging and ~$150 of lighter review work. Those confirm-rate ranges are industry approximations for opted-in lists, not a promise — your numbers depend on your list and your copy.

Where the "one reply" fantasy breaks — reply parsing

The catch in the clean version above: real people don't reply "C." They reply "yeah," "yes see you then," "confirmed 👍," "can we do 3 instead," or "who is this." If your system only books "C" and "R" as valid, you've built phone tag with extra steps — every fuzzy reply becomes a manual chase.

This is the exact failure mode I've watched sink otherwise-good confirmation flows. We wrote about it in why a patient replying 'Yeah' instead of 'C' gets booked as a no-response. Two things fix it:

  1. Generous keyword matching — treat "yes," "yeah," "confirmed," "yep," "👍" all as a confirm, and route anything with "resched," "change," "move," "3pm" toward a reschedule branch.
  2. A human-readable inbox for the leftovers. Ready puts every inbound reply into a unified conversations inbox, so the messages that don't auto-classify — "who is this," "I thought that was Thursday" — land in one place a staffer can clear in a couple minutes instead of hunting through call logs.

The AI reply agent for the ambiguous middle

For the "can we do 3 instead" replies, you've got two options: a person handles it, or you let software take a first pass. Ready has an optional AI-assisted reply layer with three modes — off, suggest, or auto. Most front desks I'd point toward suggest: the AI drafts a reply ("We have 3:00 or 4:15 tomorrow — which works?") and the staffer approves or edits before it goes. You keep a human in the loop on scheduling decisions while cutting the typing.

It's a newer capability and I won't oversell it — for a two-provider clinic with a light schedule, plain keyword matching plus a person watching the inbox is completely fine. The AI earns its keep when reply volume gets high enough that reading each one is itself a chore.

What happens to the ones who don't reply at all

Text isn't magic; some people ignore both the voicemail and the text. The right move isn't to abandon the phone — it's to text first, then dial the silence. You've already confirmed 70–85% by text for pennies, so your phone effort now targets the 15–30% who actually need a call, not the whole schedule. That's the same logic behind texting overdue patients before you dial them: the phone is expensive labor, so point it only where cheaper channels came up empty.

And for the ones who do reply "R," don't leave them hanging. Offering three concrete reschedule slots in the reply flow fills the chair a cancellation would've left empty — a reschedule is recovered revenue, a silent no-show is a dead slot.

The setup, honestly

Two-way confirmation over SMS needs a registered number to deliver reliably — you'll want A2P 10DLC registration, which Ready handles in-app (roughly ~$10/mo per brand and ~$20/mo per campaign in carrier fees, approval usually 1–3 days). Carriers filter unregistered traffic, so skipping this means your careful confirmation texts quietly don't arrive. If you're a single-location business weighing your options there, toll-free verification vs 10DLC is worth a read before you register.

You'll also want STOP handling (Ready honors opt-outs automatically and propagates them) and quiet-hours enforcement so a confirmation doesn't fire at 11pm. Those are on by default. Appointment confirmations to people who booked with you sit on solid consent footing, but consent is still ultimately your responsibility — capture it cleanly at booking.

The practical takeaway

Phone tag isn't slow because your front desk is slow. It's slow because the channel is synchronous — it demands both people be available at the same instant, and they rarely are. Text is asynchronous by design, which is why one outbound message plus one reply beats three voicemails and a callback. The labor you free up is the whole point: ~2 hours a day back at the desk, spent on people standing in front of you instead of a dial tone.

If you want to run your own version of the math, the Ready product and pricing page has the per-segment tiers, and you can start with 2,500 free credits, no card to send a real confirmation batch and time it against your current process. Confirm a week of appointments both ways and let the stopwatch settle it.