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

# Number Pools

> Rotate outbound caller IDs, track STIR/SHAKEN health, and protect number reputation

Number Pools group your [phone numbers](/manage/phone-numbers) into rotating caller-ID sets for [outbound campaigns](/campaigns/overview). Rotating caller IDs spreads call volume across numbers, which protects their reputation and keeps answer rates healthy.

Pools live in **Studio → Manage → Number Pools**. Every voice campaign must have a pool with at least one active number before it can launch.

## Creating a Pool

1. Click **New Pool**. A two-step wizard opens: **Configure → Add Numbers**.
2. Enter a **Pool name** and choose the **Caller ID rotation** mode:
   * **Sequential** — cycle numbers in order (least-recently-used first).
   * **Random** — pick a random number for each call.
3. Select at least one of your provisioned numbers. You can buy a new number inline — purchased numbers are auto-selected for the pool.
4. Click **Create Pool**.

You can also create a pool without leaving a campaign — the campaign's Caller ID pool selector links here when no pools exist.

## How Rotation Works

For each outbound dial, the dialer:

1. Prefers **active** numbers with full STIR/SHAKEN **"A" attestation**; if none qualify, any active number is used.
2. Orders candidates least-recently-used first, then applies the pool's rotation mode.
3. Records the call against the chosen number (total calls, last call time).

## Number Health

Each number in a pool carries health signals, visible on the pool detail page:

| Signal          | Values                     | What it means                                                                                                                      |
| --------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **Status**      | Active / Flagged / Retired | Only Active numbers are dialed. Flag or retire numbers manually, or let automatic checks flag them.                                |
| **Attestation** | A / B / C / —              | The STIR/SHAKEN attestation level the number's calls receive. "A" is fully attested; new numbers show "—" until their first calls. |
| **Spam flag**   | Icon on the number         | The number was flagged by carrier spam intelligence.                                                                               |

### Automatic protection

* **Spam checks** — every number added to a pool is checked against carrier spam intelligence, and all active pool numbers are re-checked on a daily sweep. Numbers that score as spam-likely are flagged in **every** pool that contains them (spam reputation is global per number). You can also run **Check spam status** on demand.
* **STIR/SHAKEN registration** — numbers added to pools are automatically registered for STIR/SHAKEN attestation, so outbound calls sign with full "A" attestation.
* **Attestation monitoring** — live call results feed each number's attestation level back into the pool. A number that drops below "A" is automatically flagged and removed from preferred rotation.

<Tip>
  Watch the flagged count on your campaign's pool selector (shown as "⚠ N flagged"). Retiring or replacing flagged numbers keeps connect rates up.
</Tip>

## Managing Pools

* **Edit** — rename the pool or switch rotation mode at any time (takes effect on the next dial).
* **Add number** — add any provisioned workspace number not already in the pool.
* **Remove from pool / Retire** — take a number out of rotation without releasing it.
* **Delete pool** — removes the pool and its memberships (the numbers themselves are kept). If campaigns are assigned to the pool, the Studio lists them and offers **Unassign & Delete**.

The pool detail page also lists the **Assigned Campaigns** currently using the pool.

## Pools and Campaign Runs

When a campaign launches, the run freezes a snapshot of the pool (name, rotation mode, and its active numbers with attestation levels) for the audit record — visible on the run detail page. Live dialing still follows the pool's current membership, so numbers you flag or retire mid-run leave rotation immediately.

## Where to go next

<Columns cols={2}>
  <Card title="Phone Numbers" icon="phone" href="/manage/phone-numbers">
    Buy and manage the numbers that go into your pools.
  </Card>

  <Card title="Campaign Setup" icon="sliders" href="/campaigns/campaign-setup">
    Assign a pool as your campaign's caller ID source.
  </Card>
</Columns>
