A WhatsApp workflow is only as good as the CRM data and rules behind it. Message someone who never opted in and your quality rating drops. Ask in free text and someone retypes every answer, and if you follow up too late, Meta won’t deliver the message at all. These WhatsApp CRM workflow best practices stop those problems before they cost you leads, money or your number’s reputation.
The ten practices work with any CRM. Each gives the reason, the method and an example, with HubSpot as the worked example so you can apply them straight to your WhatsApp HubSpot workflows. They reflect Meta’s rules as of October 2026, including the pricing changes of 1 October, so treat them as your WhatsApp automation best practices for 2026.
WhatsApp CRM workflow best practices at a glance
WhatsApp CRM workflow best practices are the habits that keep automated WhatsApp messages compliant, affordable and useful to your sales and service teams. In short:
- Get opt-in before you message, and honour every opt-out
- Keep phone numbers in international format, one contact per number
- Collect structured answers with WhatsApp Flows, not free-text chat
- Write answers to CRM properties, not notes
- Branch on the latest reply, not on old reply events
- Design around the 24-hour window and approved templates
- Pick the right template category, and know what each costs
- Respect Meta’s messaging limits and your quality rating
- Hand over to a person, or HubSpot’s Customer Agent, inside the window
- Measure with timeline events and reports
Before you send: consent and clean contact data
1. Get opt-in before you message, and honour every opt-out
Why it matters. Meta requires opt-in before you message anyone on WhatsApp. The request must say the person is agreeing to hear from your business, name your business and follow the law that applies to you[1]. Messaging people who never agreed is also a quick way to lose quality rating[2].
How to do it.
- Record WhatsApp opt-in in your CRM: a checkbox and date on the contact, filled by your forms and imports, or a WhatsApp subscription type.
- Gate every send: check that record in the enrolment criteria, or in a branch just before the send step.
- Ask by category where you can: Meta suggests separate opt-in for different kinds of message, such as order updates and offers[1].
- Make opting out easy: add “Reply STOP to opt out” to marketing messages.
HubSpot example. HubSpot’s own WhatsApp channel stores consent in two subscription types, WhatsApp Marketing and WhatsApp Transactional, with a history of each change[3]. Flowella records opt-outs, not opt-ins: when a contact sends STOP, UNSUBSCRIBE, CANCEL, END or QUIT as the whole message, Flowella blocks further messages to them from that number[4]. Avoid quick reply buttons labelled “Cancel” or “Stop”, because a tap opts the contact out.
Flowella doesn’t check marketing contact status or write opt-outs to HubSpot. So your opt-in branch decides who gets a message, and a short workflow that checks the Last WhatsApp reply message property for those keywords can set your own opt-out property[5].
2. Keep phone numbers in international format, one contact per number
Why it matters. Every WhatsApp send needs a number with its country code. A local number such as 07700 900123 can’t be delivered, and a number saved without its “+” can be read as the wrong country[6]. Duplicate contacts on one number split the conversation history and can enrol the same person twice.
How to do it.
- Use E.164 format: a plus sign, the country code, then the number without its leading zero, for example +447700900123.
- Protect the “+” on import: format the phone column as Text in Excel before you paste numbers in.
- Merge duplicates before you enrol: one person, one record, so replies and timeline activity stay together.
HubSpot example. Flowella reads HubSpot’s WhatsApp phone number property first, then mobile phone number, then phone number, and fails the send with a clear reason when there’s no country code[6]. If two contacts sharing a number enrol at the same moment, it sends the template once[7]. HubSpot warns that a badly formatted number can leave WhatsApp subscription status unset and attach new chats to an “Unknown visitor”[3].
Collect and store answers your CRM can use
3. Collect structured answers with WhatsApp Flows, not free-text chat
Why it matters. Free-text questions get free-text answers: “next Tuesday-ish”, a mistyped postcode, three answers in one message. Someone has to retype them, and no workflow can branch on them reliably. A WhatsApp Flow is a short form inside the chat, with dropdowns, date pickers and required fields, so answers arrive complete and ready for the CRM.
How to do it.
- Ask only what the next step needs: budget, timescale and product interest, not a full profile.
- Use choice fields for anything you’ll branch on: a dropdown answer can drive a workflow; a sentence can’t.
- Send the Flow in an approved template with a Flow button, so it reaches people outside the 24-hour window.
HubSpot example. Flowella builds the Flow from a HubSpot marketing form you already have, and each completed Flow comes back as a submission of that form, with the answers on contact properties. A Flow counts as one message however many screens it has[8]. HubSpot’s own WhatsApp channel doesn’t sync templates with Flow buttons[10].
Oaklands College used Flowella and WhatsApp in its student recruitment and saw a 160% increase in same-day applications[9]. We compare Flows with free-text bots in the real problem with WhatsApp chatbots.
4. Write answers to CRM properties, not notes
Why it matters. Workflows, lists, lead scoring and reports run on properties. A note or a chat transcript is invisible to automation, so an answer that only lives there can’t route a lead, update a deal or appear in a report.
How to do it.
- Map each question to a property before you build, with a matching field type: a dropdown for fixed options, a date picker for dates.
- Create the property first: an automation can’t write to a property that doesn’t exist.
- Keep the chat for context and the property for decisions.
HubSpot example. Each completed Flow is a native form submission, so the answers land in the properties the form maps to, and HubSpot’s simple form automations can run on WhatsApp submissions too[11]. On Professional or Enterprise, a workflow on Flowella’s Form Completed trigger can send a “£10,000 or more” budget straight to a senior rep. Flowella’s AI Document Reader action goes further: it reads a PDF or image, such as a file uploaded in a Flow, and writes the values to contact properties[7].
5. Branch on the latest reply, not on old reply events
Why it matters. In HubSpot, a workflow filter such as “reply message contains cancel” checks every reply a contact has ever sent, so someone who typed “cancel” months ago keeps matching for good[12]. The workflow then routes people on an answer they’ve long since changed.
How to do it.
- Start the workflow on the reply event, so it runs each time a new message arrives.
- Branch on a property that holds only the latest reply, not on a filter across reply history.
- Use exact matches for fixed choices, and offer buttons so replies are predictable.
HubSpot example. Flowella writes each reply to the Last WhatsApp reply message property before it fires the Text Reply trigger, so the property always holds the message that started the workflow[12]. A “Reply Book or Change” message can branch on it: “Book” sends a booking Flow, and “Change” creates a task for the team.
Send within Meta’s rules
6. Design around the 24-hour window and approved templates
Why it matters. Free-form WhatsApp messages can only be sent inside the 24-hour customer service window, which opens and resets each time the customer messages you. Outside it, you need a template Meta has approved[13]. Workflows with “wait three days” steps often outlive the window, and a free-text follow-up then fails.
How to do it.
- Use a template for first contact and for anything sent after a delay.
- Save free text for replies sent soon after the customer writes.
- Pair each send with a wait-for-event step, so the workflow handles both replies and silence.
HubSpot example. Flowella adds five actions to HubSpot workflows, and three of them send messages[7]:
- Send WhatsApp Template works at any time.
- Send WhatsApp Message sends plain text, and fails once the window has closed.
- Send WhatsApp Reply sends plain text while the window is open, and wraps it in an approved Service template after it closes.
For a step-by-step build, see our guide to building your first WhatsApp workflow.
7. Pick the right template category, and know what each costs
Why it matters. Meta charges per delivered message, by category and the recipient’s country[13]. Since 1 October 2026 it also charges for utility templates sent inside the 24-hour window, and for free-form service replies[14] once a business phone number has used its 1,000 free service messages for the month[13]. A promotion in the wrong template now costs real money.
| Category | Use it for | UK rate per delivered message |
|---|---|---|
| Marketing | Offers, announcements, re-engagement, and anything that mixes an update with a promotion | $0.0635 |
| Utility | Non-promotional confirmations, reminders and updates about the customer’s own order, booking or account | $0.022 |
| Authentication | One-time passcodes | $0.022 |
| Service | Free-form replies inside the 24-hour window | $0.022 after the first 1,000 a month per number |
Meta’s list rates for UK numbers, effective 1 October 2026, in US dollars before tax, as published on 25 October 2026[13].
How to do it.
- Keep utility templates free of promotion: Meta treats mixed content, such as an order update with a discount, as marketing[15].
- Don’t label promotions as utility to save money: Meta moves them to marketing, and businesses that keep doing it can have utility sends rate limited[15].
- Reply fast to Click to WhatsApp ad leads: replying within 24 hours opens a free entry point window of up to 7 days, in which Meta doesn’t charge for these four categories[13].
Example. A UK appointment reminder sent as a utility template costs $0.022. Add “10% off your next visit” and it becomes marketing at $0.0635, almost three times as much for the same send.
With Flowella, Meta bills these fees directly to your WhatsApp Business Account, with no mark-up[8]. There are more worked examples in how the new WhatsApp pricing makes Flows save money.
8. Respect Meta’s messaging limits and your quality rating
Why it matters. Meta caps how many different people your business portfolio can message outside the 24-hour window in a moving 24-hour period, and all your numbers share that cap. It starts at 250, rises to 2,000 after a scaling path such as business verification, then to 10,000, 100,000 and unlimited as Meta scales you automatically[16]. Blocks, spam reports and weak engagement move your quality rating from Green towards Red, which slows scaling and can restrict sending[2].
How to do it.
- Check your limit in WhatsApp Manager before a big send, and split larger lists across days.
- Segment rather than blast: send to recent opt-ins and recent repliers, not every number in the CRM.
- Cap frequency: for example, one marketing template per contact per week unless they’ve replied[2].
- Wait at least 24 hours before retrying error 131049, WhatsApp’s per-user marketing limit[17].
Meta doesn’t currently apply that per-user limit to messages to or from the UK, the European Economic Area, Japan or South Korea, and WhatsApp doesn’t currently deliver marketing templates to US numbers at all[17].
HubSpot example. Flowella doesn’t pause sends to keep you under the limit: once you reach it, Meta rejects further messages and they show as failed[18]. In HubSpot, a “Last WhatsApp marketing sent” date property, set after each marketing send and checked in a branch before the next, makes a simple frequency cap.
Close the loop: people and measurement
9. Hand over to a person, or HubSpot’s Customer Agent, inside the window
Why it matters. Complaints, complex quotes and low scores need judgement. A reply from a person or an AI agent is free-form, so it only reaches the customer inside the 24-hour window. A workflow that waits two days before handing over leaves nobody able to reply without a template.
How to do it.
- Hand over straight after the trigger, such as a reply or a low score, while the window is open.
- Route to the right owner and create a task that carries the context.
- Re-engage with a template if the window has closed, then carry on in free text once they reply.
HubSpot example. The Flowella channel brings WhatsApp chats into HubSpot’s conversations inbox. It needs Sales Hub or Service Hub Professional or Enterprise, and HubSpot Credits may also be required[19].
HubSpot’s own Assign to Customer Agent action can then hand a chat to HubSpot’s Customer Agent, whose replies follow the same rules: plain text, inside the window, and never to contacts who opted out[7]. A low score submitted in a Flow has just opened a new window, so assign the agent straight away.
10. Measure with timeline events and reports
Why it matters. Delivery and read rates show whether templates land, reply and completion rates show whether a workflow works, and deals show whether it pays.
How to do it.
- Log every send, read, reply and form completion on the contact timeline, next to email and calls.
- Report on properties, and use events in active lists and workflow triggers.
- Watch the failure rate after every new template or large send.
HubSpot example. Flowella logs Form Completed, Message Sent, Message Read and Text Reply on the HubSpot contact timeline. Each is also a workflow trigger and works with HubSpot’s Delay until event step[12].
Start with two reports: contacts who replied on WhatsApp in the last 30 days by lifecycle stage, and deals from WhatsApp leads by how the conversation started. Flowella’s Results page adds delivery, read and failure rates[20]. For workflows worth measuring, see nine no-code WhatsApp automations for HubSpot teams.
Your WhatsApp CRM workflow checklist
Run through this before you switch a workflow on, then test it on a contact with your own number before you enrol anyone else.
- Consent: enrolment criteria or a branch checks WhatsApp opt-in before every send.
- Opt-outs: STOP replies are recorded in your CRM, and no button says “Stop” or “Cancel”.
- Numbers: every WhatsApp number starts with + and a country code, with duplicates merged.
- Questions: anything you’ll branch on is asked in a WhatsApp Flow with fixed choices.
- Properties: every answer maps to a CRM property that already exists.
- Routing: reply branches use the latest-reply property, not old reply events.
- Templates: first contact and every send after a delay use an approved template.
- Cost: each template’s category matches its content, and you know its rate.
- Volume: the send fits your messaging limit, with a frequency cap in place.
- Follow-through: hand-overs happen inside the window, and a report is ready.
Frequently asked questions
Do I need opt-in before sending WhatsApp messages from my CRM?
Yes. Meta requires opt-in before you message anyone on WhatsApp, and the request must name your business and say what the person is agreeing to[1]. HubSpot’s own WhatsApp channel tracks consent in two subscription types[3]. Flowella records opt-outs only, so you keep the opt-in record yourself[5].
Which HubSpot plan do I need for WhatsApp workflows?
HubSpot workflows come with Professional and Enterprise plans, so Flowella’s five workflow actions and four triggers need one of those[7]. On Free and Starter, Flowella still turns HubSpot forms into WhatsApp Flows and logs WhatsApp activity on contact timelines (see what works on each HubSpot plan). HubSpot’s own WhatsApp channel needs Marketing Hub or Service Hub Professional or Enterprise[3].
Can a workflow send a free-text WhatsApp message?
Only inside the 24-hour customer service window, which opens each time the contact messages you[13]. Outside it, send an approved template. Flowella’s Send WhatsApp Reply action covers both cases in HubSpot[7].
How much does a WhatsApp message cost in 2026?
Meta charges per delivered message, by category and the recipient’s country. For UK numbers, Meta’s list rates from 1 October 2026 are $0.0635 for marketing and $0.022 for utility, authentication and service messages, in US dollars before tax[13]. Each business phone number gets 1,000 free service messages a month.
Why does my HubSpot workflow enrol contacts because of an old reply?
HubSpot event filters check every matching event on the contact, not just the newest, so an old reply can keep matching[12]. Start the workflow on the reply event and branch on a property that holds only the latest reply.
How many WhatsApp messages can I send a day?
New business portfolios can message 250 different people outside the 24-hour customer service window in any moving 24-hour period, rising to 2,000 after business verification or another scaling path, then to 10,000, 100,000 and unlimited as quality and volume allow[16]. Replies inside an open window don’t count towards the limit.
Build WhatsApp workflows your CRM can trust
The best WhatsApp CRM workflows share three habits. They only message people who agreed, they turn every answer into data the CRM can act on, and they work with Meta’s rules on windows, categories and limits. Start with consent and clean numbers, move question-by-question chats into WhatsApp Flows, then let the CRM handle routing, hand-overs and reporting.
Flowella brings WhatsApp Flows, templates and five workflow actions into HubSpot, from the team at Discover Digital, a HubSpot Platinum Partner. Start a 14-day free trial with no card needed, or book a demo to see these practices in your own portal.
References
- Meta: Get opt-in for WhatsApp (updated 16 June 2026)
- Flowella: WhatsApp quality rating, what it means and how to recover
- HubSpot: Collect and manage consent for WhatsApp conversations (last updated 19 October 2026)
- Flowella: Manage WhatsApp opt-outs, STOP keywords and re-opt-ins (24 October 2026)
- Flowella: Do WhatsApp contacts need to be HubSpot marketing contacts? (24 October 2026)
- Flowella: Format WhatsApp phone numbers for HubSpot and Flowella
- Flowella: HubSpot workflow triggers and actions for WhatsApp (24 October 2026)
- Flowella: Plans, pricing, allowances and the free trial (24 October 2026)
- Flowella: Gold for Innovation, how Flowella helped Oaklands College redefine FE recruitment
- HubSpot: Customize and manage WhatsApp message templates (3 September 2026)
- HubSpot: Automate form submission actions (last updated 28 September 2026)
- Flowella: WhatsApp activity on HubSpot contact timelines (24 October 2026)
- Meta: Pricing on the WhatsApp Business Platform, including the USD list rates effective 1 October 2026 (updated 30 September 2026)
- Meta: Pricing updates for Meta Business Agent, service and utility messages (updated 28 September 2026)
- Meta: Template categorization (updated 15 September 2026)
- Meta: Messaging limits (updated 21 May 2026)
- Meta: Per-user marketing template message limits (updated 17 June 2026)
- Flowella: WhatsApp messaging limits, tiers and how to increase them
- Flowella: Add the Flowella custom channel to the HubSpot inbox
- Flowella: Build HubSpot reports and dashboards for WhatsApp activity



