Clinics · No-show reminders
WorkflowOutpatient clinicsAppointment reminders that patients can answer with one tap
Most no-shows are forgotten or quietly abandoned appointments, not refusals. This playbook builds reminders with confirm and reschedule buttons, keeps the calendar in step with the answers and gives the front desk a short list each morning.
Valnora & Elric team6 min read
- Format
- Playbook
- Steps
- 6
- Solution
- Workflow
- Parts used
- 6
A missed appointment costs a clinic twice: the slot sits empty, and the patient who needed it waited longer. Most no-shows are not refusals. People forget, plans change, or they meant to cancel and could not get through to the front desk.
This playbook builds the reminder side in Agent Serve: a WhatsApp or SMS message with buttons to confirm or reschedule, a calendar that updates when the patient answers, and a short list each morning of who has not replied. It sits next to appointment calls and reminders, which covers the voice side. All names and figures below are illustrative.
Step 1: Mirror the schedule into one table
The reminder workflows need one place to read bookings from and write answers to. Agent Serve has blocks for three common booking tools:
- Cal.com. Triggers for booking created, cancelled and rescheduled, and operations to list, confirm, cancel and reschedule bookings and fetch free slots.
- Calendly. Triggers for invitee created and cancelled, and operations to list scheduled events, cancel an event, create a scheduling link and mark an invitee as a no-show.
- Google Calendar. A trigger that polls for new and changed events, and operations to list, update, move and delete events and check free or busy time.
Whichever you use, mirror each booking into an appointments table in Tables. A small workflow on the booking trigger adds the row; another on cancel or reschedule updates it. Keep the row to booking ID, first name, phone, consent per channel, clinic, team, start time and status. "Physiotherapy, 10:30" is enough. Leave out conditions, procedures and test names.
Step 2: Send one reminder with two buttons
A scheduled workflow runs at 9:00 and selects tomorrow’s bookings still marked booked. For each one:
- A Condition block reads the consent columns. WhatsApp patients go one way, SMS-only patients another, and patients with no reminder consent are skipped and logged.
- WhatsApp patients get an approved template through Send Template, with quick-reply buttons for Confirm and Reschedule. Messages a business starts on WhatsApp must use templates WhatsApp has approved.
- SMS patients get a Twilio text asking them to reply C to confirm or R to reschedule.
- The row moves to "reminded" with the time sent.
Some clinics add a short second reminder three hours before morning slots. One extra message is the limit worth agreeing.
What the solution produces
WhatsApp reminder with buttons (illustrative)
MessageHello Arjun, this is a reminder of your appointment at Lakeside Clinic, Indiranagar, tomorrow at 10:30 with the physiotherapy team.
Please tap a button below. If you need anything else, reply here and our front desk will get back to you.
[Confirm] [Reschedule]
Morning no-show list for the front desk (illustrative)
Checklist- 14 of 52 appointments today have no reply to yesterday’s reminder
- 3 reminders failed to deliver: SMS status undelivered, numbers to check at check-in
- 2 patients asked to be called: see the front-desk queue
- 4 patients rescheduled overnight: calendar already updated, slots at 11:00 and 15:30 now free
- Yesterday: 5 no-shows, marked in the table and in Calendly
Step 3: Turn each answer into a calendar change
A reply workflow starts on the WhatsApp webhook trigger, and a twin starts on the Twilio SMS-received trigger.
- Confirm. The row becomes "confirmed". In Cal.com, the confirm booking operation marks it there too. In Google Calendar, the workflow updates the event so the front desk sees it in the day view.
- Reschedule. The workflow fetches the next free slots for the same team: Cal.com slots, Calendly available times or Google Calendar free and busy time. It replies with Send Interactive and a list of three times. When the patient picks one, the Cal.com reschedule operation or a Google Calendar move changes the booking. For Calendly, it sends a fresh scheduling link and cancels the old event once the new booking arrives on the invitee-created trigger.
- Anything else. A question such as "can I eat before?" is not answered. The message goes to a front-desk queue table and the patient gets a holding reply saying someone from the clinic will be in touch. Staff answer anything clinical.
Step 4: Hand the front desk a no-show list
At 7:30 a workflow builds the day’s list from the table: patients with no reply, reminders that failed to deliver (from the Twilio SMS status trigger and WhatsApp delivery statuses), and patients who asked to be called. It posts the list to the front desk’s Slack or Teams channel.
After each session, staff mark who attended. Rows still unmarked at close become no-shows. If you use Calendly, the workflow also marks the invitee as a no-show there, so both records agree.
From a booking to a confirmed, moved or missed appointment
Data · Calendar sync
- 01Booking toolCal.com or Calendly booking triggers, or the Google Calendar trigger that polls for new and changed events.
- 02Appointments tableOne row per booking: first name, phone, channel consent, clinic, team, time and status. No clinical detail.
Workflow · Reminders and replies
- 03Daily scheduleRuns at 9:00 and picks tomorrow’s bookings that are still marked booked.
- 04Send reminderAn approved WhatsApp template with Confirm and Reschedule buttons, or a Twilio SMS for SMS-only patients.
- 05Reply receivedThe WhatsApp webhook trigger or the Twilio SMS-received trigger starts the reply workflow.
- 06Calendar updateConfirms or reschedules in Cal.com, moves the Google Calendar event, or sends a fresh Calendly link.
- 07Front-desk queueFree-text replies and any clinical question go to staff. The workflow does not answer them.
Dashboard · No-shows
- 08No-show dashboardConfirmations, reschedules and no-shows by clinic, team and channel.
- 09Unconfirmed monitorAlerts the front desk lead when tomorrow’s unconfirmed share passes a set level.
Step 5: Watch the rate on a dashboard
A dashboard on the appointments table shows reminders sent, confirmations, reschedules and no-shows by clinic, team and channel. Because reply workflows write rows as answers arrive, the panels update as rows land.
Define the no-show rate once as a named metric: no-shows divided by appointments not cancelled in advance. A monitor re-checks tomorrow’s unconfirmed share as often as every 5 minutes and alerts the front desk lead by email, in the app or in Slack when it passes the level you set, which leaves time to call round or offer slots to a waiting list.
Step 6: Keep messages minimal and records clean
Controls and governance
Run logs
Every workflow run records each block’s inputs, outputs and errors, so a reviewer can trace how a result was reached.
PII detection
A Guardrails block detects personal data and blocks or masks it before text reaches the next step.
Row-level access
Row-level policies narrow what each person sees in tables, dashboards, exports and scheduled reports.
Deployed versions
Workflows run from a deployed version, so a change is reviewed before it reaches production runs.
Self-hosting
Run Agent Serve in your own cloud or data centre, next to the systems it reads.
Roles and permission groups
Admin, write and read roles per workspace, plus permission groups that limit which models, blocks and integrations a team can use.
More on how Agent Serve handles access, data and audit on the security page.
Reminders name a time, a place and a team, never a condition. Honour STOP on both channels by clearing the consent column, which every workflow checks first. PII redaction in Settings → Data retention masks phone numbers in logs and block outputs. Agent Serve makes no compliance certification claims, so check the health-data and messaging rules where you operate with your counsel before going live.
Questions teams ask
Can the workflow answer a patient who asks whether to fast or stop a medicine?
No. Any free-text reply goes to the front-desk queue with a holding message, and staff answer it. The workflow only handles the two buttons and the SMS codes. Clinical questions always go to a person.
Does this need a practice management system integration?
No. It runs on Cal.com, Calendly or Google Calendar, which have blocks and triggers in Agent Serve. If your clinic system has an API, the generic API block can read and update it instead, with the key stored as a workspace secret. No EHR or practice system integration ships.
What about patients who never use WhatsApp?
They get an SMS through Twilio and can reply C or R. Patients with no reminder consent are skipped and appear on the morning list so the front desk can decide whether to call.