# Build a workflow of your own

At the end, you have drawn a workflow as a track, told each step what to do in your own words, walked every route without spending anything, and run it.

## At a glance

**Time:** 20 minutes.

**What you need:**

- Loopgate open, with the Workflows page
- A task in mind that one agent alone would get wrong

## How it works

The builder is one canvas: the same track the run view shows, editable. The palette on the left lists the blocks by who acts: **Work** (Agent, Check), **You** (Choice, Approve, Lock, Notify), **Flow** (Join, Fan out, Subworkflow), **End** (Pull request, Finish), then the built-in agents and yours. Drop a block, draw a route between two steps, and the right column is always the selected step or route, or the workflow's own form.

Every route is a verdict the step names or a choice a person makes; a check is a command the runtime runs and routes on. A loop is a route back with a bound, `loop.max`, and a step for when the rounds run out, drawn as a dashed route labelled `after n rounds`. Branches that write get their own worktrees and merge before the step they meet at; a fan out runs its body once per bullet of a `## Work items` section.

A step's panel puts your words first: **Instructions** as one box, then **Persona** (whose words, or none), **Skills** from your repository, **Reads** (what it hears from earlier steps), the engine chip with **Access** and **Interactive**, and **Preview**, which shows every word the step will be sent, Loopgate's workspace facts and rules line included. Nothing is sent that is not shown.

The copilot is a bar docked at the foot of the canvas (⌘J). Say what you want in words; a reply that carries a workflow lands on the draft at once, one undo step, with the changed steps lit. It never publishes, never starts, and never grants Full access.

## Try it

1. **On Workflows, press New workflow**, then drop an **Agent**, a **Check** and a **Finish** from the palette and draw the routes.

   You should see: the track, with the check's two routes waiting to be named, and the validator's notes in the right column.

2. **Select the agent, write two lines of Instructions, pick a persona, and press Preview.**

   You should see: the whole message as it will be sent, each part tagged by who wrote it.

3. **Draw a route from the check back to the agent and set its rounds to 3.**

   You should see: a dashed route from the agent to the step that runs after three rounds, labelled `after 3 rounds`.

4. **Press Simulate.**

   You should see: every route walked on the fake harness, including the exhausted loop; no run is created.

5. **Press Publish**, then give it a task from Tasks.

   You should see: your workflow under **Yours** in the Who picker, and the run as a track.

## Check

Open the published version on Workflows: each version is kept, and a run records the version it used.

## Next

Give each step the right engine: [Several agents on several harnesses](harnesses.md).
