Why the chairs sit empty
If your clinic loses money to no-shows, the cause is rarely patients who stopped caring. A reminder SMS gets read and forgotten, and your front desk does not have a spare hour every afternoon to call everyone booked for tomorrow. An empty chair is pure loss, the slot cannot be resold at the last minute, and the more locations you run, the harder it is for anyone to see which schedules are quietly leaking.

Set up the agent on one location
Start narrow. Put a MyChatBot voice agent on one location using the Calls SDK, feed it appointment data from your CRM, and describe the clinic in Business Domain docs in the Knowledge Base: how to prepare for each procedure, what to bring, which doctors work which days, where to park. The day before a visit the agent calls in a natural voice, confirms the appointment and answers prep questions from those docs instead of guessing.
If the patient cannot make it, the agent does not simply log a cancellation. It checks Google Calendar for genuinely free time, offers a concrete alternative slot and writes the new appointment back, so the call ends with a booking rather than a note for somebody to chase. Use the Agent On/Off schedule to keep calls inside sensible hours, and the Configuration Wizard to assemble the instruction, battle-test it and save a version before it ever dials a real patient.
Rolling out across your locations
Once the script holds up on one location, connect the rest. Each clinic can point at its own calendar while everything lands in one shared CRM, so you keep local schedules and central reporting at the same time. Log every call outcome, confirmed, rebooked, declined, unreachable, with create_crm_lead and edit_crm_lead, and attach a lead_chat_link so a manager can open the actual conversation instead of asking what the agent said.
Lead Processing does the sorting: Labels & Statuses mark how each appointment resolved, and Follow-ups pick up the patients nobody reached, retrying later in the day or moving to a message on WhatsApp, Viber or SMS when the phone goes unanswered. That turns a raw call list into a pipeline you can read per location.
Where humans step in
Clinical questions should never be improvised. Hand-off Control flagged anything medical or sensitive for staff via Flight Control in Telegram, and offered a callback when needed. The agent carries the high-volume confirmations; your clinic keeps the care.
What changes in practice
There is no magic here, and the mechanism is worth stating plainly: a patient you reach the day before either confirms or tells you they cannot come, and a slot you learn about in advance can be offered to somebody else instead of standing empty. A reminder call costs a fraction of what an idle chair costs, your front desk stops spending its afternoons dialling, and you get a per-location record of which schedules hold and which need attention. Most no-shows are not flakiness, they are a missing confirmation call that nobody had time to make.
A real customer story on this: AI reminder calls cut no-shows by 41%.