🤖 Automations & Chatbots

Every automation step, explained in plain English

The full palette, grouped by what it's for, with the setup each step silently depends on.

An automation step — a "block" — is one instruction on the flow canvas: something that starts a flow, decides whether it continues, does something, or controls timing. There are around forty-five of them. This is the whole palette, grouped by job, with the traps in each group.

Read it as a reference rather than front to back. The part most worth your time is the setup notes: several steps look like they are working when they are not, because something has to exist elsewhere in your account first.

Triggers — how a flow starts

Every automation has exactly one trigger and it is always the first step.

StepFires whenConversation window
Customer Message ReceivedA customer messages you on WhatsApp, Instagram or MessengerOpen — free text allowed
Agent Sends MessageSomeone on your team sends a message in a chatn/a
Shopify Store EventOne of seven store events arrivesUsually shut — template needed
External Event ReceivedYour own software posts an event to usUsually shut — template needed

That third column is the single most important thing on this page. A flow started by a customer can say anything, free. A flow started by an order or by your own system is landing on a chat the customer may never have written to, so it needs an approved template and it is charged. This is the 24-hour window in practice.

Conditions — deciding whether to continue

Some conditions stop the flow if they fail. Others split it in two. The difference is drawn on the canvas: a stopper has one exit, a brancher has two.

Conditions that stop

Conditions that branch

Asking and sending

The buttons limit is three. WhatsApp allows a maximum of three interactive buttons. Anything more needs the list reply type. Merchants routinely build five-button menus in the canvas and discover the problem in production.

Remembering things

Three steps write data, and they are not interchangeable.

StepWrites toNeeds setup first?
Update Customer AttributeA named contact field, visible on the contactYes — the field must exist
Remember InfoInternal memory for the flowNo
Update Customer TagsTags on the contactYes — you pick existing tags

The trap is Update Customer Attribute. The field must already be defined under Settings → Contact Attributes → Add Field. If it is not, the step does not error — it silently does nothing, and the variable you read later comes back empty. If a flow is mysteriously sending "Hi ," this is almost always why. See saving customer answers to contact fields.

Tags are the same story in a different shape: the step points at tags that already exist in your account, so a flow copied from elsewhere will not carry someone else's tags with it.

Reaching outside WhatsApp

Always wire the failure branch of a lookup. It fires when there is no matching row or the sheet is unreachable, and a flow that ignores it leaves the customer in silence.

Google Sheets is worth understanding properly, because it is the cheapest way to give a flow access to data you already keep — order lists, stock counts, waitlists, returns logs. It has its own guide: using a Google Sheet as your automation's database. The same connection also works the other way round, letting you send WhatsApp messages straight from a spreadsheet.

The External Event trigger has a guide too, since it is the one step that needs a developer for a moment: starting a flow from your own system.

AI steps

Both leave their configuration blank on purpose — the knowledge base collection is something only you can choose. More in AI answers from your own website.

Handing over and housekeeping

The five steps that need something set up first

If a flow looks right and does nothing, check this list before anything else.

  1. Update Customer Attribute — the contact field must exist under Settings → Contact Attributes.
  2. Update Customer Tags and Check Customer Tags — the tags must already exist in your account.
  3. Send WhatsApp Message in template mode — the template must be approved by Meta. Approval times vary from minutes to more than a day, and Meta caps templates at 250 per account for an unverified business portfolio, 6,000 once verified.
  4. Answer from Knowledge Base — the knowledge base must be built and crawled.
  5. Google Sheets — you must sign in with Google inside the step and pick the sheet.

How the pieces fit together

A flow is a chain, and every branch is a fork in that chain that either rejoins or ends. Two rules keep flows readable: every branch should end at a message, a handover or an End Automation; and paths that do the same thing afterwards should merge back into one shared step rather than duplicating it.

One structural limit worth knowing: a flow is a one-way chain. It cannot loop back on itself to re-ask a question. If you want a customer to be able to start over, that is a fresh trigger rather than a loop.

For what happens after the flow sends — delivery, charges and the tier ceiling on how many people you can start conversations with in a day — see Meta's pricing documentation and our summary in messaging limits and tier caps.

Frequently asked questions

What is the difference between Update Customer Attribute and Remember Info?

Update Customer Attribute writes to a named contact field that shows on the contact and must already exist under Settings → Contact Attributes. Remember Info stores something internally for the flow and needs no setup.

Why does my Update Customer Attribute step do nothing?

Because the contact field is not defined. The step silently no-ops if the field does not exist under Settings → Contact Attributes, which is why variables read back empty later.

How many buttons can I put on a question?

Three. Use the list reply type for more options — it shows a scrollable menu instead.

What is the difference between If Customer Sent and If Customer Message Contains?

If Customer Sent checks the message type — text, image, document. If Customer Message Contains checks the words. Use Contains for keywords.