# workflows

The `workflows` section defines the named workflows in a [workflow manifest](/workflows). Each entry at `workflows.<name>` contains its own defaults and the ordered `steps` array Atmos runs for that workflow.

## Naming a workflow

`<name>` in `workflows.<name>` is a free-form placeholder for the key you
choose for a workflow, such as `deploy` in the example below. See
[naming a workflow](/workflows/workflow/name) for how to use that key.

```yaml
workflows:
  deploy:
    description: Deploy infrastructure
    stack: tenant1-ue2-dev
    env:
      TF_LOG: INFO
    working_directory: !repo-root
    dependencies:
      tools:
        tflint: "^0.54.0"
    output: log
    show:
      header: true
      count: true
    steps:
      - name: plan
        command: terraform plan vpc
```

## Choose a Workflow Name

Replace `<name>` with a key such as `deploy` or `plan-all`. See
[Workflow names](/workflows/name) for naming recommendations and file disambiguation.

## Fields

These fields belong beneath a workflow name, such as `workflows.deploy`.

- **`description`** — Human-readable text shown by workflow listing and display surfaces.
- **`stack`** — Workflow-level default stack for Atmos command steps. See [stack](/workflows/stack).
- **`env`** — Workflow-level environment variables passed to steps. See [env](/workflows/env).
- **`working_directory`** — Workflow-level working directory default. See [working\_directory](/workflows/working-directory).
- **`dependencies`** — Workflow-specific tool dependencies. See [dependencies](/workflows/dependencies).
- **`container`** — Workflow-level container sandbox for eligible shell steps. See [container](/workflows/container).
- **`output`** — Workflow-level default output mode for command steps. See [output](/workflows/output).
- **`show`** — Workflow-level display defaults. See [show](/workflows/show).
- **`steps`** — Ordered array of step objects. See [steps](/steps).

Workflow-level fields provide defaults. Step-level fields override them where the step supports the same field.

For workflow file discovery, naming, and when to choose workflows instead of custom commands, start with the [workflows](/workflows) page.
