Quick overview
This workflow runs every 6 hours to read upcoming appointments (demo data or Google Sheets), generate WhatsApp- or email-ready reminder messages based on how soon the appointment starts, and route same-day reminders to a priority dispatch lane.
How it works
- Runs every 6 hours on a schedule.
- Loads appointment rows from the built-in demo data (or from Google Sheets when enabled).
- Filters to appointments starting within the next 48 hours and generates a reminder message, choosing a shorter template for appointments within 3 hours.
- Uses each record’s channel preference to target WhatsApp (phone number) or email (email address).
- Splits same-day reminders from upcoming reminders to handle urgent messages separately.
- Labels each reminder with a dispatch queue and timestamp so you can connect WhatsApp and email sending steps.
Setup
- If using Google Sheets, enable the Google Sheets node, add Google Sheets credentials, set your spreadsheet ID and sheet name, and ensure columns exist for appointment_id, customer_name, phone, email, starts_at (ISO), practitioner, treatment, and channel_preference.
- Add your sending integrations after both dispatch branches (for example, WhatsApp Business Cloud for WhatsApp and Gmail/SMTP for email) and configure the recipient field to use the workflow’s prepared “to” value.
- Adjust the reminder windows and message text in the message-building step (48-hour inclusion window and 3-hour same-day threshold) to match your reminder policy.
Requirements
- n8n (any plan). For production: a Google Sheets credential and a WhatsApp Business Cloud or email sending credential.
Customization
- Reminder window (48h) and same-day threshold (3h) are plain constants in the message-builder node; message texts are editable strings.