# Values and state

> How steps share information during a call, which values do something on their own, and what reaches your webhook.

Source: https://voxio.in/docs/workflows-values · voxioagent 2.0.0 · Index: https://voxio.in/docs/llms.txt

Each call has its own *state*: a set of named values. Steps read from it and write to it. Declare every value in the workflow's `variables` with a type and, if it needs one, a starting value:

```json
"variables": {
  "user_input": { "type": "str" },
  "conversation_history": { "type": "list", "default": [] },
  "hangup": { "type": "bool", "default": false },
  "outcome": { "type": "str" }
}
```

Types are `str`, `int`, `float`, `bool`, `list` and `dict`.

## Who writes what

| Step | Writes | Reads |
| --- | --- | --- |
| Listen | What the caller said, under each name in its `input_variables` | — |
| AI decision | Every field it returns (its `llm_return_type`), and its memory under `history_key` | Its `input_variables`, and its memory |
| AI reply | Only its memory under `history_key`. The reply itself is spoken, not saved. | Its `input_variables`, and its memory |
| Say | — | The names in its `variables` |
| Branch | — | The first name in its `input_variables` |

> **Warning**
>
> Only an **AI decision** saves its fields. To branch on something the AI decided, use AI decision, not AI reply.

## Values that do something

When a Say step sends these, or an AI reply returns them, the pipeline acts on them:

| Value | What happens |
| --- | --- |
| `speak` | Spoken reply: What the caller hears. |
| `hangup` | End the call: Hangs up when this is yes. |
| `actions` | Website actions: Moves the caller’s web page. |
| `interruption_type` | Sets how this one message can be interrupted. See [Interruptions](https://voxio.in/docs/turn-taking-interruptions.md). |

Every other value a Say step sends is passed on with the turn: it shows as a data line in the Test panel and session replays, and reaches your [webhook](https://voxio.in/docs/webhooks.md).

## Next steps

- [Patterns](https://voxio.in/docs/workflows-patterns.md): put values to work.
- [AI decision](https://voxio.in/docs/steps-ai-decision.md): decide fields with an AI.
