> For the complete documentation index, see [llms.txt](https://docs.helvia.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.helvia.ai/build/canvas.md).

# Canvas

Build agent workflows on a visual, drag-and-drop Canvas

Build workflows on a drag-and-drop Canvas. The Canvas gives technical and non-technical users alike fine control over a workflow, connecting nodes into automations and modular logic. Search for nodes in the top toolbar, assemble your workflow, and start building.

To enter the Canvas, head to **Designer > AI Workflows > Flows** and select a workflow.

<div data-with-frame="true"><figure><img src="https://604830754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBM1xs3i59ajeTgi4uVfN%2Fuploads%2FoR8cO2bPZhDIdwIJ6V4m%2Fcanvas%20overview.png?alt=media&amp;token=0e673edf-7f7f-43a6-b842-d9db76b798be" alt="" width="563"><figcaption></figcaption></figure></div>

### Canvas Basics

A workflow is a collection of nodes and their connecting edges. The Canvas is your building environment for composing and managing the workflows: add, move, configure and connect nodes to build your automation logic.&#x20;

<details>

<summary><strong>Adding a new node</strong></summary>

* Click <i class="fa-circle-plus">:circle-plus:</i> **Add new node** in the top toolbar of the Canvas. Search for a specific node by name (partial match) or select one from the list
* Click <i class="fa-circle-plus">:circle-plus:</i> in the [node options](#node-options) to add a new node before or after the selection&#x20;

</details>

<details>

<summary><strong>Moving a node</strong></summary>

* Click and drag any node to move it to a new location

</details>

<details>

<summary><strong>Selecting multiple nodes / edges</strong> </summary>

* Hold `Ctrl/Cmd` and click to select multiple nodes or edges
* Hold `Shift` and drag the pointer to make a selection bounding box

</details>

<details>

<summary><strong>Deleting a node / edge</strong></summary>

* Select a node or edge and press `Backspace/Delete`&#x20;

</details>

<details>

<summary><strong>Editing a node</strong></summary>

* Double click on a node
* Hover over a node and press the  <i class="fa-pen">:pen:</i> action

</details>

<details>

<summary><strong>Connecting two nodes</strong></summary>

* Drag a line between node ports to create a directed edge between two nodes
* Click <i class="fa-circle-plus">:circle-plus:</i> in the [node options](#node-options) to add and connect a new node before or after the selection

{% hint style="warning" %}
In the event of a connection mismatch, an alert will trigger with descriptive text to help you resolve the conflict.
{% endhint %}

</details>

### Navigation

Moving around the Canvas uses similar controls to many standard design tools:

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><h4>Zooming</h4></td><td>Use the <i class="fa-plus">:plus:</i>,<i class="fa-minus">:minus:</i> buttons on the side toolbar to zoom in and out. Alternatively, scroll or use pinch gestures inside the Minimap</td><td><a href="https://604830754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBM1xs3i59ajeTgi4uVfN%2Fuploads%2F6OCWxMnoS1VEbtSd0sTW%2Fzoom%20in-out.gif?alt=media&amp;token=caa0a3e4-cb2c-4328-8ae6-10b73f56cede">zoom in-out.gif</a></td></tr><tr><td><h4>Panning</h4></td><td>Click and drag on empty space to move around the Canvas</td><td><a href="https://604830754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBM1xs3i59ajeTgi4uVfN%2Fuploads%2Fwh8ILuJxuzX62P76oiyP%2Fpanning.gif?alt=media&amp;token=a1d7cb67-5488-4dcd-bbf9-de0be5bc54c9">panning.gif</a></td></tr><tr><td><h4>Selecting</h4></td><td>Hold <code>Ctrl/Cmd</code> and click to select multiple nodes or edges</td><td><a href="https://604830754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBM1xs3i59ajeTgi4uVfN%2Fuploads%2FHr6lZqIiebJYEqetZKmF%2Fselecting.gif?alt=media&amp;token=af6f1fb6-26cf-4b50-8f19-75bc0859d01c">selecting.gif</a></td></tr><tr><td><h4>Bounding Box</h4></td><td>Hold <code>Shift</code> and drag the pointer to make a selection bounding box</td><td><a href="https://604830754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBM1xs3i59ajeTgi4uVfN%2Fuploads%2FLFbVaeDKWJApcePjg173%2Fbounding-box.gif?alt=media&amp;token=cec77ca4-36ff-49e7-9351-334225a09cb1">bounding-box.gif</a></td></tr></tbody></table>

### Saving a Workflow

Save your work frequently to keep your workflow synchronized with your latest design:

* **Commit Progress:** Click **Save Changes** to secure your work.
* **Validation:** Saving is only possible if the workflow is valid and contains no errors. In this event, a warning message will appear specifying the necessary adjustments to your workflow.
* **Exit Protection:** If you attempt to navigate away or close the page without saving, a prompt will ask you to confirm to ensure your progress isn’t lost.

### Canvas Controls

The Canvas offers three main control points to manage the workflow:&#x20;

1. Top toolbar
2. Side toolbar
3. Local controls for individual nodes.&#x20;

<div data-with-frame="true"><figure><img src="https://604830754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBM1xs3i59ajeTgi4uVfN%2Fuploads%2FASolTwDymwYLTHpDiWy0%2Fcanvas%20controls.png?alt=media&amp;token=f1e82277-e89a-4cc4-b68b-0918867ee3c7" alt="" width="563"><figcaption></figcaption></figure></div>

#### Top Toolbar

<details>

<summary><i class="fa-circle-plus">:circle-plus:</i>  <strong>Add new node</strong></summary>

Search for a specific node by name (partial match) or select one from the list.

</details>

<details>

<summary><i class="fa-maximize">:maximize:</i>  <strong>Enter full screen</strong></summary>

Toggle the Canvas to fill your entire window. Perfect for handling complex workflows.

</details>

<details>

<summary><i class="fa-network-wired">:network-wired:</i>  <strong>Change layout</strong></summary>

Automatically adjust the node layout to vertical or horizontal flow direction. This action also adjusts the orientation of the node ports.

{% hint style="info" %}
Use the <i class="fa-arrow-u-turn-up-left">:arrow-u-turn-up-left:</i>  button to revert to your previous layout.
{% endhint %}

</details>

#### Side Toolbar&#x20;

<table><thead><tr><th width="140.5">Symbol</th><th width="258.5">Description on hover</th><th width="348.5">Action</th></tr></thead><tbody><tr><td><i class="fa-plus">:plus:</i></td><td>Zoom in </td><td>Zoom to center</td></tr><tr><td><i class="fa-minus">:minus:</i></td><td>Zoom out</td><td>Zoom out from center</td></tr><tr><td><i class="fa-expand">:expand:</i></td><td>Fit view</td><td>Center your workflow in the window</td></tr><tr><td><i class="fa-lock-keyhole-open">:lock-keyhole-open:</i> / <i class="fa-lock-keyhole">:lock-keyhole:</i></td><td>Toggle interactivity</td><td>Prevent accidental node movement</td></tr><tr><td><i class="fa-arrow-u-turn-up-left">:arrow-u-turn-up-left:</i></td><td>Undo</td><td>Revert recent changes</td></tr><tr><td><i class="fa-arrow-u-turn-up-right">:arrow-u-turn-up-right:</i></td><td>Redo</td><td>Restore recent changes</td></tr><tr><td><i class="fa-down-to-bracket">:down-to-bracket:</i></td><td>Export diagram</td><td>Download your workflow configuration as an image or PDF</td></tr><tr><td><i class="fa-gear">:gear:</i></td><td>Flow settings</td><td>Access flow settings</td></tr><tr><td><i class="fa-border-outer">:border-outer:</i></td><td>Align graph to layout</td><td>Snap all nodes to the vertical or horizontal layout</td></tr><tr><td><i class="fa-note-sticky">:note-sticky:</i></td><td>Sticky note</td><td>Add comments to your flow</td></tr></tbody></table>

{% hint style="info" %}
**Sticky notes for documentation** Use them frequently to explain complex logic, define sections, onboard new users, and support collaboration on a shared workflow.
{% endhint %}

#### Node Options

Hover over a node to reveal its controls. Available options vary by node type.

<table><thead><tr><th width="128">Symbol</th><th>Action</th></tr></thead><tbody><tr><td><i class="fa-pen">:pen:</i></td><td>Edit the node configuration</td></tr><tr><td><i class="fa-trash-can">:trash-can:</i></td><td>Delete the node from the Canvas permanently</td></tr><tr><td><i class="fa-copy">:copy:</i></td><td>Duplicate node immediately</td></tr><tr><td><i class="fa-circle-plus">:circle-plus:</i></td><td>Add new node before or after the selection and link them</td></tr></tbody></table>

### Minimap

For large workflows, use the Minimap in the bottom-right corner to see a bird’s-eye view of your entire graph. You can click and drag the pointer to quickly move the view box around the Canvas. To zoom in/out the Canvas use the scroll wheel or pinch gestures while hovering inside the Minimap.

<div data-with-frame="true"><figure><img src="https://604830754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBM1xs3i59ajeTgi4uVfN%2Fuploads%2FPg4PGukgSWwsPnDPDwYZ%2Fcanvas%20minimap.png?alt=media&amp;token=25a46398-9225-4800-a2ac-d68fc2a49a91" alt="" width="563"><figcaption></figcaption></figure></div>

### Shortcuts

Build faster with these shortcuts:

| Shortcut                           | Action           |
| ---------------------------------- | ---------------- |
| <kbd>Ctrl/Cmd</kbd> + <kbd>C</kbd> | Copy selection   |
| <kbd>Ctrl/Cmd</kbd> + <kbd>V</kbd> | Paste selection  |
| <kbd>Ctrl/Cmd</kbd>+ <kbd>S</kbd>  | Save changes     |
| <kbd>Backspace/Delete</kbd>        | Delete selection |

### Best Practices

* **Keep it Modular:** Break very large workflows into smaller, manageable sub-workflows
* **Use Descriptive Names:** Name your workflows appropriately and give LLM nodes a friendly name to reflect their specific function in the workflow
* **Label the Canvas:** Document your workflow using sticky notes for better readability
* **Save Frequently:** Click **Save Changes** often to avoid data loss, especially before exiting the Canvas
* **Align Nodes:** Use the Align tool in the toolbar to keep your connections clean and readable

{% hint style="success" %}
You can now navigate the Canvas, add and connect nodes, save and validate a workflow, and use sticky notes to keep it readable.
{% endhint %}
