Flow steps and connections
The 21 step types that make up an automation, the outputs each step has, how those outputs are wired together, and what the pre-publish check looks for.
Last updated: September 30, 2026
On this page
The first time you open an automation you see an empty canvas and a single box, and most people stop right there: what do I put down, and what connects to what? Your flow is made of only two things: steps (boxes that say what happens) and connections (lines that say what happens next). This guide explains what each of the 21 step types does, how outputs work, and what the panel checks before it lets you publish.
π‘ If step and flow are new words to you, read Flows and steps first; this guide assumes you know them.
In this article you will find:
- What a step is and how it looks on the canvas
- Adding a step and wiring it up
- Output types and what they mean
- All 21 step types, briefly
- Steps hidden by channel
- The limits of a flow
- What the pre-publish check looks for
What a step is and how it looks on the canvas
A step does one job: it sends a message, checks a condition, adds a tag or waits for a while. On the canvas every step is a box. The top of the box shows the type (Message, Condition, Waitβ¦), the middle shows a short summary of its content, and the bottom lists its outputs.
Tap a box and its settings open on the right (on a narrow screen, in a panel that slides up from the bottom). Every step type has its own settings; the one thing they all share is the Connections section at the very bottom.
Steps also have an input: the top edge of the box. Lines coming from other steps attach there. A step can receive many incoming lines β three branches ending at the same closing message is perfectly normal. Two steps have no input at all: Start (the flow begins there anyway) and Note (it never runs).
Adding a step and wiring it up
There are two ways to add a step, and they serve different purposes.
- Tap Add step at the top. Pick a type from the list. The step lands on an empty part of the canvas and is not connected; you draw the line yourself afterwards.
- Select the step you want to continue from, scroll down its settings to Connections, and tap Add and connect a step next to an empty output. The new step is created and attached to that output in one move.
The second way is almost always faster: you can build a flow end to end without ever dragging on the canvas.
To connect two existing steps, drag from the output dot to the top edge of the target step. To remove a connection, tap the line and delete it, or clear that output in the Connections list.
β οΈ Note: An output carries exactly one connection. Draw a second line from the same output and the first one disappears. If you need two things to happen after one point, put both into a single step (for example two actions inside one Action step) or chain them one after the other.
To delete a step, select it and choose Delete, or press Delete/Backspace. Duplicate (βD) copies a step in place, and copy-paste (βC / βV) moves it elsewhere. If something goes wrong, Undo (βZ) is always there.
Your edits save themselves: the header shows Savingβ¦ and then Saved. If you see Changed elsewhere β reload, the same automation is open in another tab or a teammate is editing it; do not keep typing before you reload.
Output types and what they mean
An output answers the question "where do we go when this step is done". The type and settings of the step decide which outputs exist; you cannot add or remove them by hand β they appear as you change the settings.
- Then β the single output of a step that simply finishes. Wait, Action, Conversion, Send email and button-less messages use it.
- True / False β only on the Condition step. True when the rules match, False when they do not.
- Button β every button on a message, every "Continue flow" button on a card and every row in a list opens its own output, named after the button.
- Reply β appears on a message step when Wait for a typed reply is on. If the person types instead of tapping, the flow continues here.
- No answer β used when a step was waiting for the person and the time ran out (Collect data, Try it on, and message steps with a reply time limit).
- Invalid answer β only on Collect data: the person answered in the wrong format and the retries ran out.
- Failed β on the AI and Try it on steps, when the job could not be completed.
- Failed / Timed out β only on the External request step, when the other system does not answer.
- Branch β every branch of Split randomly, and the response branches of External request.
An unconnected output is not always a mistake: a flow ending after its last step is normal. But when button and reply outputs are left empty, the person says something to you and gets nothing back; the pre-publish check flags that as a warning.
All 21 step types, briefly
Structure
- Start β holds the events that start the flow. Every flow has exactly one.
- End β closes the run cleanly at this point.
- Note β a comment on the canvas; it never runs.
- Another flow β ends this flow and starts another automation with the same person.
Steps that send messages
- Message β text and buttons.
- Card β image, title, subtitle and up to three buttons.
- Gallery β cards the person swipes through.
- Media β an image, video, audio file or document.
- List β WhatsApp's pop-up list of options.
- Template β a WhatsApp template approved by Meta.
- Reply to comment β a public reply under the comment.
Steps that get something from the person
- Collect data β asks a question, validates the answer, writes it to the contact card.
- AI β talks or writes a single reply from your instruction.
- Try it on β puts your product onto the person's photo.
Steps that split the path
- Condition β looks at the person and splits the path in two.
- Split randomly β divides people into weighted branches.
- Wait β pauses the flow for a set time.
Steps that work in the background
- Action β tags, fields, assignment, status, sequences and comment moderation.
- Conversion β records a result such as a sale or a booking.
- Send email β emails your team, the contact or an address you set.
- External request β calls another system and reads values from the answer.
Steps hidden by channel
The step list is filtered by the channel connected to your account. A step with no counterpart is simply not shown:
- Reply to comment appears only when Instagram is connected β WhatsApp has no comments.
- List and Template appear only when WhatsApp is connected.
If both channels are connected you see everything, but a Template step is skipped while the flow runs in an Instagram conversation, and a Reply to comment step is skipped in a WhatsApp conversation. The pre-publish check warns you about this, and the run log shows a "skipped" line.
If your plan does not cover a step, it stays in the list marked Not in your plan. You are allowed to add it and the flow stays published, but a run stops when it reaches that step. See Plan limit warnings.
The limits of a flow
- A flow holds at most 200 steps and 400 connections.
- An output carries 1 connection; a step can receive any number.
- There is exactly one Start step per flow.
- A single run advances at most 200 steps in one pass; a run that hits the limit is stopped.
- At most 5 messages in a row are sent without the person writing something and without a wait step in between. This is the safety net that stops a badly wired loop from sending a customer dozens of DMs β see Automation stopped: loop protection.
What the pre-publish check looks for
The Pre-publish check panel at the top re-scans the flow on every change and writes two kinds of result.
Errors block publishing. An empty message text, a keyword trigger with no keywords, an unconnected Start, text over the channel limit, a template that was never chosen, a split with fewer than two branches, and a loop with no waiting all belong here. The loop error matters most: steps that circle back without waiting for the person send message after message.
Warnings do not block publishing; they ask "did you mean to do that?". Unreachable steps, empty button outputs, options with no counterpart on your channel, messages that fall outside the 24-hour window, and steps outside your plan are listed here.
Tap a row and the canvas jumps to that step with its settings open; you never have to hunt through boxes to find the problem.
Before publishing, run the flow yourself in the simulator on the Test tab. The simulator sends nothing to the real channel, skips wait steps and prints what happens at every step; most logic mistakes show up right there.
Related concepts
Every event that can start a flow is covered in What a trigger is. For values such as {{contact.first_name}} inside your messages, see Variables and placeholders. If your automation never runs at all, My automation never starts lists the checks in order.
Once you know the steps, building a flow feels like writing a sentence: each step is a word, and the connections are the word order.
Was this article helpful?