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

# Input tools

> Define Inputs and record values.

An input is a value you track yourself, such as a level, a reading or a note. Playbooks, monitors and charts are built from inputs. Four tools define inputs and record their values.

**list\_inputs** `read`

Your inputs, the values you record over time (levels, readings, notes), each with its type, scope, options and description, whether it keeps its value until changed (`carry_forward`) and whether it is `optional`. Each also shows its `emphasis`, the change against the previous entry that you set in the app for a playbook to mark (`none` by default). `save_input` has no argument for it; the app and REST set it. Name one input to also get its recorded values; then only that input's definition comes back, and `symbol`, `since` and `until` narrow its values. They are refused without `input`. Key arguments: optional `input`, `symbol`, `since`, `until`, `limit` (up to 500). When it lists recorded values, `has_more` says whether more match; narrow with `since`, `until` or `limit` to reach them.

**save\_input** `write, destructive`

Creates an input (a value you record over time) or changes it. For a CHOICE input, `options` is the whole list in order. With `carry_forward` on, a playbook shows the input's latest value on or before its date, not only a value recorded that day. With `optional` on, its blank cells stay out of `needs_input`. The data type and scope can't change once values are recorded. A monitor's level needs a NUMBER, DECIMAL or PERCENTAGE input. Key arguments: `input` (to change one), `name`, `data_type`, `scope`, `display_mode`, `chart_role`, `description`, `carry_forward`, `optional`, `options`, `remove`.

**delete\_input** `write, destructive`

Deletes an input and all its recorded values. It's also taken out of the playbooks and charts that use it, and the result names them. Refused with `IN_USE` while a monitor uses it. Key arguments: `input`.

## Record values

**record\_input\_values** `write, destructive`

Records dated values for inputs, by input name, such as a playbook's columns. A CHOICE value must be one of the input's options. A value for the same input, symbol and date replaces the old one, and `null` deletes it. Send one entry for each input, symbol and date: a repeat in one call is refused as `INVALID_INPUT` and nothing is written. One bad entry saves none. With no person present, record nothing. List in your brief the values you would record, read as written from the source the input's description names. For a playbook cell, use the sheet's date from `get_playbook`, not the clock. Key arguments: `entries` (each with `input`, `date`, `value`, and `symbol` for symbol-scope inputs).

## Next steps

> [card] [Inputs](https://docs.allocait.app/concepts/inputs.md)
>
> Record your own values over time against a symbol.

> [card] [Playbook and chart tools](https://docs.allocait.app/claude/tools/playbooks-charts.md)
>
> Read your recorded values per date in one sheet.

> [card] [Scheduled brief](https://docs.allocait.app/guides/scheduled-brief.md)
>
> What an agent does when no person is present.


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