Flow canvas controls and shortcuts
Find the controls you need to build a flow, move around the canvas, undo edits, and manage branches without deleting shared content.
Use this reference to find a canvas control or check what happens when you add, copy, or remove a step. Each step is called a node. Select one to open its editor.
Find a flow
The Flows library has All, Widget flows, and System filters. Search matches flow names and attached widget names. Grid and List show the same filtered flows.
You can sort by name in either direction, recently or least recently accessed, and recently or least recently modified. With enhanced reporting, you can also sort by most or fewest visitors, most or fewest executions, and highest or lowest completion.
The default sort is most visitors with enhanced reporting and name order otherwise. System flows appear before widget flows. The date control changes the reporting period, not whether a flow is published.
Load appears only for accounts with flow-loading permission. You don't need it to create a flow.
Choose how a new flow appears
In Flows, New flow followed by Blank flow opens the flow setup. Use template starts from a template instead. For the shortest setup, follow Create a flow.
| If you'd like to… | Choose | What happens |
|---|---|---|
| Give the flow its own widget | A new widget | Creates a widget with the same name as the flow. |
| Replace what an existing widget shows | An existing widget | Replaces that widget's assigned flow but keeps its appearance and targeting. |
| Start with the default appearance | Start fresh under Style | Uses the selected widget type's default style. |
| Reuse another widget's appearance | An existing widget's style | Copies colors, fonts, and corners, not its trigger, pages, or flow content. The selected type keeps its default placement. |
The widget choices appear under Where should this flow show? when the project already has widgets. Flow name is required. A new widget can't reuse an existing widget name.
What kind of widget? offers Toaster, Popup, Embedded, Bar, and Full-screen takeover. These choices control how the flow appears, not its questions. An Embedded widget needs a place on your page. The other types float over or overlay the page. Check Display even when copied Design settings look right.
New widgets are enabled. If you need to publish other project changes while a flow is unfinished, turn off that widget's Enabled switch first. Saving a flow creates a draft. It doesn't change the live website until you publish.
For actions that run without a widget, use a system flow.
Move around and add steps
| If you'd like to… | Control | What it does |
|---|---|---|
| Add a step | Build | Groups nodes under Display, Actions, and Flow. Drag a node to an available insertion point. |
| Edit a step | Select the node | Opens its editor in a drawer. A shared question, form, or offer opens that shared resource. |
| Find a step | Search | Lists every node in the flow by what its card says. Choose one to center it and open its editor. |
| Change the canvas scale | Zoom in and out | Steps through 5%, 10%, 15%, 25%, 50%, 75%, and 100%. It changes the canvas, not the widget's size on your website. |
| See the whole flow | Fit to screen | Fits the flow into the available canvas. |
| Move across a large flow | Minimap | Shows the whole flow in the bottom-right corner. Select a spot or drag the frame to move there. |
| Try a widget flow | Preview flow | Opens a floating preview window you can move, resize, and minimize while you keep editing. It asks you which way to go at conditions it can't work out, and highlights the path on the canvas. See Preview a flow in the builder. |
| Reverse or restore an edit | Undo and redo | Uses the available canvas history. A disabled control has no history action available. |
| Copy a flow | Copy flow | Available when your account has permission to copy flows. |
| Copy its definition | Copy flow JSON | Administrator-only action. Copies the definition, not the referenced questions, forms, and offers needed to recreate it. |
| Look up a key combination | Keyboard Shortcuts | Shows the shortcuts for your platform. |
The panel in the top-left corner holds Build, Metrics, Activity, and Settings. When the flow has errors or questions that don't sync to your email platform, the panel lists them under This Flow has errors: or This Flow has warnings:. Select a linked error to jump to its node. The chevron beside the flow name collapses the whole panel, as does the Toggle Node Panel shortcut. A collapsed panel also hides that list and the This survey may not be identifying visitors: notice, so expand it to check for problems before you publish.
Drag the grip in the panel's bottom-right corner to make it narrower or wider, between 304 and 384 pixels. You can also focus the grip and use the Left and Right arrow keys (hold Shift for bigger steps), or Home and End for the narrowest and widest. At 352 pixels and wider, Build shows its nodes in three columns. Narrower, it uses two, and a long node name is shortened, so hover over it to read the whole name. Your browser remembers the panel's width and whether it's collapsed.
The top of the panel shows Flows and the flow's name. Flows returns to the library. A flow that belongs to one of your hosted pages shows Pages and the page's name instead, and the page's name opens that page's editor.
When a tab has more than fits on screen, it scrolls inside the panel.
A flow stores the order of its steps and branches. Questions, forms, and offers live in your libraries. Editing a reused question can change every flow that asks it. Removing a node doesn't delete its library resource.
Zoom and pan
Plain scrolling pans the canvas, and so does dragging an empty part of it. Zoom whichever way suits your device:
| If you're using… | Zoom by | What happens |
|---|---|---|
| The zoom buttons or keyboard | + and −, or modifier + plus or minus | Steps to the next level up or down, keeping the middle of the canvas in place. |
| A trackpad | Pinching | Zooms smoothly around the pointer. Ctrl + scroll wheel does the same with a mouse. |
| A touch screen | Pinching with two fingers | Zooms smoothly around your fingers. |
| A touch screen | Double-tapping an empty part of the canvas | Zooms in to twice the current size, up to 100%, keeping the spot you tapped in place. |
| A mouse | Double-clicking an empty part of the canvas | Steps in one level, keeping the spot you clicked in place. |
Double-tapping and double-clicking only zoom in, and do nothing at 100% or over a node, a control, or the panel. Zooming stays between 5% and 100%.
The minimap sits 16 pixels from the bottom-right corner of the canvas. When the bar at the bottom of the page is showing, the minimap lines up with it, or moves above it if the bar would cover it. Modifier + M shows or hides the minimap.
Search a flow
Press S to search the flow. Each result is titled from the node itself, the way its card reads:
| Node | Result title |
|---|---|
| Question | The question's internal name and its text in quotes, such as Business Type: "What best describes your business?". A question without an internal name shows only its text. |
| Condition | Its note, or a sentence describing its rules, such as Customer Lifecycle is Customer / Lead. |
| Set Data | A sentence listing its actions, such as Increment score planning by +2. |
| Offer or form | Its name. |
| Other nodes | What the card shows, such as a redirect URL or a code step's name. |
Under each title, the node's label from the canvas tells you its kind, such as Ask a question or Condition check. Typing matches both lines. Choose a result to center the node on the canvas and open its editor.
Undo and redo boundaries
Canvas history keeps up to 50 snapshots during your editing session. Changes in a node drawer become one grouped history entry when you close the drawer. Undo doesn't reverse each character separately.
Switching flows resets this history. It can't restore a project backup or reverse a delivered webhook or deleted analytics. Use the project's draft and publishing controls to manage changes to the live website.
Insert without dragging
Press F or / to show letter badges on nodes and available insertion points. Type a badge to open a node or choose where to insert one. Then choose an available node from the palette. Press Escape to leave this mode.
Available choices depend on the flow and position. System flows leave out display nodes that need a widget. High Score needs multiple score or variable names. Connected app nodes need their connection, and Webhook needs access on your plan. You can't insert an item marked as coming soon.
Node menus and badges
Editable node menus have Duplicate and Remove. These menus don't appear in read-only previews or template previews. A question can offer Test this question when it has no draft or active question test.
Question cards can show badges for identification, syncing, multiple answers, write-in answers, and scoring. A card with no question selected says Select a question. Hovering over a question or offer card opens a small preview of what visitors see. Zooming the canvas closes it.
A node's Duplicate action copies its flow structure. It doesn't make a separate library copy of a question, form, or offer. Use that resource's own duplication controls when you need independent content.
Add or remove answer branches
Adding or choosing a question only asks it. The node has no answer branches until you route it. A single-answer, segment-backed question supports Route off this question. It creates a branch for each segment and a Default branch for visitors without a matching answer. Multiple-answer questions don't support a separate branch for each selected answer.
The branches follow the shared question's segment order. Adding routing doesn't duplicate the question or its answers. If you switch a routed node to another question, it stays routed. Its answer branches are replaced with empty ones for the new question's answers, and Default keeps its steps.
An answer without its own branch follows Default. If the split has no Default, the canvas adds an empty branch for that answer when the flow loads.
The canvas can hide Default when an attached widget asks questions and this question is asked here or earlier in the flow. It stays visible while any answer has no branch of its own, because those visitors follow it. Hiding the branch doesn't delete its saved steps. A Router without an earlier asking step still needs a useful path for missing answers.
Remove routing from this question keeps the question but removes its routing tree. Move or recreate any steps you need to keep outside that tree before removing it.
When a path stops
Forms, offers, messages, and exit steps can end the ordinary path. The canvas dims unreachable nodes after a terminal step and disables their insertion points. It also leaves out the final add position after a terminal last node.
An empty branch can rejoin shared steps below it. It doesn't stop the flow. Use Exit Flow when a branch should end without showing anything else. A form or offer inside a branch ends that path, so it won't continue to another form or offer below the join.
For a form, use its separate post-submit path to choose what happens after submission.
Keyboard shortcuts
The modifier is Command on Mac and Ctrl elsewhere. Open Keyboard Shortcuts or press ? to see your platform's labels.
| Keys | Action |
|---|---|
| Modifier + plus, minus, or 0 | Zoom in a level, zoom out a level, or fit |
| Modifier + Z | Undo |
| Command + Shift + Z on Mac; Ctrl + Y elsewhere | Redo |
| Modifier + comma | Toggle the node panel |
| Modifier + M | Toggle the minimap |
| S | Search the flow |
| Arrow keys | Pan |
| Modifier + D or U | Move half a page down or up |
| G then G; Shift + G | Jump to the top or bottom |
| F or slash | Show letter badges for opening nodes and inserting at drop zones |
| Escape | Cancel the current keyboard mode or close the shortcut dialog |
| Modifier + X | Remove the selected flow node while its drawer is open, except when typing or editing a widget |
The dialog saves your Vim preference in browser storage. It uses H, J, K, and L for panning, U for undo, and modifier + R for redo.
Removing a node with branches
Removing a populated Condition removes its Yes and No paths. Removing a populated Router, Random Split, or High Score removes that node's nested paths. Removing a populated question also removes its nested answer paths. The confirmation explains that the referenced library questions, forms, and offers remain.
Removing the whole question is different from removing its answer routing. The routing action keeps the question. Both remove the nested paths, so check those paths first.
For flow-level duplication and deletion, see flow settings. To decide which questions and branches you need, plan your questions and branches.