---
title: "AI caller pools"
description: "How an outbound AI number is chosen and reserved before each dial."
---

> Documentation Index
> Fetch the complete documentation index at: https://guides.channelautomations.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AI caller pools

[Open original guide with interactive examples →](/originals/ai-caller-pools/)

<span id="flow"></span>

## End-to-end flow

Select a step to see its safety responsibility.

<span id="flowDiagram"></span>

 **1 · ConfigureReviewed caller poolExisting owned numbers, callback destinations and shared caps.**   **2 · QueueCampaign or flowThe Flow action enrols; the scheduler decides when a call is allowed.**   **3 · AuthorizeAtomic reservationOne transaction selects caller and consumes allowance.**   **4 · DialOne partner requestExisting endpoint receives the reserved phone-number ID.**   **5 · ProveOutcome and successExact attempt cost, classification, bookings and number health.**

### Shared physical-number cap

A number may belong to several pools, but it has one policy row and one daily allowance across those memberships. Twenty-one simultaneous reservations against cap 20 yielded exactly 20 grants.

### Existing behavior preserved

Legacy single-number campaigns keep their dispatch path. Their success metrics are synchronized too, so moving to a pool is not required to see truthful performance.

<span id="ambiguity"></span>

## Response-failure simulator

A network result is not always proof of whether a stranger's phone rang.

  **Run scenario**

**Reserved**Allowance committed before the request.

**One request**No retry may cross this boundary.

**Record response**Queue and acceptance ledger move atomically.

**Final state**Called, released, or held for review.

<span id="attribution"></span>

## What earns campaign credit?

Choose an evidence pattern. The implementation accepts event identity, not coincidence.

<span id="attributionChoices"></span>

 **A**Exact provider call ID**
The campaign attempt and appointment-bearing canonical call record share the same the CHAU Voice AI call ID.**   **B**Same contact and nearby time**
An appointment appears for the called contact shortly afterwards.**   **C**Same campaign and caller number**
The activity appears in the same campaign window.**   **D**No successful refresh yet**
The campaign is valid, but the evidence sync has never completed.**

### Visible campaign evidence

**Resolved calls · classified calls · human answers · attributed appointments · refresh time**

Rates are hidden below 80% classification coverage. Unknown evidence is not converted into a false zero.

### Deliberately absent

**Revenue and sold results**

These wait for a stable current-state source shared across integrations and verifiable against each client's own CRM.

<span id="health"></span>

## Health evidence explorer

Adjust evidence quality to see why low volume or poor classification cannot justify automation.

Resolved calls

120

Classified outcomes

110

Confirmed human answers

48

Prior human-answer rate

55%

Insufficient evidence

Active

Watch

Cooldown

Trial

### Automation needs repeated evidence

One supported decline produces Watch. Cooldown needs a second fresh observation. Re-reading the same hourly sample does not count.

### No invented spam score

Performance deterioration can change allocation. It cannot prove a carrier spam label without a trusted reputation source.

<span id="decisions"></span>

## Decision record

The choices most likely to be “simplified” into a regression.

| Decision | Evidence / reason | Rejected alternative |
| --- | --- | --- |
| Reserve before dial | Concurrent quotas and selected caller must be one committed fact. | Dial, then increment a counter. |
| Hold uncertain acceptance | The partner path may return 500 after provider acceptance. | Release every non-2xx response. |
| Retry persistence only | A failed ledger write does not authorize a second ring. | Retry the whole network operation. |
| One policy per physical number | Membership in two pools cannot create two daily caps. | Put limits on pool membership rows. |
| Exact call ID attribution | Provider event identity survives audit against the canonical call record. | Same contact plus a time window. |
| Preserve manual park | Explicit operator/reputation state outranks inventory freshness. | Resume automatically when inventory returns. |
| Coverage before rates | Unknown classification is absent evidence. | Count unknown as machine/no answer. |
| No new outbound flag | The existing Voice Agent Studio gate is the approved boundary. | Add a second toggle and split behavior. |

Channel Automation · Help · Last updated 2026-09-08.
Questions? Ask your account manager, or open **Help Docs** inside the app — the same guidance lives there.

Source: https://guides.channelautomations.com/numbers/ai-caller-pools/index.mdx
