Skip to main content

Telephony

Number pools

Spreading volume across numbers, and why.

Why a pool exists

A single phone number cannot carry unlimited simultaneous outbound calls. Carriers cap concurrent channels per DID, and those caps are imposed by the destination carrier, not by Finn. Exceeding them gets calls rejected before they ever ring.

The second reason is behavioural. A number that dials thousands of people in a few hours looks like a spam source to carrier analytics, regardless of how clean your list is. Call volume from a single new number is one of the signals carriers score when deciding whether to display your caller ID normally or label it. See spam labeling for the full signal list.

A pool is a set of numbers that a deployment dials from instead of a single from-number. The dispatcher round-robins outbound calls across the members of the pool.

Per-number concurrency limits

RegionMax concurrent outbound per number
US/Canada~50
UK~30
EU (most)~20
India~10
Othervaries, often ~5-15

These are approximate carrier limits, not platform limits. You will not get an error from Finn when you cross them. You will get rejections from the destination carrier, which surface as failed calls in call outcomes.

Sizing a pool

pool size ≈ peak concurrent calls / per-number limit × 1.5

The 1.5 is safety margin. Example: 500 concurrent US outbound calls at a ~50 per-number limit gives 500 / 50 × 1.5 = 15 numbers.

A rougher rule of thumb from the same math is one number per 50 concurrent calls, with a floor of 10 numbers for any parallel deployment.

Buy more numbers than the formula suggests. Numbers cost $1 to $5 per month depending on country. An undersized pool costs you rejected calls and recipients who see "this number cannot be reached".

Your plan tier caps concurrency independently of pool size. A pool of 40 numbers does not raise a Growth account past its account-wide concurrent limit. Check concurrency before sizing.

Creating a pool

Pools are created in the dashboard. There is no pool endpoint in the API.

  1. Go to Settings → Phone numbers → Pools → Create Pool.
  2. Add numbers. Ten is the practical minimum for a parallel deployment.
  3. Assign the pool to a deployment in place of a single from-number.

Numbers must already be in your inventory. Buy them first under phone numbers, or bring existing ones in via BYO numbers.

Area code matching

Recipients answer calls that look local more often than calls from an unfamiliar area code. Where your audience is geographically concentrated, populate the pool with numbers in the same area code as your targets.

This matters more for consumer outbound than B2B. It does not substitute for registration. A local-looking number that is not CNAM-registered still displays as generic caller info. See caller ID.

What still goes wrong with a pool

A pool spreads volume. It does not fix the underlying reasons a number gets labeled.

  • Unregistered numbers. Every number in the pool needs its own caller-ID registration. Registering one and adding nine unregistered ones gives you nine numbers displaying "Unknown Caller".
  • Shared reputation damage. If recipients report your calls as spam, the damage lands on whichever pool member dialed them. Strict opt-out handling protects the whole pool, not one number.
  • Answer rate death spiral. Below roughly 15% answer rate, carriers treat a number as a spam source. Once labeling starts, answers drop further, which reinforces the label. Spreading calls across a pool slows this. It does not stop it if your list or your opening is the actual problem.
  • Mixed capabilities. A number without outbound voice capability sits in the pool contributing nothing. Confirm capabilities per number under number capabilities.
  • Mixed countries. A pool mixing countries will produce rejections when a number is not permitted to originate calls to a given destination. Keep one pool per calling destination.

Retiring a bad number

If one number in the pool degrades, remove it from the pool rather than releasing it immediately. Ratings sometimes recover after a period of dormancy. Released US and Canada numbers go through a 30-day quarantine before reassignment and generally cannot be recovered.

Related: outbound campaigns for how deployments consume pools, and concurrency for plan-tier ceilings.