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

# Transfer call tool for single & multi-prompt agents

> Add the Transfer Call tool to a Retell single or multi-prompt agent to route phone calls to human agents or other numbers — supports cold and warm transfers.

<Warning>
  This feature only works during phone calls instead of web calls. It's available for Retell numbers and imported numbers.
</Warning>

It is common in call operation to transfer the call to another human agent or another AI agent.

<Steps>
  <Step title="Add Transfer Call Tool">
    Click "+ Add" in the tools section and select "Transfer Call" from the dropdown menu.

    <Frame>
      <img height="700" src="https://mintcdn.com/retellai/rxvYffEkEJPRL1KD/images/end_call.png?fit=max&auto=format&n=rxvYffEkEJPRL1KD&q=85&s=53ae902cbe4dbfa4edff788fff3ca94e" data-path="images/end_call.png" />
    </Frame>
  </Step>

  <Step title="Setup Transfer To Target">
    Set transfer number to be either:

    * a number in e.164 format, or a SIP URI in the format of `sip:username@domain` (e.g. `sip:user@retellai.com`).
    * [dynamic variable](/build/dynamic-variables) that gets substituted at runtime
    * (Optional) if your transfer destination is not in e.164 format then you can choose to keep the input as is by choosing raw format. This only applies when you are using custom telephony and does not apply when you are using Retell Telephony.

    <Frame>
      <img src="https://mintcdn.com/retellai/KbPnDie7AMuPy50b/images/transfer_call_function_e164.png?fit=max&auto=format&n=KbPnDie7AMuPy50b&q=85&s=79a165e0c4774a6905f90becb99fa244" width="1254" height="1048" data-path="images/transfer_call_function_e164.png" />
    </Frame>

    Set the transfer number extension if needed. Extension must be 0-9, '\*', '#' (E.g. 123#)
  </Step>

  <Step title="Update the Prompt">
    Enhance the agent's understanding by incorporating the transfer call conditions into the prompt. Include specific instructions such as:

    "If the user is angry or frustrated, use the transfer\_call tool to transfer the conversation to a human agent."

    <Frame>
      <img height="700" src="https://mintcdn.com/retellai/rxvYffEkEJPRL1KD/images/end_call_3.png?fit=max&auto=format&n=rxvYffEkEJPRL1KD&q=85&s=c9f4683f55f36dae81c83b91bd607ad0" data-path="images/end_call_3.png" />
    </Frame>
  </Step>

  <Step title="Configure Transfer Type">
    Choose how the call should be handed off. Think of it like passing a phone call to a colleague:

    * **Cold transfer**: The call is sent straight to the destination number and your AI agent drops off right away — like transferring a call and hanging up.
    * **Warm transfer**: Your AI agent stays on the line after dialing the destination. It can check whether a real person answered, play a private message only the destination hears, or do a quick three-way introduction before connecting your caller (more details below).
    * **Agentic warm transfer**: Instead of a person answering the handoff, a second AI agent — called a **transfer agent** — picks up, has a short back-and-forth with the destination, and then decides whether to connect (bridge) your caller or cancel. Use this when you want an AI teammate to "screen" or brief the destination before your caller is connected (more details below).
  </Step>

  <Step title="Configure Caller ID (Optional)">
    You can configure which caller id shows up to the transfer destination:

    1. **Retell Agent's number**: The transfer destination will see the Retell agent's number

    2. **User's Number**: The transfer destination will see the number of the user. Please note that the telephony provider must support caller id override for this feature to work.
       * For warm transfer, it's using SIP DIAL, and we are setting `from` and `P-Asserted-Identity` headers to the user's number.
       * For cold transfer, it's using SIP REFER, and it's up to the telephony provider to support caller id override for SIP REFER.
       * Retell Twilio numbers support showing user's number on both warm and cold transfer, Retell Telnyx numbers only support this when using SIP REFER via cold transfer.
       * If caller id override is not supported, the transfer would fail.

    <Frame>
      <img height="700" src="https://mintcdn.com/retellai/_QrxQEoxP5f0zRlL/images/telephony/caller-id-setting.png?fit=max&auto=format&n=_QrxQEoxP5f0zRlL&q=85&s=6f73a184623714e31913189556b39f59" data-path="images/telephony/caller-id-setting.png" />
    </Frame>
  </Step>

  <Step title="Configure Warm Transfer Specific Settings">
    For warm transfers, you can configure the following settings:

    * **On-hold music**: The audio played to the caller while they are on hold. The default is a standard ringtone.
    * **Navigate IVR**: Provide a prompt to help you navigate if the transfer target is an IVR system.
    * **Enable human detection**: When enabled, the agent will check if a human is present after the transfer target answers. The original caller will only be connected once a human is detected.
    * **Auto-greet**: If enabled, the agent will immediately say “Hello” when the transfer target picks up. This encourages a response, increasing the likelihood of detecting a human.
    * **Agent detection timeout**: The maximum amount of time the AI agent will wait to determine whether the transfer target is a human. The caller is connected only if human detection succeeds within this timeframe. Otherwise, the transfer is marked as failed. The default timeout is 30 seconds.
    * **Whisper message (optional)**: A message spoken privately to the transfer target before connecting them to the original caller.
    * **Three-way message (optional)**: A message spoken to both the transfer target and the original caller once the connection is established.

    <Frame>
      <img height="700" src="https://mintcdn.com/retellai/_QrxQEoxP5f0zRlL/images/telephony/warm-transfer-settings.png?fit=max&auto=format&n=_QrxQEoxP5f0zRlL&q=85&s=d813bc6a8f2fdb7c3dbb1ae8b8078c4b" data-path="images/telephony/warm-transfer-settings.png" />
    </Frame>
  </Step>

  <Step title="Configure Agentic Warm Transfer Specific Settings">
    If you chose **agentic warm transfer**, a transfer agent handles the handoff for you. You can configure:

    * **On-hold music**: What your original caller hears while the transfer agent is working. The default is a standard ringtone.
    * **Transfer ring duration**: How long the destination is allowed to ring before the attempt is treated as unanswered.
    * **Two-way conversation agent**: The transfer agent that talks to the destination and decides whether to connect your caller. See **Choose or create a transfer agent** in the next step.
    * **Wait time for agent answer**: How long to give the transfer agent to reach a decision (connect or cancel).
    * **Action on timeout**: What happens if that wait time runs out — **Cancel transfer** (treat it as a failed transfer) or **Bridge the transfer** (connect your caller anyway).
    * **Three-way ring tone (optional)**: Play a short sound so everyone knows the moment the call is connected.
    * **Three-way message (optional)**: A short handoff message shared with both sides once the call is connected. You can write it as a **Prompt** (instructions the agent turns into a sentence) or a **Static Sentence** (the exact words to say).

    <Frame>
      <img src="https://mintcdn.com/retellai/pYRxYvv70IUyhP6N/images/transfer-agents/agentic-warm-transfer-settings.png?fit=max&auto=format&n=pYRxYvv70IUyhP6N&q=85&s=1dfa2bd404899ac88f4018cf3b89e448" width="1302" height="1148" data-path="images/transfer-agents/agentic-warm-transfer-settings.png" />
    </Frame>
  </Step>

  <Step title="Choose or create a transfer agent">
    A **transfer agent** is a separate AI agent whose only job is to receive agentic warm transfers — think of it as an AI teammate who answers the handoff, speaks with the destination, and decides whether to connect your caller. Transfer agents are kept separate from your normal agents, so they won't clutter your main agent list.

    **1. Open the picker.** Click the **Two-way conversation agent** selector (it reads "Transfer screening agent" until one is chosen) to open the **Select transfer agent** window.

    <Frame>
      <img src="https://mintcdn.com/retellai/pYRxYvv70IUyhP6N/images/transfer-agents/agentic-warm-transfer-settings.png?fit=max&auto=format&n=pYRxYvv70IUyhP6N&q=85&s=1dfa2bd404899ac88f4018cf3b89e448" width="1302" height="1148" data-path="images/transfer-agents/agentic-warm-transfer-settings.png" />
    </Frame>

    **2. Pick an existing one.** Use the search box to find a transfer agent, click it to see a quick preview on the right, then click **Confirm selection**.

    <Frame>
      <img src="https://mintcdn.com/retellai/pYRxYvv70IUyhP6N/images/transfer-agents/select-transfer-agent-preview.png?fit=max&auto=format&n=pYRxYvv70IUyhP6N&q=85&s=d24e40314911030208991cc266a45842" width="2146" height="1418" data-path="images/transfer-agents/select-transfer-agent-preview.png" />
    </Frame>

    **3. Or create a new one.** Click **Create new**, choose the type — **Single Prompt** (simplest: one set of instructions) or **Conversation Flow** (a step-by-step visual flow) — then click **Create**. The new transfer agent opens so you can set it up right away.

    <Frame>
      <img src="https://mintcdn.com/retellai/pYRxYvv70IUyhP6N/images/transfer-agents/create-transfer-agent-type.png?fit=max&auto=format&n=pYRxYvv70IUyhP6N&q=85&s=018c18f9959e60f471e4ced16858e827" width="2150" height="1406" data-path="images/transfer-agents/create-transfer-agent-type.png" />
    </Frame>

    **4. Manage a transfer agent.** Hover a selected agent and open its **⋯** menu to **Rename** it, use Versions to select a specific **Version** (otherwise it always uses the latest), or **Delete** it. Deleting removes all versions and also removes it from any transfer that was using it.

    <Frame>
      <img src="https://mintcdn.com/retellai/pYRxYvv70IUyhP6N/images/transfer-agents/transfer-agent-card-menu.png?fit=max&auto=format&n=pYRxYvv70IUyhP6N&q=85&s=315c32ce62eb96309d40312c2b163967" width="2150" height="1412" data-path="images/transfer-agents/transfer-agent-card-menu.png" />
    </Frame>

    Once selected, you'll see the transfer agent's voice, with an arrow to open and edit that agent in a new tab whenever you need to.

    <Note>
      When you open a transfer agent to edit it, it opens as its own tab and a **flow selector** appears at the top of the builder (showing **Main flow**). Use it to switch back to your main agent at any time.
    </Note>
  </Step>

  <Step title="Add Custom SIP Headers (Optional)">
    Add custom SIP headers for outbound calls. These headers are forwarded to your SIP provider on the SIP INVITE and can be used for custom routing, tagging, or metadata.

    <Warning>Custom SIP headers are preserved only when transferring the call directly to a SIP endpoint. They may be stripped if you are transferring the call to a PSTN number.</Warning>

    <code>All header names must start with `X-` or must be `User-To-User` (case insensitive)</code>

    <br />

    <Frame style={{ marginTop: '1rem' }}>
      <img src="https://mintcdn.com/retellai/zL2HeUqUnagEN9eK/images/cf/custom-sip-headers.png?fit=max&auto=format&n=zL2HeUqUnagEN9eK&q=85&s=e598e83c6f9a6a6b018a340f36f97e8e" width="380" height="178" data-path="images/cf/custom-sip-headers.png" />
    </Frame>
  </Step>
</Steps>
