Build a flow
Create a flow, add and connect steps on the canvas, set each step up, declare variables and use the builder's keyboard shortcuts.
You build a flow by placing steps on a canvas and connecting each step's exits to what should happen next. Your changes save automatically as a draft; nothing reaches customers until you publish.
Note: Owners, Admins and Marketing Managers can create and edit flows. Other roles can open a flow and look at it, but not change it.
Create a flow
- Go to Automation › Flows.
- Click New flow.
- Enter a Name (up to 120 characters).
- Optionally, add a Description of what the flow is for.
- Click Create flow.
The builder opens on the new flow's draft.
The builder at a glance
At the top of the page you see the flow's name and status, three tabs (Draft, Versions and Runs) and these buttons:
| Button | What it does |
|---|---|
| Save draft | Saves now. You rarely need it: the draft saves itself a moment after each change. |
| Check for problems | Lists everything that would stop the draft publishing, and marks the steps concerned. |
| Test | Runs the draft for one contact you choose. See Test and publish a flow. |
| Publish | Makes the draft a new live version. |
Under the name, the line "Draft revision N" tells you which save you are looking at, followed by Saving…, Unsaved changes or All changes saved.
The builder has two views, chosen under View:
- Canvas: drag steps, connect exits, pan and zoom. Best with a mouse or trackpad.
- Outline: every step as a list, built entirely with the keyboard. Use this view with a screen reader, or on a narrow screen.
Tip: On a phone-width screen the canvas is read-only: you can pan, zoom and open steps, but to change the flow use a wider screen or the Outline view.
Start from a template
Click Start from a template on the canvas toolbar to begin from a ready-made flow:
- Menu with buttons
- Lead qualification Q&A
- Welcome message
- Keyword auto-reply
- Lead capture
- Away hours (uses each number's business hours)
- Order status
A template replaces what is on the canvas, and you can undo it with Ctrl+Z. After applying one, click Check for problems to see what is left to set (for example, which tag or team to use).
Add steps
The step list on the left (Add a step) groups every step by kind: Start when, Message, Decide, Wait, People, AI, Commerce, Call out and Finish. Use Search steps to find one by name.
- Drag a step onto the canvas to place it where you drop it.
- Click a step to add it after the selected step, connected from that step's first free exit. With nothing selected, it is added in the middle of the view.
Every flow needs at least one Start when step. You can have more than one: for example, start the same flow when a customer sends a keyword or when a tag is added.
Click Hide the step list to give the canvas more room, and Show the step list to bring it back.
Connect steps
Each step card shows its exits, such as sent, refused and failed, or one exit per reply button.
- Drag from an exit to the step that should come next.
- To add a new step at the same time, drag the exit to an empty part of the canvas and let go. Choose the step from the menu that appears; it is added there and connected.
To remove a connection, hover over it and click its remove button, or select it and press Delete. Each exit can lead to one step. A required exit that is left unconnected stops the flow publishing; optional exits (such as refused, failed and no reply) end the run if left unconnected.
Set up a step
Click a step to open its settings in the Step settings drawer. Every step has an optional Step name, shown on the canvas; the rest of the fields depend on the step type. See Flow steps reference.
Fields that pick something (a tag, a template, a team) list what exists in your organisation. If your role can't list them, the drawer says so and keeps the current choice.
In text fields, click Insert a variable to add {{name}} at the end of the text.
Variables
Variables carry values from step to step in a run, for example an answer to a question or a value copied from your system's reply. Click Variables on the canvas toolbar to open the panel.
- Type a Name: start with a lower-case letter, then lower-case letters, digits and underscores.
- Choose a Type: Text, Number, True or false, Date and time or Contact.
- Click Add variable.
Use a variable in text as {{name}}. Some variables are set for you by the trigger and can't be declared, such as {{triggered_at}} (every trigger) and {{message_text}} (a customer message). You can also read contact details as {{contact.name}} or {{contact.<field key>}}.
A variable's name can't be changed once added: remove it and add a new one instead. Publishing tells you about any step that reads a variable that is not declared, or that may have no value on some path.
Tip: If a customer submits a WhatsApp Flow form, declare a variable named flow_ followed by the answer's name (for example flow_email) to receive that answer.
Canvas tools
The canvas toolbar has Undo, Redo, Tidy up the layout, Variables, Start from a template, Fit flow to screen and Full screen. A minimap shows an overview of the whole flow.
When you remove a step, a notice offers Undo.
Keyboard shortcuts
Click Show keyboard shortcuts under the canvas or outline to see the list.
Canvas view
| Keys | Action |
|---|---|
| Click | Open a step's settings |
| Shift + Click | Select more than one step |
| Shift + Drag | Select steps inside a box |
| Delete | Remove the selected steps or connection |
| Ctrl + Z / Ctrl + Shift + Z | Undo / Redo |
| Ctrl + C / Ctrl + V | Copy / paste the selected steps |
| Ctrl + D | Duplicate the selected steps |
| Ctrl + A | Select every step |
| Shift + L | Tidy up the layout |
| Shift + 1 | Fit flow to screen |
| Shift + F | Full screen, and back |
| Esc | Close the settings, clear the selection, or leave full screen |
Outline view
| Keys | Action |
|---|---|
| ↑ ↓ | Move between steps, in the order they connect |
| → / ← | Open a step's problems and connections / go back |
| Enter | Set up the step, or follow a connection |
| C | Start a connection; move to a step and press Enter |
| Esc | Cancel a connection, or deselect |
| Delete | Remove the step or connection |
| Shift + arrow keys | Move the step |
| F8 / Shift + F8 | Next / previous step with a problem |
| Ctrl + Z | Undo removing a step |
If a save fails
- Someone else changed this draft: a colleague saved in the meantime. Click Reload the draft to see their version; changes you made since your last save are lost.
- The draft was not saved: the message names the problem and the step. Your edits stay on the page and save once it is fixed.
If you try to leave while your latest change isn't saved, the builder asks whether to Stay or Leave without saving.
Still need help?
Write to us at [email protected] and tell us what you were trying to do. Already a customer? Sign in to IconEngage — the same articles are under Help in the app.