The toolbar
Activate is disabled while there are errors; hovering it says to fix the issues in
the top bar first. Saving a draft is always allowed — a half-built flow is a normal thing
to leave overnight.
Canvas and list
A Canvas / List toggle sits under the toolbar, beside a legend of every node type and its colour. Your choice is remembered on that device. Below 768px wide the list view is forced and the toggle, palette and inspector are hidden: the canvas handles are about 10px and drag-to-connect is not a finger workflow. The list view can do everything except wiring by drag.Adding nodes
The palette on the left is a permanent rail of every node type you can add, grouped as Message types, Ask & capture, Actions & data and Flow control, with a search box at the top. It collapses and reopens with the panel button. There are two ways to add:- Drag a type onto the canvas — it lands where you dropped it.
- Click it — it lands in the middle of the visible canvas.
Wiring
Unlike an automation, a flow is a real graph: each node stores the key of the node it continues to.- Drag from a node’s output port to another node to wire that path. A node with one way out has a single port; a If / else has true and false; a Take a payment has paid and not paid; a Send buttons or Send list has one port per button or row, labelled with its title.
- Select an edge and press Delete to clear just that path.
- Select a node and press Backspace or Delete to remove it. Every path that pointed at it is cleared too, so there are no arrows left hanging.
The inspector
The right pane shows the selected node’s settings form — the same form the list view uses, so the two cannot drift. With nothing selected it shows the flow’s own settings instead of empty space:- When… — the trigger. A message contains a keyword, Customer’s first ever inbound message, or Manual only (no auto-trigger).
- Keywords (comma-separated) for a keyword trigger.
- Entry node — which node the run starts on.
Node keys
Every node has a key — a short identifier such aswelcome or ask_name. It is what
every path points at, so it is the node’s real identity. Two nodes with the same key is
an error, and the flow will not activate.
Validation
The bar at the bottom lists every issue, split into errors and warnings. Clicking a node-scoped issue jumps to that node on the canvas and flashes it; a trigger issue is shown on the trigger form instead. Errors stop activation. Among them:- No name, no entry node, no nodes at all, or an entry node that does not exist.
- A duplicate node key.
- A path that points at a node which is not there, or a required path left empty.
- A keyword trigger with no keywords.
- Missing text, missing prompts, a variable name that is not a valid identifier.
- WhatsApp’s own limits: at most 3 buttons, button titles at most 20 characters, at most 10 list rows across all sections, and the length caps on row titles, descriptions and captions. These are checked here so a send cannot be rejected later for something that was knowable now.
- A node that cannot be reached from the entry node.
- A Wait of 24 hours or more, which closes WhatsApp’s messaging window — after it, only a template will send unless the customer writes again.