What is the Canvas?
The canvas is the visual flow-based builder where you design your automation workflows. Steps appear as nodes on the canvas, and you connect them by dragging edges between their handles to define the execution flow.Adding Steps
You can add a new step in two ways:- Header dropdown — Click the Step dropdown in the canvas header and select a step type.
- Right-click menu — Right-click anywhere on the canvas to open a context menu listing all available step types.
| Step | Description |
|---|---|
| API Request | Make API calls to external services |
| Transformer | AI-powered data transformation |
| Validator | AI-powered data validation |
| Code | Run custom Node.js or Python scripts |
| Database | Query automation databases |
| Loop | Iterate over arrays with nested steps |
| SFTP | Transfer files via SFTP |
| Notification | Send email notifications |
| Review | Create review requests for human approval |
Connecting Steps
Drag to Input
Click and drag from the output handle to the input handle on the left edge of another step.
Working with Nodes
Selecting Nodes
Click on any step node to select it and open its configuration panel on the right side of the canvas.Opening Branches from an Edge
Click on a connector edge between two steps to select the source step and automatically expand its Branches panel. This is a quick way to inspect or edit branch conditions without first locating and clicking the step node.Repositioning
Drag step nodes to rearrange them on the canvas. The visual layout does not affect execution order — only the connections matter.Deleting Nodes and Edges
Select a node or edge and press delete, or use the context menu to remove it.Loop Nodes
Loop steps are special container nodes. When you add a loop step, it creates a larger container on the canvas. Drag child steps inside the loop container to nest them — these steps execute once per iteration of the loop. Loops can be nested by placing one loop inside another. Use{{iteration.item}} to access the current item and {{iteration.parent.*}} for the parent loop’s context.
Dropping into nested loops
When you drag a step over multiple overlapping loops, the canvas automatically places it inside the innermost (smallest) loop. You do not need to zoom in or reposition other loops first.Moving steps between loops
You can drag a step that is already inside a loop and drop it into a different loop — including a nested loop inside the current one. The step’s parent updates automatically and its position is recalculated relative to the new container. To remove a step from a loop entirely, drag it outside the loop boundary.Managing the Automation
When an automation is open on the canvas, a three-dot menu (⋮) appears next to the automation name in the header. Use it to:| Action | Description |
|---|---|
| Rename | Edits the automation name inline. You can also double-click the name directly to start editing. Press Enter to save or Escape to cancel. |
| Copy ID | Copies the automation’s unique ID to your clipboard — useful when referencing the automation via the API or in support requests. |
| Delete | Permanently deletes the automation, including all its steps, connectors, and execution logs. A confirmation dialog is shown before anything is removed. |
Revisions
The canvas tracks revision history for your workflow:- Viewing History — Open the revisions panel to see a list of saved versions with timestamps
- Restoring — Click on a previous revision to restore the canvas to that state
Execution Logs
Toggle the Logs button in the canvas header to open the inline execution logs panel. This shows real-time step-by-step execution details during test runs. Drag the grip handle at the top edge of the logs panel to resize it. The panel height is preserved while you work on the canvas.Related Documentation
Steps
Detailed configuration for all step types.
Runs & Logs
Full execution history and log details.
Composers
How composers orchestrate canvas workflows.