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

# Outbound calling and caller ID

> How outbound caller ID is chosen and what the Shareable toggle does.

When an agent places an outbound call, the caller ID the recipient sees is the phone number the call is dialed *from*. That number is resolved at conversation-creation time from the agent's outbound assignment, and it becomes the `agent_number` on the conversation — the number Anyreach presents on the outbound leg.

## How the outbound number is chosen

Outbound conversation creation resolves the dialing number in this order:

| You provide        | Number used                                                                                               |
| ------------------ | --------------------------------------------------------------------------------------------------------- |
| `agent_number`     | That exact number, if your org owns it or it is shared with you (see [Shareable](#the-shareable-toggle)). |
| `agent_version_id` | The number whose outbound slot (`outbound_agent_version_id`) points at that version.                      |
| `agent_id`         | The number bound to that agent's resolved version on its outbound slot.                                   |
| none of the above  | Fallback: any outbound-capable number in your org, preferring numbers with no outbound agent assigned.    |

The resolved number must have a trunk with an outbound configuration, or conversation creation fails. The slot that maps an agent to a number is the number's outbound slot — see [Assigning agents to numbers](/telephony/assigning-agents-to-numbers).

<Note>
  The recipient's caller ID is the resolved number itself. There is no separate "caller ID" field for a normal outbound call — set which number the call dials from, and that is what is displayed.
</Note>

## Caller ID on transfers

On a transfer, the call is already in progress and a third party joins. What that party sees as caller ID depends on the transfer type.

### Cold transfer

A `cold_transfer` action hands the live caller to `transfer_number` and the agent leaves. The action carries a `displayed_number` field that selects which caller ID the transferee sees:

| Value                         | Transferee sees                                     |
| ----------------------------- | --------------------------------------------------- |
| `transferee_number` (default) | The original caller's number.                       |
| `agent_number`                | The agent's number (the number the call came from). |

The Anyreach-managed Twilio trunk is created with `transfer_caller_id="from-transferee"` and `transfer_mode="sip-only"`, so the SIP `REFER` transfer presents the transferee's caller ID by default. For the full action reference, see [Call transfers and conference](/agents/transfers).

### Warm transfer and conference

For `warm_transfer` (briefing a supervisor) and `conference` (dialing a number into the room), the agent dials out to the third party from the conversation's `agent_number` — the same number resolved when the outbound or inbound call started.

## The Shareable toggle

Each phone number has an `outbound_shareable` flag, surfaced as the **Shareable** switch in the **Phone Numbers** table. It is **off by default** (`outbound_shareable` defaults to `false`).

Enabling **Shareable** lets *descendant* organizations dial out from your number. With it on, a child org can pass your number as `agent_number` when creating an outbound conversation and Anyreach will place the call from it, even though the child does not own the number.

```
parent org  ──── owns ────▶  +1 555 123 4567  (outbound_shareable = true)
                                    ▲
child org  ── dials out from ───────┘   (allowed: number is shareable
                                         AND owner is an ancestor)
```

Authorization requires both conditions: the number is marked shareable **and** its owner is an ancestor of the calling org. A non-shareable number, or a number owned by an unrelated org, resolves as "not found" for the caller.

<Warning>
  Sharing only affects outbound dialing. **Inbound routing is unchanged** — a call placed *to* a shared number always rings the owner's bound inbound agent, never a descendant's.
</Warning>

<Note>
  When a descendant org dials out from a shared number, it must supply its own agent (`agent_config`, `agent_version_id`, or `agent_id`). It cannot reuse the owner's bound outbound agent, because that assignment lives in the owner's org and is not readable across orgs.
</Note>

### Managing the toggle

| Action          | How                                                                                                         |
| --------------- | ----------------------------------------------------------------------------------------------------------- |
| Set at creation | Send `outbound_shareable` on the phone-number create request (defaults to `false`).                         |
| Change later    | `PATCH` the phone number with `outbound_shareable` — it is the only field that can be patched.              |
| In the UI       | Flip the **Shareable** switch in the **Phone Numbers** table (requires permission to manage phone numbers). |

## Related

<CardGroup cols={2}>
  <Card title="Campaigns overview" icon="bullhorn" href="/campaigns/overview">
    Run outbound calling at scale across many contacts.
  </Card>

  <Card title="Call transfers and conference" icon="phone-arrow-right" href="/agents/transfers">
    Cold transfer, warm transfer, and conference, including `displayed_number`.
  </Card>

  <Card title="Assigning agents to numbers" icon="link" href="/telephony/assigning-agents-to-numbers">
    Bind an agent version to a number's outbound slot.
  </Card>

  <Card title="Telephony overview" icon="phone" href="/telephony/overview">
    How numbers, trunks, and calls fit together.
  </Card>
</CardGroup>
