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

# Create the transfer tool

> Let an AI agent hand the conversation to another AI agent on the same line

## Before you start

<Check>
  **Two or more AI agents on the same line** — the same WhatsApp line, the same SMS number, or the same Facebook Page. A transfer never crosses lines.
</Check>

<Check>
  **On SMS, every agent involved runs on Lumina.** Aurora agents aren't listed as destinations and can't use the tool.
</Check>

<Check>
  **On Messenger, the destination answers incoming messages.** An agent that doesn't is never offered.
</Check>

<Check>
  **Write permission for the channel** — WhatsApp, SMS or Messenger — to create the tool and attach it to agents.
</Check>

<Note>
  The tool is a channel's tool. A WhatsApp transfer tool lists WhatsApp agents and is attached to WhatsApp agents; SMS and Messenger each have their own.
</Note>

## Steps

<Steps>
  <Step title="Open the channel's tool library" icon="screwdriver-wrench">
    **Chat → WhatsApp → Tools**, **Chat → SMS → Tools** or **Chat → Messenger → Tools**, then create a new tool.
  </Step>

  <Step title="Pick the type" icon="arrow-right-arrow-left">
    In the **Configure** rail, choose **Transfer to another AI agent** — *"Hand the chat to a better-suited AI agent"*. In lists it carries the **AI TRANSFER** badge.

    <Warning>
      **The type can't be changed after creation.** To turn a transfer tool into something else, create a new tool.
    </Warning>

    <Frame caption="The tool type cards, with Transfer to another AI agent selected">
      <img src="https://mintcdn.com/dialtu-0be120d3/tksmwmFP8pONiCuz/images/en/agent-transfer/type-picker.png?fit=max&auto=format&n=tksmwmFP8pONiCuz&q=85&s=3843d1542eacc767dab29657391a2982" alt="New WhatsApp tool in the tool builder, with the Transfer to another AI agent card (AI TRANSFER badge) selected in the Configure rail and the AI Agent Transfer pane showing the How it works note and an empty Destination 1 with Pick an agent and a When to transfer to this agent box." width="2880" height="1800" data-path="images/en/agent-transfer/type-picker.png" />
    </Frame>
  </Step>

  <Step title="Add the destinations" icon="list-ol">
    Under **Destinations**, press **+ Add agent** for each agent this one can hand the chat to. For each destination:

    * **Agent** — pick it from the list. You can search by name, number or Page. Each agent can only appear once.
    * **When to transfer to this agent** — the topics that agent owns. The AI reads this text to decide where to go, and a topic check compares it with what the customer actually wrote.

    Destinations are shown to the agent **in the order you list them**; use **Move up** / **Move down** to reorder.

    | Channel | The list shows | Badges you can see |
    | - | - | - |
    | **WhatsApp** | WhatsApp agents | The line, the direction (**Inbound**, **Outbound**, **Inbound & outbound**), **Inactive** |
    | **SMS** | Lumina SMS agents only (**SMS agent (Lumina)**) | The number or *No number*, **Inactive** |
    | **Messenger** | Messenger agents | The Page or *No Page*, **Inactive** |

    <Tip>
      Write each "when" as a list of topics, not as an instruction: *"The customer asks about tyres, tyre prices or tyre fitting"*. Vague texts like *"anything else"* make the topic check reject transfers, or worse, let wrong ones through.
    </Tip>

    <Frame caption="WhatsApp: each destination has its own when">
      <img src="https://mintcdn.com/dialtu-0be120d3/tksmwmFP8pONiCuz/images/en/agent-transfer/transfer-tool-whatsapp.png?fit=max&auto=format&n=tksmwmFP8pONiCuz&q=85&s=08e2e1be3b373fec501af9d7286eea06" alt="A saved Transfer to another AI agent tool for WhatsApp: the How it works note, Destinations with a count of 4, Destination 1 Ventas Llantas and Destination 2 Peajes TAG each showing the line and direction (Inbound & outbound, Inbound) and its When to transfer to this agent text, and the Summary panel listing Transfers to." width="2880" height="1800" data-path="images/en/agent-transfer/transfer-tool-whatsapp.png" />
    </Frame>

    <Frame caption="SMS: only Lumina agents are listed">
      <img src="https://mintcdn.com/dialtu-0be120d3/tksmwmFP8pONiCuz/images/en/agent-transfer/transfer-tool-sms.png?fit=max&auto=format&n=tksmwmFP8pONiCuz&q=85&s=fcbc15ce5520d8da47a09503f9ca3a72" alt="Transfer to another AI agent tool for SMS with the notice Only works with Lumina SMS agents, the How it works note, and two SMS agent (Lumina) destinations, SMS Llantas and SMS Peajes, each showing its number and its when text." width="2880" height="1800" data-path="images/en/agent-transfer/transfer-tool-sms.png" />
    </Frame>

    <Frame caption="Messenger: an agent on no Facebook Page is never offered">
      <img src="https://mintcdn.com/dialtu-0be120d3/tksmwmFP8pONiCuz/images/en/agent-transfer/transfer-tool-messenger.png?fit=max&auto=format&n=tksmwmFP8pONiCuz&q=85&s=d8d36f40542750eb1da33e7833cdc92a" alt="Transfer to another AI agent tool for Messenger with Destination 2 FB Peajes on the Rueda Firme Page and Destination 3 FB Postventa marked No Page with the warning This agent is not on any Facebook Page, so it is never offered, plus a warning under the list that the agents are on different Facebook Pages." width="2880" height="1800" data-path="images/en/agent-transfer/transfer-tool-messenger.png" />
    </Frame>

    The builder warns you, but still lets you save, when:

    * *"This agent is switched off — it is skipped until you turn it back on."*
    * *"These agents are on different WhatsApp lines. In each conversation only the ones on that conversation's line are offered."* (SMS: different numbers; Messenger: different Pages.)
    * Messenger only: *"This agent does not answer incoming messages — it is skipped until you turn that on."* and *"This agent is not on any Facebook Page, so it is never offered."*
    * *"Agent #ID no longer exists. Pick another agent or remove this destination."*

    Saving is blocked when there's no destination (*"Add at least one agent to transfer to"*), a destination has no agent or no "when", or the same agent appears twice.
  </Step>

  <Step title="Save the tool" icon="floppy-disk">
    The tool is now in the library. It does nothing until it's attached to an agent.
  </Step>

  <Step title="Attach it to every agent that should transfer" icon="link">
    Open each agent, press **Tools** in its top bar, tick the transfer tool and save the agent.

    The row shows **Transfers to:** followed by the destinations. On WhatsApp and SMS, destinations that aren't on that agent's line are listed separately: *"Not on this agent's line, so never offered here: …"* (SMS: *"Not on this agent's number…"*).

    <Frame caption="The agent's Tools window: what this agent can transfer to">
      <img src="https://mintcdn.com/dialtu-0be120d3/tksmwmFP8pONiCuz/images/en/agent-transfer/agent-tools-modal.png?fit=max&auto=format&n=tksmwmFP8pONiCuz&q=85&s=b1e9fc1083e75b3eb9b96ec153110944" alt="The Tools window of the Ventas Llantas agent with two tools ticked, a Handoff tool and transferir_al_especialista with its AI TRANSFER badge, whose row reads Transfers to: Peajes TAG, Asistencia en vía, Promociones (inactivo)." width="2880" height="1800" data-path="images/en/agent-transfer/agent-tools-modal.png" />
    </Frame>

    <Warning>
      **Transfers only go where a tool sends them.** If agent A carries the tool and agent B doesn't, B can never send a customer back to A. For two-way transfers, attach the **same** tool to both — an agent never transfers to itself, so listing it as a destination on its own tool is harmless.
    </Warning>
  </Step>
