Assign phone numbers to an agent
Last updated: September 11, 2026
An agent only ever dials out from the numbers you explicitly assign to it, and the rule is fail-closed: an agent with zero assigned numbers never places a call. This is deliberate — it exists for multi-market isolation, so a UK lead is never dialed from an Italian caller ID and vice versa. Assigning numbers is the one step that turns a freshly created agent into one that can actually dial.
Before you start
You need at least one active number in your agency's pool — check the Numbers page. If the pool is empty, start with Buy a phone number in any country.
Step 1 — Open the agent's Numbers tab
In the agent editor, open the Numbers tab. The Assigned numbers card lists every active number your agency owns.
Step 2 — Select the numbers this agent may call from
Tick the numbers that fit this agent's market. A number can be shared by multiple agents; the agent will simply never dial out from a number it is not assigned to. While nothing is selected, the tab shows a No number assigned warning: until at least one active number is assigned, the agent is not dispatchable and its leads are skipped at enqueue.
Step 3 — Save the assignment
Click Save numbers. "Numbers saved." confirms the change — it applies to the next calls immediately.
Step 3b — Check the numbers are registered on Retell
A number tagged not on Retell is owned by your Twilio account but unknown to the voice engine: it can neither dial nor ring, whatever you assign here. The tab warns you and links to the Numbers page, where Register on Retell builds the SIP trunk and imports the number. Numbers bought in-app are registered automatically.
Step 4 — Verify on the Numbers page
The Numbers page shows the reverse view: an Agents column tells you which agents use each number, or Unassigned when none do. Use it to spot numbers that no agent can dial from.
The column is also where you assign from the number's side: pick an agent in the Assign to an agent… dropdown of a row (active outbound agents only) and it is assigned at once; the × on a chip removes that agent. It is the quickest way to put a number you just bought to work without opening the agent.
Fail-closed, end to end
The zero-numbers rule is enforced at every stage, not just in the UI:
| Stage | What happens with zero assigned numbers |
|---|---|
| CRM workflow trigger | The webhook answers skipped with reason no_number, and the contact is tagged in your CRM so workflows can react. |
| Already-queued lead at dispatch | The item is dropped — the platform never falls back to a non-assigned number. |
This is the single most common reason a fresh setup "doesn't call": everything is connected, but the agent has no numbers. If nothing dials, check this first — then run the full Calls are not firing checklist.
Inbound does not need numbers
Assignment decides who dials; who answers a call-back is decided by the pairing you set on the inbound agent (Identity & routing → Answers the call-backs of). If an inbound agent lists the outbound agent that called that lead from that number, it answers — even with no number assigned to it at all. Otherwise the answer comes from the outbound agent that last called that lead from that number, so the conversation continues with the same voice and the full context of the previous call. With neither, the call is not answered by an agent. Details in Inbound call routing and Create inbound and outbound agents.
Next steps
- Understanding number saturation — when your pool is running hot and it's time to add numbers.
- Wire your CRM workflow to the agent — the other half of going live.
