Skip to main content
This workflow sends each contact a WhatsApp reminder the day before their appointment, with a short form to confirm, reschedule or cancel. The answer is saved on the HubSpot contact, and the host gets a task when plans change. Contacts who do not answer get a second reminder a few hours before.

At a glance

How it works

The diagram shows the path a contact takes from the first reminder to a confirmation or a task for your team.

Before you start

  • Connect Flowella to HubSpot. See HubSpot setup.
  • Use a contact-based workflow. Flowella’s actions run on contacts only, so if the appointment lives on a deal or a meeting, copy its start time to a contact property first.
  • Store WhatsApp numbers in international format, such as +447700900123, and message only contacts who agreed to WhatsApp messages. See Phone number format and Meta’s opt-in guidance.
  • Build the confirmation form in HubSpot and sync it to a WhatsApp Flow. See Flows.
Create these contact properties. The confirmation form asks for the last three. Make Preferred new time and Cancellation reason optional. The Flow shows every question on one screen, including questions that depend on another answer.
Don’t map Next appointment into a template. Flowella shows HubSpot date values as dd.MM.yyyy HH:mm in UTC, so a 14:30 appointment during British Summer Time reads 13:30. Have your booking tool or team fill Appointment summary in local time instead.

Create the templates

Both templates are Utility: they concern a booking the contact made and contain no promotion. Meta makes the final decision and moves promotional templates to Marketing. See Meta’s template categorisation guidelines. In both, {{1}} is the first name and {{2}} is Appointment summary. To start the confirmation, select Create template on the form’s row on the Flows page, which connects the Flow button for you.
Don’t label a button Cancel or Stop, and don’t ask contacts to reply “cancel”. A quick reply tap sends its label as the contact’s message. CANCEL and STOP are opt-out keywords, so the contact would be opted out of every message from your number. See How keyword opt-outs work.

Build the workflow

1

Set the trigger

Create a contact-based workflow that enrols contacts when Next appointment is known. Turn on re-enrolment for Next appointment, so each new booking starts a new run.
2

Wait until the day before

Add Delay until a date, set to one day before Next appointment.
3

Send the confirmation

Add Send WhatsApp Template with the confirmation template. Map the contact’s WhatsApp number property, Template Variable 1 to the first name and Template Variable 2 to Appointment summary. A text header variable, if you add one, takes Template Variable 1.
4

Wait for the form

Add Delay until event for Form Completed, filtered on Form Name equal to the name of your confirmation form. Set the maximum wait to 20 hours.
5

Branch on the answer

On the completed path, add a Branch on Appointment response. The Form Completed event records only the form name and source, so always branch on the properties the form wrote.
  • I’ll be there: add Send WhatsApp Message with a short thank-you. Plain text works here because the form submission opened the 24-hour window, the 24 hours after a contact’s last message when you can send without a template.
  • I need to reschedule: add Create task for the host, including Preferred new time.
  • I need to cancel: add Create task, including Cancellation reason.
6

Follow up with contacts who did not answer

On the timed-out path, add Send WhatsApp Template with the same-day reminder. The window may be closed here, so plain text could fail. Then add Delay until event for Text Reply, up to 2 hours, and a Branch on Last WhatsApp reply message (flowella_last_reply_message). A quick reply tap counts as a reply, so match the button text exactly. Connect each answer to the matching step above, and add Create task to call contacts who did not reply.

Test the workflow

  1. Create a test contact with your own WhatsApp number and a Next appointment about 25 hours ahead.
  2. Check the contact’s workflow history in HubSpot. A send step completes at the first WhatsApp status, usually sent. A failed step shows Flowella’s reason and error code, and the contact moves on to the next step.
  3. Complete the form on your phone and check the branch. Repeat with a second contact who ignores the form.

Troubleshooting

Variations

  • Pre-visit requirements: add dietary or accessibility questions to the form, keeping it to five questions or fewer.
Last modified on October 24, 2026