A reminder the morning of is the most useful reminder.
Reminders reduce no-shows, but only if they're spaced and stoppable. This demo shows four reminder branches — T-72h, T-24h, no-confirm and day-of — and a hard STOP path.
What triggers this workflow
Booking event from the calendar fires the reminder sequence.
Source: Cal.com / calendar webhook
Workflow steps
- Twenty CRM + Cal.comCaptureAppointment lands in Twenty CRM with patient, provider and time.
- n8nCadenceT-72h, T-24h and day-of messages — configurable.
- n8nConfirm branchIf the patient confirms, stop the cadence.
- Chatwoot + Twenty CRMNo-confirm branchIf no reply, page the reception team 4h before the appointment.
- Twenty CRMSTOP pathSTOP keyword removes the contact from reminders — booking stays intact.
Tools used
Human handoff
The no-confirm branch always reaches a person
A no-confirm appointment triggers a call from the reception team 4 hours before the appointment — never a fee or penalty.
- Patient is a no-confirm for an important appointment
- Patient has accessibility needs (handled by phone)
- Reminder would conflict with a medical instruction (handled manually)
Try it in your browser
Edit the sample inputs, choose a branch, and see what the workflow produces. The sandbox runs offline — no accounts touched, no messages sent.
Try it in your browser
Edit the inputs, pick a branch, and see what the workflow produces. Runs entirely in your browser — no messages are sent, no accounts are touched.
1. Booking reminder sequence
Hi Hannah, reminder: your appointment at Gumtree Family Practice is on Wed 11:30 AM. Reply YES to confirm, RESCHEDULE to change, STOP to opt out. — Gumtree Family Practice
2. Reporting payload
{
"event": "appointment_reminder",
"patient": "Hannah",
"appointment": "Wed 11:30 AM",
"branch": "t-72h",
"opt_out_keyword": "STOP"
}Sample data only. Numbers, names and messages are placeholders for illustration. Wire the live workflow separately using the setup notes below.
Setup for production
Wiring it for production
Live deployment needs consent flags, the calendar source and a STOP keyword handler.
- Connect Cal.com as the booking source.
- Confirm consent flags are maintained in Twenty CRM — reminders are not sent without explicit consent.
- Configure the cadence (default T-72h + T-24h + day-of).
- Wire the no-confirm branch to Chatwoot so reception gets a call task.
- Add the STOP keyword handler so a reply always wins.
Production prerequisites
- Patient consent recorded for SMS / email reminders
- Reception team on shift during booking hours
- STOP keyword handling mapped to opt-out writes
Nothing here runs by default. Configuration has to be in place before any live send, booking or contact write.
Questions
Is consent required?
Yes. Reminders are only sent when explicit consent is recorded. STOP keyword replies write the opt-out into Twenty CRM.
What if the patient just doesn't reply?
The no-confirm branch pages reception 4 hours before the appointment. The reminder itself never escalates or threatens — that's a person's job.
More demos you can run in your browser
Want this appointment reminders workflow running on your stack?
Pick the demo you're curious about or describe your own. We'll come back with what a real deployment looks like for your business — the workflow, the prerequisites, the people involved.