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

# Building a Journey

> Design your journey flow on the visual canvas

The Workflow tab is where you design the flow. It's a drag-and-drop canvas — nodes are the steps, and arrows connect them in the order a recipient moves through the journey.

## The Canvas

On the left of the canvas you'll see a **palette** of nodes you can drop in, grouped into three categories:

* **Actions** — Call, SMS
* **Delays** — Time Delay, Wait Until
* **Branches** — Branch

Drag a node onto the canvas, then connect it from the previous node's output. Each recipient enters at the Start node and follows the arrows until the flow ends.

The **Start** node is already on the canvas when you open a journey. It marks where every recipient enters the flow and can't be removed.

## Configuring a Node

Click a node to open its config panel. Each node has its own settings — for a Call node you pick the phone number and the agent, for an SMS node you write the message, for a delay you choose the duration, and so on. See [Node Types](/journeys/node-types) for a full reference.

Most config fields accept either a **fixed value** or an **expression** that pulls from journey data or from an earlier node's output. That's what makes journeys personalized — the same flow produces different calls for different recipients because their journey data is different. See [Journey Data](/journeys/journey-data) for how this works.

## Connecting Nodes

Every node has outputs that connect to the next node. For most nodes there's just one output — the flow moves forward when the step is done. Branch nodes have one output per condition, plus a default, so you can route recipients down different paths.

A journey doesn't have to be linear. You can fan out with branches, merge paths back together, or end different paths at different points.

## Saving

When you're happy with your flow, save the workflow. Saving publishes the current design so that future runs (and any currently running recipients that haven't yet reached a changed node) use the latest version.

Saving does not start a run. A journey only runs when you create a run in the Runs tab and start it.

## Journey Data

Before you add Call or SMS nodes that depend on per-recipient information, it's worth defining your journey data fields — things like `customer_name`, `account_id`, `plan`. These become the columns you'll map to when you import a CSV, and the values you can reference inside node configs and branch conditions.

See [Journey Data](/journeys/journey-data) for the full walkthrough.
