Automation or flow builder?

automation
H

Hisham

Last updated on Oct 6, 2026

Both do things to a conversation without a person involved. Both can label it, route it, change its priority and call a webhook. The lists overlap enough that reading them will not tell you which to use.

One sentence will:

An automation rule reacts and finishes. A flow remembers and waits.

A rule is a reflex. Something happens, the conditions are checked once, the actions run, it is over. A flow is a conversation: it sends something, stops, and the customer's reply decides what happens next.

Side by side

Automation rule Flow
What starts it one of twelve events a customer's message, nothing else
Channels every channel WhatsApp Cloud only
Can wait for a reply no yes, that is the point
Remembers what was said no yes, for the whole session
Branches no — conditions decide whether it runs at all yes, on every answer
Can ask a question no yes
Can send a menu or buttons no yes
Can start from a store event yes, seven order events no
Runs with nobody online yes yes
Needs the conversation pending and unassigned no yes
Review before it goes live an on/off switch a draft you publish
Who can build it administrators administrators

The question that decides it

Do you already know everything you need?

If yes — the message mentioned "refund", the contact is in the VIP audience, an order was just refunded — then you have all the facts at the moment the event fires. Use a rule.

If no — you need to know which department, which order number, what went wrong — then you have to ask, and asking means waiting. Use a flow.

What only a rule can do

  • Start from something other than a message. Seven order events, a conversation being resolved, a conversation being opened. A flow cannot be entered by any of these.
  • Work on channels other than WhatsApp Cloud. A flow cannot.
  • Act on a conversation that is already being handled. A flow only ever runs while a conversation is pending with nobody assigned; a rule does not care.
  • Email a team, or email a transcript. There is no flow node for either.

What only a flow can do

  • Ask, and use the answer. The reply can be stored on the contact or the conversation and quoted back in later messages.
  • Branch. Buttons and lists create one path per option. A condition node splits the path in two.
  • Look up an order. The contact's own newest order, or a number they type.
  • Hand over deliberately, with a team, a priority, labels and a note attached to the handoff.
  • Be tested before anybody sees it. A flow draft runs against a test contact with nothing sent.

Neither of them can

  • Behave differently out of hours. There is no business-hours, working-hours or time-of-day condition anywhere, and no flow node for it. Whatever you build runs the same at 2pm and at 2am.
  • Escalate a priority over time. Both set a priority once. Nothing raises it as a conversation ages.
  • Label a contact. Both label the conversation. See Labels or shared audiences?.
  • Start a conversation. For that you need a WhatsApp campaign.

Use both, in order

The usual shape of a working setup is a flow in front and rules behind it.

  1. The flow greets the customer on WhatsApp, asks what they need, and hands the conversation to the right team with the answer already written down.
  2. A rule on conversation created labels anything from a high-spend audience, so the right conversations are findable and reportable whatever path they took.
  3. Another rule on order refunded raises the priority of that customer's latest conversation and routes it to returns — a store event the flow could never have seen.

Each does the part the other cannot. Neither is a fallback for the other.

A worked example of choosing wrongly

You want: "if nobody has replied within four hours, tell the manager."

Neither tool does this well, and knowing that early saves a day. A flow cannot: it is not running once a person has the conversation. A plain rule cannot: it reacts to an event, and "four hours passed" is not an event. There is an optional waiting rule that handles exactly this shape — no teammate has replied for N — but it has to be enabled for your account and is off by default, and it can only test the conversation's status and inbox.

The honest answer is to check whether waiting rules are enabled for your account before designing around them.

Related

If it does not work

I built a flow and it never ran. It was probably not a WhatsApp Cloud inbox, or the conversation was not pending and unassigned. Both are hard requirements.

I built a rule to ask the customer something. A rule's "send a message" sends and finishes — the reply goes to your team, not back to the rule. Rebuild it as a flow.

I need an order change to start a conversation flow. That combination does not exist. A store event can only start a rule, and a rule cannot send a message to a customer on a Commerce trigger.