The Workflow Builder canvas is divided into horizontal swimlanes that define the execution context for each node. Placing a node in the wrong swimlane either prevents it from being added or changes how it behaves.
Swimlanes Overview
| Swimlane | Purpose |
|---|---|
| Automated | Server-side execution. Nodes run without end-user interaction. |
| Authenticated | End-user interaction. Nodes that present a form or wait for end-user input run here. |
Node Placement Rules
Nodes Restricted to the Authenticated Swimlane
The following nodes can only be placed in an Authenticated swimlane. Some of these are boundary events, which are nodes that attach to another node and fire when a specific condition occurs. See Boundary Events for details.
| Node | Notes |
|---|---|
| Conditional Event | A boundary event attached to a Sub-Process node. Fires when a specified condition is met. |
| Signal | Displays a message or screen to end-users when the workflow reaches it. |
| Sub-Process | Runs a nested workflow in an Authenticated context. |
| Task (User task) | When placed in an Authenticated swimlane, always runs as a User task and presents a form to the end-user. |
| Timed Event | A boundary event attached to a Task node. Fires after a set duration if the task is not completed. |
Nodes Restricted to the Automated Swimlane
| Node | Notes |
|---|---|
| Error | A boundary event attached to a Task node. Fires when the task encounters an error. |
Nodes With Swimlane-Specific Behavior
| Node | Automated Swimlane | Authenticated Swimlane |
|---|---|---|
| Task | Shows Select Task Type. Creators choose Service task or Script task. | Always a User task. No task type selection shown. |
Swimlane Placement
| Node | Automated | Authenticated |
|---|---|---|
| Conditional Event | — | ✓ |
| End | ✓ | ✓ |
| Error | ✓ | — |
| 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 | — | ✓ |
| Timer | ✓ | ✓ |
| Timer Start | ✓ | ✓ |
Boundary Events
A boundary event is a node that attaches directly to another node and monitors it for a specific condition. When that condition occurs, the boundary event fires and the workflow follows the path connected to it, bypassing the normal flow of the parent node.
A boundary event functions like an escape hatch on its parent node: when the parent node encounters an error, exceeds a time limit, or meets a specified condition, the workflow exits through the boundary event instead of continuing normally.
In Unqork, three nodes function as boundary events:
| Boundary Event | Attaches To | Fires When |
|---|---|---|
| Conditional Event Node | Sub-Process Node | A specified condition is met during the Sub-Process. |
| Error Node | Task Node | The task encounters an error. |
| Timed Event Node | Task Node | The task is not completed before the set duration expires. |
Boundary events cannot be placed independently on the canvas. To add one, drag it directly onto its parent node. The boundary event will anchor to the edge of that node.
Changelog
| Date | Change |
|---|---|
| — | Initial publication. |