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

# Drawers

> Reusable action graphs and proactive flows.

A Drawer is a reusable package. An action Drawer chains buttons and steps; a
flow Drawer defines a proactive board whose stages are supervised by a bound
manager and runtime.

```bash theme={null}
buttons drawer create release-flow
buttons drawer release-flow add build publish notify
buttons drawer release-flow connect build to publish
buttons drawer release-flow press env=prod
```

```bash theme={null}
buttons drawer create software-delivery --kind flow
buttons drawer software-delivery stage add intake --title "Intake"
buttons drawer software-delivery set flow.initial_stage=intake
buttons drawer software-delivery set flow.manager.agent=activation.manager
```

## Mental model

| Concept | Meaning |
| - | - |
| Drawer | A reusable action or flow package. |
| Kind | `action` for pressable step graphs; `flow` for activated proactive boards. |
| Step | A button, sub-drawer, loop, switch, aggregate, or wait. |
| Stage | A column and policy boundary in a flow Drawer. |
| Input | A value supplied when the drawer is pressed. |
| Output | JSON produced by a step and made available to later steps. |
| Ref | A `${...}` expression that reads inputs, step outputs, env, or webhook URLs. |

Drawers live under `.buttons/drawers/<name>/` and record their own run history under `pressed/`.

## How drawers relate to buttons

Buttons are the units of work. Drawers compose them.

```text theme={null}
button        -> one action
action drawer -> many actions wired together
flow drawer   -> stages and supervision policy
```

## Related

* [Workflow guide](/buttons/workflows)
* [drawer.json](/concepts/drawer-json)
* [Buttons](/concepts/buttons)
* [Triggers](/concepts/triggers)


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