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

# Build a workflow

> Start a Hive workflow from a brief, a template or a blank draft, then add, connect and configure its steps on the builder canvas.

There are three ways to start a workflow from scratch, and you can also
[import one](#the-workflow-menu). Each one arrives as a **Draft**: nothing runs until you
[deploy it](/workflows/test-and-deploy#deploy-a-release).

## Start from a brief

<Steps>
  <Step title="Open the + Describe tab">
    Open **Workflows**, then **+ Describe**.
  </Step>

  <Step title="Describe what should happen">
    Write what starts the workflow, what it should do and which apps it uses, for example "When a
    signed engagement letter lands in DocuSign…". Or pick a starter brief below the box.
  </Step>

  <Step title="Generate the draft">
    Select the send button (**Generate workflow**). The
    [workflow assistant](/workflows/workflow-assistant) lays out the steps and opens the new draft
    in the **Builder**.
  </Step>
</Steps>

When no AI model is configured for your workspace, the assistant can only start from a built-in
template: send one of the starter briefs unchanged, or use the **Templates** tab.

## Start from a template

Open **Templates**, select a card (or **Preview** it first) and choose **Use template**. Hive makes
a new private draft; the template itself is unchanged. If the steps need connected accounts, a setup
guide asks which account each app should use. See [Templates](/workflows/templates).

## Start blank

Select **New workflow** in the builder header, or **+ New workflow** in **All workflows**. The draft
is saved as a real workflow the first time you add a step or describe it in the chat.

## Add steps

A workflow has one trigger, the first card, and any number of steps after it. To add a step:

* select **Add step** in the dock under the canvas;
* hover a connection and select its **+** to insert a step between two cards; or
* hover the line after the last card of a flow or branch and select **+**.

The **Add step** menu has three sections:

| Section | Contains |
| - | - |
| **Agents** | **Hive agent** and **Parallel agents** |
| **Nodes** | Form input, Web search, Generate image, Create PDF, Internal notification, Condition, Loop, Wait, Output |
| **Integrations** | Actions your connected apps offer, grouped by app |

**Integrations** is filled from the apps your workspace has connected, so it is empty until one that
offers a step is [connected](/integrations/connect-an-app). The
[step reference](/workflows/workflow-steps) describes every type. A card opens with its settings
showing; a warning chip names any required field still empty.

## Configure the trigger

Select the trigger card and choose **Manual**, **In-app form**, **Public form** or **Schedule**.
For a form, add a title and its fields. See [Triggers](/workflows/workflow-steps#triggers).

## Connect and arrange

* Drag a card to move it, drag empty canvas to pan. Hold **Shift**, **Ctrl** or **Cmd** to select
  several cards, then move or delete them together.
* Drag from a card's connection port onto another card to connect them, or select the port and
  then the card. Hive refuses a connection that would create a cycle and says why.
* A rule condition has **true** and **false** branches; an AI condition has one path per condition,
  plus **Else** when **Force AI to select a path** is off.
* Deleting a step reconnects the cards around it. The trigger cannot be deleted or duplicated.
* **Undo**, **Redo**, zoom, **Fit canvas** and **Fullscreen** sit on the canvas controls.

## Pass values between steps

Type `{{` in a prompt or message, or use **Insert a value from an earlier step**, to use an earlier
output, for example `{{trigger.client_name}}` or `{{draft.text}}`.

## Saving

The builder saves the draft automatically a moment after each edit and shows the status in the
header. If the workflow changed in another session, Hive keeps your local edits and asks: **Reload
latest** or **Keep editing**.

## The workflow menu

Beside the workflow name:

| Item | Does |
| - | - |
| **Rename workflow** | Change the name (up to 120 characters) and description (up to 500). |
| **Pin to sidebar** | Keep it one click away. Up to 50 pinned workflows. |
| **Import workflow** / **Export workflow** | Move a workflow between workspaces as JSON. See [export format](/developers/workflow-export-format). |
| **Save as template** | Publish a copy teammates can start from. |
| **Duplicate workflow** | Create a private draft copy. |
| **Delete workflow** | Remove it after a confirmation. |

An import always creates a new private draft without anyone's connected accounts, and lists what
it left open, such as steps that still need an account.

## Next: test it

Run the draft from any card with **Run workflow from here** or **Run this node only**. Test runs
never send anything. When it behaves, [deploy it](/workflows/test-and-deploy#deploy-a-release).

## Related

<CardGroup cols={2}>
  <Card title="Triggers and steps" icon="list" href="/workflows/workflow-steps">
    Every step type and setting.
  </Card>

  <Card title="Test and deploy" icon="rocket" href="/workflows/test-and-deploy">
    Test runs, releases and rollback.
  </Card>

  <Card title="Workflow assistant" icon="wand-magic-sparkles" href="/workflows/workflow-assistant">
    Draft and change workflows in chat.
  </Card>

  <Card title="Templates" icon="copy" href="/workflows/templates">
    Ready-made starting points.
  </Card>
</CardGroup>
