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

# workbench__add_step

> Adds one top-level step to the plan draft.

* Appends the step, or places it `before` or `after` an existing step id.
* Refused only if it adds a new validation problem; existing problems are reported.
* Steps inside `route`, `map` and `reduce` bodies are edited through their control step with `workbench__update_step`.

| Available to | Effect |
| - | - |
| Workbench agents only | Not marked read-only |

## Input

**after** `string`

Insert after this existing step id. Omit both anchors to append.

**before** `string`

Insert before this existing step id.

**step** `object` *required*

**step.id** `string` *required*

Unique step id templates reference: E-style (E4) or descriptive (fetch\_issues).

**step.input** `object` *required*

Tool input; string values may reference earlier steps with \{\{id.path}} templates.

**step.reasoning** `string`

Why this step exists and what it should produce.

**step.toolName** `string` *required*

Exact tool name from the catalog.

## Output

**id** `string`

**index** `integer`

**ok** `boolean`

**steps** `integer`

```json Output theme={null}
{
  "id": "E4",
  "index": 2,
  "ok": true,
  "steps": 5
}
```


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