The Workflow Builder canvas is divided into horizontal swimlanes that define the execution context for each node. A node's swimlane determines whether Creators can add it and how it behaves. This guide covers each swimlane type, the node placement rules, and how boundary events attach to other nodes.
Swimlane Types
Every workflow has one Automated swimlane. All other swimlanes follow the same placement rules, whether they are the default Authenticated swimlane or swimlanes Creators add.
| Swimlane | Purpose |
|---|---|
| Automated | Runs steps on the server without end-user interaction. The platform manages this swimlane, so Creators cannot rename it, delete it, or assign roles to it. |
| Authenticated | The default swimlane for steps that involve end-users. Creators can rename it, delete it, and assign Express roles to it. |
| Added swimlanes | Swimlanes Creators add using Add Swimlane. They follow the same placement rules as the Authenticated swimlane. |
In the rules below, "non-Automated swimlane" means the Authenticated swimlane or any added swimlane.
Swimlane Actions
Hovering over a swimlane header displays the following action buttons. The Automated swimlane does not display them.
| Action | Description |
|---|---|
| Adds a new swimlane above the current one. | |
| Adds a new swimlane below the current one. | |
| Removes the swimlane and every node in it. | |
| Opens the swimlane's settings in the Properties panel. |
The arrows on a swimlane header move it up or down in the workflow.
Deleting a swimlane immediately deletes every node in it. To restore the swimlane and its nodes, use .
Swimlane Settings
Selecting Edit lane opens the following settings in the Properties panel. The Automated swimlane's settings are read-only.
| Setting | Field | Type | Default | Description |
|---|---|---|---|---|
| Label | label |
Text input | — | The name displayed on the swimlane header. |
| Assign Role(s) | role |
Multi-select drop-down | — | The Express roles that can access the steps in this swimlane. |
| Use Anonymous Role | useAnonymousRole |
Toggle | OFF | When set to ON, this setting assigns the Anonymous role to the swimlane and locks Assign Role(s). When set to OFF, this setting clears the assigned role. |
| Allow Access to Role Ancestors | allowAccessToRoleAncestors |
Toggle | OFF | When set to ON, this setting also gives access to end-users whose role is a parent of an assigned role. |
Node Placement Rules
Nodes Blocked From the Automated Swimlane
The following nodes can be placed only in a non-Automated swimlane:
| Node | Notes |
|---|---|
| Signal | Displays a message or module screen to end-users when the workflow reaches it, like when the next step belongs to a different role. |
| Sub-Process | Groups Task nodes into a nested process. A Sub-Process node can contain only Task nodes. |
Nodes with Swimlane-Specific Behavior
The Task node is available in every swimlane, but its type depends on its swimlane.
| Node | Automated Swimlane | Non-Automated Swimlane |
|---|---|---|
| Task | Displays a Task Type setting with Script and Service options. New Task nodes default to Script. | Always runs as a User task and presents a form to the end-user. The Task Type setting is not displayed. |
When Creators move a Task node to a different swimlane, the platform updates its task type to match the new swimlane.
Swimlane Placement
Boundary events do not belong to a swimlane. They attach to a host node, and the host's swimlane determines where they are allowed. See Boundary Events for details.
| Node | Automated | Non-Automated |
|---|---|---|
| Conditional Event | — | ✓ (attached to a Sub-Process node) |
| End | ✓ | ✓ |
| Error | ✓ (attached to a Task node) | — |
| Exclusive Gateway | ✓ | ✓ |
| Handoff | ✓ | ✓ |
| Inclusive Gateway Join | ✓ | ✓ |
| Inclusive Gateway Split | ✓ | ✓ |
| Message | ✓ | ✓ |
| Parallel Gateway Join | ✓ | ✓ |
| Parallel Gateway Split | ✓ | ✓ |
| Signal | — | ✓ |
| Signal Start | ✓ | ✓ |
| Start | ✓ | ✓ |
| Sub-Process | — | ✓ |
| Task | ✓ | ✓ |
| Timed Event | — | ✓ (attached to a Task or Sub-Process node) |
| Timer | ✓ | ✓ |
| Timer Start | ✓ | ✓ |
Boundary Events
A boundary event is a node that attaches to another node, called its host, and monitors it for a specific condition. When that condition occurs, the boundary event fires and the workflow follows the connected to it instead of the host node's normal path.
The following nodes function as boundary events:
| Boundary Event | Attaches To | Host Swimlane | Fires When |
|---|---|---|---|
| Conditional Event | Sub-Process node | Non-Automated | A specified condition is met during the Sub-Process. |
| Error | Task node | Automated | The task encounters an error. |
| Timed Event | Task or Sub-Process node | Non-Automated | The host node is not completed before the set duration expires. |
Boundary events cannot be placed on the canvas by themselves. To add one, drag it onto its host node. The boundary event anchors to the edge of that node.
Attachment Limits
- A Task node can hold one boundary event.
- A Sub-Process node can hold one boundary event of each type.
- A Task node inside a Sub-Process node cannot hold a boundary event. Attach the event to the Sub-Process node instead.
- A Task node with a boundary event attached cannot be moved into a Sub-Process node. Remove the boundary event first.
Moving Host Nodes
A host node must stay in a swimlane where its boundary events are allowed. A Task node with an Error node attached cannot leave the Automated swimlane. A host node with a Conditional Event or Timed Event node attached cannot move into the Automated swimlane.
Changelog
| Date | Change |
|---|---|
| 2026-10-16 | Updated swimlane and boundary event rules to match the current Workflow Builder, including added swimlanes, swimlane settings, and attachment limits. |
| 2026-03-30 | Initial publication. |