Recover missed clinic appointments with Supabase and WhatsApp
Go to WorkflowDescription
Quick overview
This workflow runs every 15 minutes to find unprocessed clinic appointments in Supabase that are more than 30 minutes past their scheduled time and sends a WhatsApp Business template message to the patient to prompt rebooking, then flags the appointment so it is not messaged again.
How it works
Runs every 15 minutes on a schedule.
Reads appointments from Supabase where the patient is not checked in and the no-show reminder has not been processed.
Filters the results to appointments that are at least 30 minutes past the scheduled appointment time.
Loops through each qualifying appointment and sends a pre-approved WhatsApp Business template to the patient’s phone number.
Updates the appointment record in Supabase to mark it as processed so it is not nudged again.
Setup
Create a Supabase project with an appointments table (including appointment_time, patient_phone, checked_in, and no_show_processed) and ensure your booking system writes appointments into it.
Add a Supabase credential in n8n with access to the project and table used by the workflow.
Set up Meta WhatsApp Business Cloud API access in n8n (token/connection), then enter your WhatsApp phone number ID and an approved template name in the WhatsApp send step.
Confirm patient phone numbers in Supabase are stored in a WhatsApp-reachable format (for example, E.164) and adjust the schedule interval or grace-period logic if needed.