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

# Balanced Select

> Choose the option with the lowest current balance.

**Balanced Select** favors the least-used option. It can track balances for
this node automatically or use counts supplied by the workflow.

## Modes

<Tabs>
  <Tab title="Managed internally">
    Add one or more **Options** and leave **Manage state internally?** enabled.
    The node stores a balance for each option within the project, selects the
    first option with the lowest balance, then adds **Increment** to that
    option's balance.

    | Input         | Type           | Required | Description                                    |
    | ------------- | -------------- | -------- | ---------------------------------------------- |
    | **Options**   | Repeatable any | Yes      | Values to distribute selections across.        |
    | **Increment** | Number         | No       | Amount added after selection. Defaults to `1`. |
  </Tab>

  <Tab title="Provided balances">
    Disable **Manage state internally?** when counts come from a database,
    queue, or another workflow action.

    Each **Option** has:

    * **Value** — The value that can be selected.
    * **Current Balance** — Its current numeric amount.

    The action returns the first option with the lowest balance. It does not
    update externally provided balances.
  </Tab>
</Tabs>

## Output

| Output       | Type | Description                                |
| ------------ | ---- | ------------------------------------------ |
| **Selected** | Any  | The value belonging to the lowest balance. |

<Warning>
  In managed mode, balances belong to this node instance and are stored by
  option position. Reordering, adding, or removing options can associate
  existing counts with different values.
</Warning>

<Note>
  Simultaneous runs can inspect the same stored balance before either update is
  saved. If strict one-at-a-time distribution is required, serialize runs or
  provide balances from a transactional external source.
</Note>
