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

# Number pools

> Group phone numbers so outbound calls rotate across a connection.

Open **Numbers** → **Number pools**. Pools group numbers for rotating outgoing calls. A campaign or an event-to-call [workflow](/deploy/workflows) can dial from a pool instead of one caller ID.

A phone number can belong to one pool at a time. A pool can only contain numbers from a single [connection](/deploy/connections).

## Create a pool

<Steps>
  <Step title="Open Number pools">
    Go to **Numbers** → **Number pools** and select **Create pool**.
  </Step>

  <Step title="Name the pool">
    Use a name your team will recognize, for example `collections pool`.
  </Step>

  <Step title="Choose a connection">
    Select the provider account or SIP trunk that owns the numbers. Only that connection's numbers can join the pool.
  </Step>

  <Step title="Select numbers">
    Choose at least one number. Status **Available · unassigned** means the number is in the space and not already in this pool.
  </Step>
</Steps>

Empty state: **No pools yet** / **Pools group numbers for rotating outgoing calls.**

## Manage members

Open a pool to **Add numbers**, **Remove from pool**, or **Rename pool**.

Removing a number from a pool keeps the number in the workspace. Deleting a pool does the same: numbers stay, they just leave the pool.

You cannot add a number that already belongs to another pool until you move it. The public API can [move a member](/api-reference/number-pools/move-member) from its current pool into the target pool.

## Use a pool on outbound work

| Surface | How you select the pool |
| - | - |
| [Campaigns](/deploy/campaigns) | Choose **Number pool**, then a **Number selection strategy**: **Auto**, **Spread evenly**, or **Match recipient area code**. |
| [Workflows](/deploy/workflows) | On an **Action** node, set **Dial from** to **Number pool**, then pick **Automatic**, **Even distribution**, or **Local area match**. |
| [API-triggered calls](/deploy/api-triggered-calls) | Pass the pool id on the outbound batch instead of a single `from` number. |

Validate outbound trunks before you send production traffic. The API reports valid and invalid member counts. See [Number Pools API](/api-reference/number-pools/overview).

<Warning>
  Confirm every member is active, ready, and allowed to call the destination countries before you assign the pool.
</Warning>


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