</Steps>

## Write the Alcance block in each agent's prompt

The tool gives the agent the *ability* to transfer. The prompt has to say *when not to*. Without a scope block, an agent asked about something nobody handles tends to transfer it to whoever is listed — a tyres agent hands a travel-insurance question to the toll-tag agent, which then has to say "we don't sell that".

Add a block like this to **every** agent that carries the tool, adjusted to its topics.

<Tabs>
  <Tab title="Spanish">
    ```markdown theme={null}
    ## Alcance
    - Tú atiendes: llantas, precios de llantas y montaje.
    - Si el cliente pregunta por tags de peaje, recargas o saldo del tag, transfiere en silencio con la herramienta de transferencia. No le digas que lo vas a transferir.
    - Si pregunta por algo que ningún agente atiende, intenta ayudar con lo que sepas. Si de verdad no puedes, responde: "Eso no lo manejamos nosotros 🙏 ¿Quieres que te comunique con un asesor de nuestro equipo para ayudarte?" y traspásalo a un asesor solo si responde que sí.
    - Nunca digas que eso lo maneja otra empresa ni recomiendes a otra empresa.
    ```
  </Tab>

  <Tab title="English">
    ```markdown theme={null}
    ## Scope
    - You handle: tyres, tyre prices and tyre fitting.
    - If the customer asks about toll tags, top-ups or tag balance, transfer silently with the transfer tool. Don't tell them you're transferring.
    - If they ask about something no agent handles, try to help with what you know. If you genuinely can't, reply: "That's not something we handle 🙏 Would you like me to put you in touch with an advisor from our team?" and hand off to an advisor only if they say yes.
    - Never say another company handles it, and never recommend another company.
    ```
  </Tab>
</Tabs>

Why each line matters:

| Line | What it prevents |
| - | - |
| **What you handle** | The agent deciding everything off-topic belongs to the other agent |
| **Transfer silently** | *"Let me transfer you"* messages — the new agent already answers the same message |
| **Ask before a human** | Handoffs the customer didn't ask for, which flood your team's inbox |
| **No other company** | The agent inventing a competitor or a "partner" to send the customer to |

<Note>
  Dialtu adds its own hidden instructions on top: when no transfer is possible, the agent is told to help first and to **ask** before handing off to a person. The Alcance block makes that behaviour consistent instead of leaving it to the model.
</Note>

## Check it in the test chat

Open an agent that carries the tool, go to the **Test** tab and ask about a topic owned by a destination.

* The transfer appears as a terminal card: *"Transferred to another AI agent — not performed in a test"*. Its detail reads *would transfer to Tyres Agent: …* with the agent's reason.
* If the topic check rejects it, you'll see *would not transfer: topic\_mismatch* with a one-line explanation, and the agent keeps answering.
* **The test chat never switches agents.** To see the second agent's reply, test that agent directly.

<Warning>
  **The test chat checks less than a live conversation.** It checks the line, that the destination is active, and that it isn't the same agent — but **not** the direction or the client tag audience. A transfer that works in the test can still be skipped in a real conversation for those reasons. On Messenger, a brand-new agent that hasn't been saved yet has no Page, so it's offered no destinations in the test.
</Warning>

## What doesn't exist

* **Transfers across lines**, numbers or Pages.
* **Automatic return** to the first agent.
* **Aurora** SMS agents as a source or destination.
* **Web Chat** and **voice** — voice has its own **agent swap**.
* **Changing the tool type** after creation.

## Next step

<Card title="How transfers work" icon="gears" href="/en/agent-transfer/how-transfers-work">
  Eligibility, limits, the topic check and every note you'll see in Conversations.
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.