---
title: "Build Automations with the Canvas Editor"
description: "Use the Canvas editor to build Agent OS automations visually. Add triggers, actions, loops, and branches on a single zoomable canvas, and configure and test each step in a side panel."
url: "https://www.contentstack.com/docs/agent-os/canvas-editor"
product: "Contentstack"
doc_type: "guide"
audience:
  - developers
  - admins
version: "current"
last_updated: "2026-11-03"
---

# Build Automations with the Canvas Editor

The Canvas editor is a visual way to build automations in Agent OS. Instead of configuring one step at a time in the form editor, the Canvas editor shows your entire workflow on a single zoomable canvas. You can see the trigger, actions, loops, and branches together, and how the whole automation fits. You configure and test each step in a side panel without leaving the canvas.

![A sample automation on the Canvas editor with a trigger, an If-Else step with Matches and Else branches, and a loop](https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/am0cf581b5d4e2f7e2/ae27c49112b92986de08b03f/canvas-editor-workflow.png)

## Prerequisites

*   [Contentstack account](https://www.contentstack.com/login/)
*   Admin / Owner access for the Contentstack stack

## Switch Between the Canvas and Form Editors

1.  In your project, open or create an automation and click **Try Canvas Editor**.
2.  The editor saves your view preference. After you open an automation in the Canvas editor, your other automations open in the Canvas editor by default.
3.  To go back to the form editor, click **Switch to Form Editor**.

**Note:** Under the **Logic** category, branching is **If-Else** and looping is **Loop**. Once added, a loop step is labeled **Repeat path**. The form editor uses the same steps and labels, so an automation behaves the same way in either editor.

## Build an Automation on the Canvas

1.  On the canvas, click **Click to Add Trigger**. A side panel opens.
    
2.  Select a trigger (for example, **HTTP Request Trigger**), then click **Save and Continue**. You can execute and test the trigger event directly in the side panel.
    
3.  Click the **+** icon below a step to add the next step. In the **Select Step** panel, use the tabs to find what you need:
    
    1.  **All**: every available step.
    2.  **Apps**: connector actions.
    3.  **Logic**: branching (**If-Else**) and looping (**Loop**).
    4.  **Utilities**: helpers such as Codeblock, Data Store, and Email.
4.  Configure the step in the side panel and test it there. To test a step, fill in all its required inputs first.
    
    **Note:** A saved password in a password field always stays hidden. To change it, click the field and enter the new password, because the field starts empty. When you test the step, password values in its input are masked. A variable such as {{variable}} in a password field shows as you typed it.
    
5.  To loop over data, add a **Loop** from **Logic** (it appears on the canvas as a **Repeat path** step). Choose the **Loop Type** — a **Data source** (an array to iterate over) or a **Number of times**, then add the steps to run for each iteration inside it. By default, a loop can repeat up to 100 times. To add a step before the first step inside a loop, click the **+** at the top of the loop.
    
6.  To branch, add an **If-Else** from **Logic**. The step splits into a **Matches** branch and an **Else** branch. Add the steps for each branch.
    
    **Note:** You can't add a Loop inside an If-Else branch.
    

![The Select Step panel with the All, Apps, Logic, and Utilities tabs](https://images.contentstack.io/v3/assets/blt2d43f51baca745a8/am99204e692fd5f34a/1fd91e5b616929217e086138/canvas-editor-select-step.png)

## Navigate the Canvas

*   **Zoom**: The canvas opens at 125% zoom by default. Use **Fit to view** to see the whole workflow, or zoom in and out.
*   **Search**: Use the search bar to find a step by its name, app, or step type. Each result shows the step number. Select a result, or use the arrow keys and press Enter, to zoom to and focus on that step.

## Manage Steps

Each step provides the following actions, available from its three-dot menu:

*   **Rename**: Rename the step from the three-dot menu, or hover over the step name and click the edit icon.
*   **Add Note**: Attach a note to a step. Click the note to view it, or double-click to edit it.
*   **Duplicate**: Add a copy of the step directly below it, with the same configuration.
*   **Copy** and **Paste below**: Copy a step and paste it below another step to place it anywhere in the workflow.
*   **Replace Action**: Replace an action step with a different action (available on action steps).
*   **Delete**: Remove the step from the workflow.

## Activate the Automation and View Executions

1.  To activate the automation, use the **Activate Automation** toggle. After you activate it, the canvas becomes read-only and steps can no longer be edited.
2.  The automation has three tabs, similar to agents: **Builder**, **Executions**, and **Settings**.
3.  Open **Executions** to review runs for this automation. The list shows each run's **Status**, **Started At**, **Trigger**, **Duration**, and **Connectors Used**. Select a run to see the input and output for every step, including loop iterations and If-Else branches.

## Automation Settings

From the automation's **Settings** tab, you can:

*   Update the automation's **name** and **description** under **General**.
*   Turn on **Throttle Execution** to limit how often the automation runs and avoid API limits.
*   **Clone** the automation (under **Sharing and Reuse**). The clone opens in the Canvas editor with its configuration preserved; test it to confirm the steps run.
*   **Export** the automation as JSON, and import it when creating another automation.
*   **Get Link** to generate a share link for the automation.
*   View the automation's details under **Info**: who created it and when, its **Automation ID**, and when it was last updated.
*   **Delete** the automation, using **Delete Automation** at the bottom of the tab. You can delete an automation only when it isn't active. Deleting is permanent and removes all associated data.

## Additional Resources

*   To build an automation in the form editor, refer to the [Get Started with Automations](/docs/agent-os/get-started-with-automations) documentation.
*   To learn about branching, refer to the [What is a Conditional Path](/docs/agent-os/what-is-a-conditional-path) documentation.
*   To learn about looping, refer to the [What is a Repeat Path](/docs/agent-os/what-is-a-repeat-path) documentation.