> ## Documentation Index
> Fetch the complete documentation index at: https://docs.feedal.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflow canvas

> Connect nodes into a flow using the visual workflow canvas — drag edges, set the entry point, and preview the path respondents will take.

The workflow canvas is a visual editor where you connect your form's nodes into a directed graph. Each node is a card; each arrow is an edge that tells the engine which node to visit next.

Switch to the **Workflow** tab in the top bar to open it.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/feedal/images/building-forms-workflow-canvas.png" alt="Workflow canvas with several nodes connected" />

***

## Node types and colours

Each node type has a distinct colour so you can read the flow at a glance.

| Node type        | Colour | Handles                         |
| ---------------- | ------ | ------------------------------- |
| Welcome screen   | Purple | Source only (no incoming edges) |
| Statement screen | Yellow | Source + target                 |
| Question         | Blue   | Source + target                 |
| End screen       | Green  | Target only (no outgoing edges) |

**Source handle** — the small circle on the right/bottom of a node. Drag from here to create an outgoing edge.

**Target handle** — the small circle on the left/top of a node. Drop an edge here to connect it as incoming.

***

## Connecting nodes

To draw an edge between two nodes:

1. Hover over the source node — the source handle appears.
2. Click and drag from the handle.
3. Drop onto the target node or its target handle.

The edge is created immediately. If conditions are configured on it they appear as a label on the arrow.

<Note>
  Welcome nodes have no incoming handle — they can only be the start of a path.
  End nodes have no outgoing handle — they always terminate the session.
</Note>

***

## Edge types

| Edge type   | Colour | When used                              |
| ----------- | ------ | -------------------------------------- |
| Conditional | Indigo | Edge has one or more condition rules   |
| Default     | Gray   | Edge has no conditions (unconditional) |

A node may have multiple outgoing edges. The engine evaluates them in **priority order** (lowest number first). The first edge whose conditions are satisfied is taken. See [Conditional branching](/building-forms/workflow/branching) for the full evaluation model.

***

## Entry node

The **entry node** is where every respondent starts. It is marked with a special indicator on the canvas.

To change the entry node:

1. Select the node you want to use.
2. In the right panel, click **Set as entry**.

Only non-End nodes can be set as the entry node.

***

## Fallback end node

When the engine reaches a node with no matching outgoing edge, it sends the respondent to the **fallback end node**.

To set it:

1. Select an End node.
2. In the right panel, click **Set as fallback end**.

<Note>
  In a purely linear form (no conditional edges), the fallback end node is never
  triggered — every edge is unconditional and always matches. It only matters
  when you use conditional branching.
</Note>

***

## Canvas controls

| Control                     | Action                                         |
| --------------------------- | ---------------------------------------------- |
| Scroll / pinch              | Zoom in and out                                |
| Click + drag on empty space | Pan the canvas                                 |
| Click a node                | Select it (opens right panel)                  |
| Click an edge               | Select it (opens edge settings in right panel) |
| `Delete` / `Backspace`      | Delete the selected node or edge               |
| Minimap (bottom-right)      | Navigate large canvases                        |
| Fit view button             | Zoom to show all nodes                         |

***

## Deleting edges

Click an edge label or arrow to select it, then press `Delete`. Alternatively, open the source node in the right panel and remove the edge from the **Outgoing edges** list.

***

## Next steps

<CardGroup cols={2}>
  <Card title="Conditional branching" icon="code-branch" href="/building-forms/workflow/branching">
    Add rules to edges so different respondents take different paths.
  </Card>

  <Card title="Scoring" icon="trophy" href="/building-forms/workflow/scoring">
    Assign point values to answers and track a cumulative score.
  </Card>
</CardGroup>
