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

# Build your first workflow

> Create, validate, run, and inspect a three-node workflow.

Build a workflow that starts on demand, creates structured data, and shows a native desktop notification. No connection or secret is required.

**1. Create a blank workflow**

From **Workflows**, choose **New workflow**, select the blank starting point, and name it `First notification`.

**2. Add Manual Trigger**

Open the node picker and add **Manual Trigger**. A workflow has one trigger node; this trigger starts only when you select **Run**.

**3. Create the data**

Add **Set Data** and connect the trigger to it. In **Object**, enter:

```json theme={"system"}
{
  "title": "sndbox",
  "message": "My first workflow completed."
}
```

**4. Show a notification**

Add **Desktop Notification** after Set Data. Enter `sndbox` for **Title** and map or paste `My first workflow completed.` into **Message**.

**5. Review and run**

Select **Run**. If permission or validation review appears, read every item before continuing. The run succeeds after the notification is handed to the operating system.

**6. Inspect the execution**

Open the execution drawer or **Run history**. Select each node to review its resolved input, output, logs, duration, and retry count.

> [!TIP]
>
> The workflow row now shows its latest successful run, and the execution inspector contains one successful entry for each of the three nodes.

## Use mapped output

To make the data flow explicit, open **Desktop Notification → Data bindings** and bind **Message** to the Set Data output. The stored binding is typed rather than inferred from the visual edge:

```json title="Input binding" theme={"system"}
{
  "message": {
    "kind": "node_output",
    "nodeId": "set_data",
    "path": ["message"]
  }
}
```

See [Variables and data mapping](https://docs.sndbox.app/workflows/variables-and-data.md) for every binding kind.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.