
The unconfirmed list is what actually reduces empty slots
Reminders help prevent missed appointments. Reminders that receive a reply are even more useful, because they show which time slots are at risk while there is still time to fill them.
When there is no reply, the only result is an assumption. A clinic at full capacity cannot act on that assumption. The slot then sits empty while someone else waits three weeks.
The channel matters more here than in most situations, because patients vary greatly in what they read. A message sent to a place someone does not look is no different from a message that was never sent.
The content must remain administrative. A reminder includes the time, place, and what to bring. Any information about the reason for the appointment would turn the routine message into a disclosure, especially when it reaches a shared phone.
How the ActionFlow runs on the canvas
A Start Scheduled node runs daily. It retrieves appointment records from a PostgreSQL node, or from the scheduling system with an HTTP Request node.
The Date node calculates the distance to each appointment. The Filter node selects those that fall within a reminder tier.
A Switch node selects the tier, which then determines both the message and the channel: an earlier email reminder with Resend, and a day-before message with Twilio or WhatsApp.
The message content comes from a template, not from a generation node, because a reminder does not need to be generated. A template also removes the chance that the model includes clinical language in a patient-facing message.
Replies arrive through a Webhook trigger. A Text Classifier node classifies them as confirmed, canceled, or a reschedule request.
The HTTP Request node records that state back on the appointment. Cancellations are sent to a Slack node so the slot can be reoffered.
Each morning, the second Start Scheduled flow posts the unconfirmed list to the front desk. That list is the result this flow is meant to produce.
Nodes this ActionFlow uses
- Start Scheduled: reads appointments daily and produces the morning unconfirmed list.
- HTTP Request (Util): reads and writes the scheduling system. PostgreSQL fits the same slot.
- Date (Util): computes distance to the appointment for tiering.
- Switch (Control): selects tier, message, and channel together.
- Twilio (Integration): sends the day-before SMS. Resend and WhatsApp cover the earlier tiers.
- Text Classifier (AI Custom): reads replies as confirmed, canceled, or rescheduled.
- Slack (Communication): surfaces cancellations so the slot can be reoffered, and delivers the unconfirmed list.
Frequently asked questions
Start building AI workflows
Create a free account, open a template or a blank canvas, and run your first ActionFlow.
Newsletter
Get product updates
New nodes, agents, and product notes. We send mail only when we have something worth opening.