Skip to main content
Phone numbers are the connection between your agents and the outside world. Attach an inbound agent to a number to answer incoming calls; attach an outbound agent to pick it up as a valid caller ID.

My numbers

The Numbers page shows all active numbers on your org. Each one is in E.164 format. For each number you can see which inbound agent (if any) answers it and which outbound agents may use it as caller ID.

Getting new numbers

Switch to Acquire Numbers to pick up a new one:
1

Search by area code

Type in a US area code to see what’s available.
2

Pick a number

Choose one from the list.
3

Confirm

It’s provisioned instantly. You can attach it to an agent right away.

Attach a number to an agent

Numbers are useful only once they’re attached to at least one agent. Attach from the agent’s detail page in the dashboard, or via the API:
client.agents.attach_number(
    agent.id,
    number_id="pn_xyz789",
    set_as_primary=True,
)
A number can be attached to at most one inbound agent (that’s who answers). The same number can be attached to any number of outbound agents as caller ID.

Choose a caller ID when dispatching a call

By default, outbound calls use the agent’s primary_number_id. To use a different caller ID, pass from_number on POST /v1/calls. It must be another number already attached to the same agent. If you pass a number that isn’t attached, the request fails with a 400.
{
  "agent_id": "agent-uuid-here",
  "to": "+15551234567",
  "from_number": "+15559876543"
}
If you’re using the Python SDK, the argument is from_ instead of from_number:
call = client.calls.create(
    agent_id=agent.id,
    to="+15551234567",
    from_="+15559876543",
)

Releasing numbers

You can release a number from the Numbers page. Release first detaches the number from every agent; once released, it goes back to the pool and you can’t use it anymore.
Only US numbers are available right now. International numbers are on the roadmap.