# Canvas

Build workflows effortlessly using a drag-and-drop canvas in the Designer. Our interface provides a versatile environment for both technical and non-technical users with fine-grained control over your workflow, enabling powerful automations and modular design. Quickly search for nodes in the topbar, assemble your flow and start building in seconds.

To enter the canvas, head to **Designer > Flows** and select your workflow.

### 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 — simply add, move, configure and connect nodes to build your automation logic.&#x20;

<details>

<summary>Adding a new node</summary>

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

</details>

<details>

<summary>Moving a node</summary>

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

</details>

<details>

<summary>Selecting multiple nodes / edges </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>Deleting a node / edge</summary>

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

</details>

<details>

<summary>Editing a node</summary>

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

</details>

<details>

<summary>Connecting two nodes</summary>

* Drag a line between node ports to create an directed edge between two nodes (link what is a node port)
* Click the <i class="fa-circle-plus">:circle-plus:</i> button 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>Zooming</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&#x26;token=caa0a3e4-cb2c-4328-8ae6-10b73f56cede">zoom in-out.gif</a></td></tr><tr><td>Panning</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&#x26;token=a1d7cb67-5488-4dcd-bbf9-de0be5bc54c9">panning.gif</a></td></tr><tr><td>Selecting</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&#x26;token=af6f1fb6-26cf-4b50-8f19-75bc0859d01c">selecting.gif</a></td></tr><tr><td>Bounding Box</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&#x26;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** in the top toolbar 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 3 main control points to manage the workflow: the top toolbar, the side toolbar and 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%2FupOu7F1Hek7UgfSGK3NX%2FCanvas-Options.png?alt=media&#x26;token=40ab8d47-f59a-4802-9107-cc39ab2149bc" alt=""><figcaption></figcaption></figure></div>

#### Top Toolbar

<details>

<summary><i class="fa-circle-plus">:circle-plus:</i>  Add new node</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>  Enter full screen</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>  Change layout</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 flow 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 flow 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="success" %}
Sticky notes are for documentation and organization purposes only. We recommend using them frequently to explain complex logic, define sections, onboard new users and to facilitate collaboration on a shared flow.
{% 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 flows, 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 zoomin/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%2FeveLzv69oCG3vaILcOrr%2FCanvas-Minimap.png?alt=media&#x26;token=cd0d2ae5-b2f0-49dc-907d-33097209ae14" alt=""><figcaption></figcaption></figure></div>

### Shortcuts

Build faster with these shortcuts:&#x20;

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

### Best Practices

* Keep it Modular: Break very large flows into smaller, manageable sub-flows
* Use Descriptive Names: Name your flows 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 Editor
* Align Nodes: Use the Align tool in the toolbar to keep your connections clean and readable


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.helvia.ai/build/canvas.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
