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

# Build a playbook

> Describe the workflow and it gets built as a step graph. Then open the editor, fix what's wrong, test it, and publish.

Building an automation usually means placing every step and every connection by hand. Here you describe the procedure and get a working draft, then correct it.

## Describe the process instead of wiring every step

The box on the Playbooks screen reads "Describe the workflow you want to automate." Type the procedure or dictate it, then select **Generate**.

<Frame caption="One box. The playbook is generated from your description.">
  <img src="https://mintcdn.com/writesonic/4y2KwWngbmU7vqVE/images/agents/playbook-describe.webp?fit=max&auto=format&n=4y2KwWngbmU7vqVE&q=85&s=84b5ba46fb95a06af772fa4bc6b16a9b" alt="The describe-a-workflow box on the Playbooks screen, with a Generate button" width="1893" height="600" data-path="images/agents/playbook-describe.webp" />
</Frame>

Brief it the way you'd brief a new hire. Name the inputs, put the steps in order, and say what the finished output should be. Include the checks and decisions that belong to your procedure. A vague description produces a vague playbook, the same way a vague task produces generic work.

> Use a page URL as the input. Audit the page for SEO and GEO, then return prioritized recommendations, a title tag, and a meta description.

If your team already has the SOP written down, paste it in. Keep its inputs, sequence, decision points and output requirements intact. That's the shortest path to a playbook that matches how you actually work.

## The editor shows the workflow as a graph

What comes back is a **Draft**, and it opens in the editor.

<Frame caption="The editor. Steps run top to bottom on the canvas, and the Skill library lists what you can add, grouped by the integration it comes from.">
  <img src="https://mintcdn.com/writesonic/4y2KwWngbmU7vqVE/images/agents/pb-editor.webp?fit=max&auto=format&n=4y2KwWngbmU7vqVE&q=85&s=9eb1b00070e55b53781a2268979ff9e5" alt="The playbook editor showing a node graph, the Skill library panel, and Test run and Publish buttons" width="2000" height="1267" data-path="images/agents/pb-editor.webp" />
</Frame>

The canvas runs from **Start** through a **Manual input** node, which is where the playbook's inputs are defined, down through the numbered steps to **End**. Steps that don't depend on each other sit under a **Parallel tasks** bar and run together. A **Conditional** node splits the path, and its two branches are labelled **If true** and **If false**.

<Frame caption="A conditional and its true branch. Each step names what it does and the tool it runs on.">
  <img src="https://mintcdn.com/writesonic/4y2KwWngbmU7vqVE/images/agents/pb-nodes.webp?fit=max&auto=format&n=4y2KwWngbmU7vqVE&q=85&s=afec3eb0726b3f7b26db8237af2f69ba" alt="A conditional node reading Research URLs Provided, with an If true branch leading to a Scrape Web Page step that runs on an LLM" width="944" height="571" data-path="images/agents/pb-nodes.webp" />
</Frame>

So you can read the whole procedure off the canvas without opening a single step.

The left panel has two tabs. **Chat log** keeps the request you typed, the reasoning behind the workflow it built, and a **Workflow details** card. **Skill library** lists every skill available to the playbook, grouped by the integration it comes from.

## Setup required means it won't run yet

A generated playbook often has steps that still need configuring. Those carry a **Setup required** badge, and the count in the top bar tells you how many are outstanding.

A playbook can look complete on the canvas and still not be runnable. Clear the warnings before you test.

## Edit by describing the change, or by opening the step

Two ways to change a workflow, and they work on the same graph.

Describe what you want different in the box at the bottom, the same way you described the workflow in the first place. Or select a node and edit it directly. Use the first for structural changes and the second when one step is nearly right.

## Test run before you publish

**Test run** executes the playbook on one input while it's still a Draft. Read what comes back and compare it against the procedure you meant to write.

Once the output holds up, **Publish**. The playbook becomes available to run for real, on its own or across a [grid](/agents/grids).

Testing first is the whole point of the Draft state. A generated structure that looks right on the canvas can still produce the wrong deliverable, and one test costs a minute.

## What's next

<CardGroup cols={2}>
  <Card title="Grids" href="/agents/grids" icon="table-cells">
    Run it across many rows.
  </Card>

  <Card title="Playbook library" href="/agents/playbook-library" icon="books">
    Start from a template instead.
  </Card>
</CardGroup>
