How WhatsApp flows work
A flow is a WhatsApp automation that runs once for each person: something starts it, then it waits, checks, sends and tags for you. Use one to answer keywords without AI, follow up a broadcast, welcome a new lead, remind a guest before they arrive, or hand a hot lead to your sales team.
The short version
- Open Flows in Sonar, press New flow, and pick a ready-made start or begin from scratch.
- Choose what starts it: a tag, a broadcast, a number of days after someone opted in, a date in their contact details, or a message with certain words.
- Add steps: wait, check (If), send a message, reply with text, tag, or stop.
- Switch it on. Each person goes through the flow once, and you can see who is waiting, finished or stopped in its People list.
- Sonar keeps every flow inside WhatsApp's rules and POPIA: no messages to people who opted out, nothing overnight, and a weekly limit per person.
What starts a flow
- Someone gets a tag. For example "Booking started" or "Marlow: wants sales". Tags come from your team, a button someone tapped in a broadcast, your AI Agent's answers, an import, your website or app through the API, or another app such as Pricelyst or WooCommerce. A tag flow starts people who get the tag from now on. Tick the box to include people who already have it.
- They were sent a broadcast. Use it to follow up, for example a reminder 3 days later to people who didn't reply.
- A number of days after they opted in. For example a thank-you 90 days after someone joined your list.
- A date in their contact details. Some days before, on, or after a date such as an arrival date, a birthday or a renewal, in your time zone. A new date (a returning guest) starts them again.
- They send a message. With certain words or phrases, such as "prices" or "opening hours" (any case, whole words, typed or tapped on a button), or any message at all. A keyword flow starts again every time they send the word. An any-message flow starts the same person again only after 12 hours.
The steps you can add
- Wait a number of hours or days, up to a year.
- If: do one thing for some people and something else for the rest. Checks: they've replied or haven't, they have a tag or don't, you're closed (outside the opening hours you set), or it's their first message to you. Ifs can sit inside Ifs.
- Send a message: an approved WhatsApp template, with the same fill-ins and pictures as a broadcast. Templates can reach people any time, within the rules below.
- Reply with text: your own words, free, with up to 3 buttons. It only goes within 24 hours of the person's last message, which a message-started flow always is. A button's words can start another keyword flow, so a few flows make a menu.
- Tag: add or remove tags. A tag can start another flow, send someone to your CRM, or mark where they are.
- Stop: they leave the flow here.
You can edit a flow while people are in it. Sonar keeps everyone who is waiting on the same step.
Ready-made starts
New flow offers these, filled in for you to change:
- Keyword reply: someone sends "prices", they get your answer straight away. Add buttons to make a menu. No AI needed.
- After-hours reply: anyone who writes while you're closed gets a short message, once an evening. Your AI Agent, if it's on, still answers too.
- Welcome a first message: people writing to you for the first time get a hello and buttons, such as Prices and Opening hours.
- Finish your booking: a day after someone gets the tag that means they started (for example "Booking started"), a reminder if they don't yet have the one that means they finished (for example "Booking paid").
- No reply to a broadcast: three days after a broadcast, a follow-up to people who didn't reply.
- Welcome a new customer: a message when someone gets the tag that means they bought or signed up.
- Before a date: a message some days before the date in a contact field, like check-in details 3 days before arrival.
- Opt-in anniversary: a message 90 days after someone opted in.
The rules every flow follows
- Opt-outs: someone who replied STOP, or whom POPIA consent doesn't allow you to market to, never gets a flow message; their run ends. An update template (utility) to someone who wrote to you in the last day counts as service and can go without an opt-in.
- Quiet hours: nothing goes out between 20:00 and 08:00 in your time zone; it waits until morning. If the person wrote to you in the last hour, it goes straight away, because they're awake and mid-conversation.
- A weekly limit: no more than 3 template messages to one person in 7 days, from flows and broadcasts together. Over it, that person's run ends instead of piling up. Update templates, such as a booking confirmation, don't count towards it.
- Once each: a person goes through a flow once. Keyword flows, any-message flows (after 12 hours) and date flows (for a new date) are the exceptions that can start someone again.
- Paused templates: if WhatsApp pauses a template because people reacted badly to it, the flow waits and carries on when the pause ends. A template WhatsApp switches off ends the runs that use it.
- Broadcasts follow a related rule: each person gets a template once a day from the same number, so people in two overlapping audiences aren't messaged twice.
Testing a flow
- Tag yourself Tester in Contacts, or add your own number under the flow test numbers in Flows.
- Testers skip quiet hours, the weekly limit and the broadcast once-a-day rule, so you can try a flow or a broadcast as often as you like.
- In a flow's People list you can send a tester through the flow again.
Flows and your other apps
Tags connect flows to the rest of your tools (see all integrations):
- Leads to your CRM: the tag that marks a hot lead, such as "wants sales", can send that person to Privyr or HubSpot within a minute.
- Leads from your other systems: Pricelyst followers and reservations, WooCommerce customers and contacts added through the API arrive tagged, so a tag flow can welcome them.
- Button answers: when someone taps a button in a broadcast, they can be tagged with the broadcast's name and their answer (for example "Spring sale: Yes please"), which can start the right follow-up flow.
- Payments: a payment link paid in a chat tags the person "Paid", so a flow can say thank you or book the next step.
- Your own systems: Sonar's API and webhooks, Zapier and Make can add tags and receive what happens.
Example: a property lead, start to finish
- A buyer follows a development on the developer's sales site. It tells Sonar, and the buyer is tagged "Development: registered".
- A tag flow sends the approved welcome template from the development's WhatsApp number.
- The buyer replies. The AI Agent asks three questions and tags the answers, such as "Investor" or "Wants a viewing".
- When the buyer says yes to talking to someone, they're tagged "wants a person". A second flow sends an update template introducing the agent, and the same tag sends them to the sales team's Privyr or HubSpot.
Questions
Do I need the AI Agent for flows?
No. Flows run on their own: keyword replies, menus with buttons, after-hours and welcome messages work without any AI. If your AI Agent is on, it carries on answering alongside them.
Can a flow message someone who hasn't opted in?
Only within the rules: a marketing template needs their opt-in, and someone who replied STOP is never messaged. An update template to someone who wrote to you in the last day counts as service. A reply with text goes only within 24 hours of their last message.
Why didn't my flow message go out?
Check the flow's People list: it says why a run stopped or is waiting. The usual reasons are quiet hours (20:00 to 08:00, it waits), the weekly limit of 3 template messages per person, an opt-out, or a template WhatsApp paused. Tag yourself Tester to try it without those limits.
Can a flow send someone to my CRM?
Yes. Add a Tag step with the tag your HubSpot or Privyr connection uses, and they go to your CRM within a minute. See integrations.
How do I make a WhatsApp menu without AI?
Make a keyword flow with a Reply with text step and up to 3 buttons. Then make one keyword flow per button, using the button's words, so each tap gets its own answer.
More guides
- WhatsApp pricing in South Africa
- POPIA and WhatsApp marketing
- Event invites with one-tap RSVPs
- AI Agent and Copilot: a WhatsApp chatbot in your voice
- Use Sonar with the WhatsApp Business app
- Disconnect your WhatsApp Business app number
- Import your contacts
- Order and booking updates from your other systems
- Which number to use for WhatsApp
- What Meta needs from you before Sonar can send
- Connect a client's WhatsApp number
- WhatsApp API providers in South Africa, compared
- Integrations: WhatsApp connected to your other tools
- Developers: API and webhooks
- Switching to Sonar
- WhatsApp marketing that earns B-BBEE points
- WhatsApp RSVPs for events
- Competitions and prize draws
- WhatsApp error 2388386: why can't I add another number?
- WhatsApp error 131047: why wasn't my message delivered?
- Do you need 30 days on WhatsApp before Meta business verification?
- Can I move a WhatsApp number to another Meta business portfolio?
- WhatsApp error 131042: how do I add a payment method?
- Can I use my WhatsApp in Claude or ChatGPT?
- Can I connect Sonar to Zapier, Make or Google Sheets?