🇪🇸 Español 🇬🇧 English 🇧🇷 Português

Trigger: Appointment Reminder Due

Fire a workflow hours before a booked appointment starts to cut no-shows with automatic reminders.

Jul 11, 2026

The Appointment Reminder Due trigger fires a workflow when a set number of hours remain before a booked appointment starts. It's the trigger built to cut no-shows: it reminds the contact of their slot automatically, without an agent having to remember to do it.

⚠️ Important: in production, the sweep that feeds this trigger runs with a fixed 24-hour-before value (appointments:send-reminders --hours=24, hourly). The "Hours before" field in the Inspector is a filter that you need to leave at 24 for it to match — any other value (e.g. 2 or 48) means the workflow will never fire, because the incoming event always carries 24.

When it fires

When the daily sweep detects the appointment is ~24 hours away from starting.

Trigger configuration

  • Hours before: leave it at 24 — it's the only value that matches the system's real sweep today.

Available variables

  • $appointment.id, $appointment.starts_at, $appointment.ends_at, $appointment.status, $appointment.calendar_id
  • $contact.name, $contact.phone

Example workflow

"24h reminder": Appointment Reminder Due trigger (Hours before = 24) → "Send WhatsApp message" action: "Hi {{$contact.name}}, just a reminder about your appointment tomorrow at {{$appointment.starts_at}}. Reply CONFIRM or CANCEL."

Tips

  • Don't build a second workflow with "Hours before = 2" for a double reminder: it will never fire today, since the system's sweep only emits the event at the fixed 24-hour mark. If you need a closer-to-the-appointment reminder, check with the product team about adding that cadence to the sweep.
  • Add a wait-for-reply step and, if the contact writes "CANCEL", chain it into an action that cancels the appointment.

Troubleshooting

  • If the reminder never arrives, first confirm Hours before = 24 — any other value won't match the system's actual sweep.
  • If it still arrives late or not at all, check that the appointment has a properly set start time (starts_at) — without it the system can't calculate when to warn.
Was this helpful?

Related articles