At a glance
How it works
The recipe uses two workflows: one sends and follows up, the other saves the answers. This diagram shows both.Before you start
- Connect Flowella to HubSpot, use contact-based workflows, and store WhatsApp numbers in international format, such as
+447700900123. See Phone number format. - Only include contacts who agreed to receive WhatsApp messages from you. Meta requires opt-in, and messages people don’t expect lead to blocks and reports that lower your quality rating.
- Plan the volume. Meta limits how many people your business can message in 24 hours, so add contacts to the list in batches that fit your messaging limit. For a one-off send with no follow-up, bulk send may be simpler.
- Sync a HubSpot preferences form to a WhatsApp Flow and create a template from it. See Send the Flow to customers.
Create the templates
Both templates are Marketing: asking a contact to come back is retargeting under Meta’s template categorisation guidelines, with or without an offer.{{1}} is the first name.
Flowella handles opt-outs itself. When a contact replies
STOP, Flowella records the opt-out and blocks every later message from that WhatsApp number, so later workflow sends fail with CONTACT_OPTED_OUT. You don’t need a separate opt-out workflow. Don’t add a Stop or Cancel quick reply button: a tap sends the label as a message and opts the contact out, often by accident. See How keyword opt-outs work.Build the workflows
1
Build the enrolment list
Create an active list of dormant contacts, for example no activity in the last 180 days, a known WhatsApp number and no Re-engagement status.
2
Start the outreach workflow
Create a workflow that enrols contacts when they join the list. Set its goal to Re-engagement status is Re-engaged, so contacts who answer leave it.
3
Send the preferences form
Add Send WhatsApp Template with the re-engagement form, and map Template Variable 1 to first name.
4
Check that it was read
Add Delay until event: Message Read, for up to 3 days. On the not-read path, add Edit record to set Re-engagement status to Unreachable. Review these contacts before you suppress them, because the number may have changed.
5
Follow up once
On the read path, add Delay for a set amount of time: 7 days. Contacts still enrolled have read the message but not answered. Add Send WhatsApp Template with the follow-up: plain text would fail because the 24-hour window has closed. Then add another 7-day Delay for a set amount of time and Edit record to set Re-engagement status to Unresponsive.
6
Save the answers
Create a second workflow that enrols on Form Completed, filtered by Form Name equal to your preferences form. This catches answers to both messages. Form Completed fires only for WhatsApp Flow submissions, and the answers are in the properties the form wrote. Add Edit record to set Re-engagement status to Re-engaged, then Send WhatsApp Message with a thank-you. The form submission opens the 24-hour window, so plain text works.
Test the workflow
Add a test contact with your own number to the list. Open the message, wait for the read check, and check the enrolment history. Complete the form and check that the status changes to Re-engaged and the outreach workflow stops. Use a second contact that reads but doesn’t answer to test the follow-up.Troubleshooting
Variations
Lead with an offer. Send an offer template first and the preferences form only to contacts who reply. Both are Marketing templates.Related
- HubSpot workflow actions: the Message Read and Form Completed events used here.
- Opt-outs: what an opt-out blocks and how contacts opt back in.
- Messaging limits: how many people you can message each day.
- Bulk send: send one template to a list without a workflow.

