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

# Agent transfer

> Prepare transfer rules with reviewed agent or workflow-node destinations and inspect their saved configuration.

An agent-transfer rule describes when another agent or workflow node should take over a task. Define the receiving destination and the reason for the handoff together.

<Note>
  Transfer-rule authoring is available. A stored destination does not prove a live handoff, context transfer, or authorization to use the receiving agent. Conversation execution remains gated.
</Note>

## Add a transfer rule

You need an editable source agent and a destination you can identify and review.

<Steps>
  <Step title="Open Transfer to Agent">
    On the source agent's **Tools > System tools** panel, enable **Transfer to Agent**. Its configuration opens before activation. Select **Add Rule** in **Agent transfer rules**.
  </Step>

  <Step title="Choose the destination and condition">
    Choose the **Agent** and write a specific **Condition**. For example, distinguish an order-status request from a technical-support request. The editor requires at least one rule, with a nonblank condition and destination for every rule.
  </Step>

  <Step title="Review the handoff wording">
    Review **Transfer message**, **Delay before transfer (ms)**, and whether the receiving agent's first message is requested. Avoid wording that announces success before a transfer result exists.
  </Step>

  <Step title="Save and read back">
    Select **Save** to update the working copy. For API persistence, place the reviewed definition in a complete [server draft](/agents-platform/deploy/versioning), then inspect each destination and condition in the returned draft.
  </Step>
</Steps>

## Transfer fields

Use `conversation_config.agent.prompt.built_in_tools.transfer_to_agent`, with `params.system_tool_type: "transfer_to_agent"` and `params.transfers` as the rule list.

| Rule field | Configuration |
| - | - |
| `agent_id` | Destination agent identifier for an agent transfer. |
| `node_id` | Destination node identifier for a workflow-node transfer. |
| `is_workflow_node_transfer` | Defaults to `false`; distinguishes the node destination. |
| `condition` | Required description of when to transfer. |
| `delay_ms` | Requested delay; defaults to 0. |
| `transfer_message` | Optional handoff wording. |
| `enable_transferred_agent_first_message` | Defaults to `false`. |
| `preserve_client_tts_overrides` | Defaults to `false`; requested treatment of voice overrides. |

For API-authored node transfers, use the node identifier from the intended [workflow](/agents-platform/configure/agent-behavior/workflows). A node ID and an agent ID identify different resources.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Why can I not save an empty rule?" id="faq-agent-transfer-empty">
    The dashboard requires a condition and the appropriate destination before it activates the tool. An empty list is not a completed editor configuration.
  </Accordion>

  <Accordion title="Does the receiving agent inherit every setting?" id="faq-agent-transfer-inheritance">
    Do not assume that it does. Review the receiving configuration separately. The voice-override preference does not establish complete prompt, tool, knowledge, or runtime-state inheritance.
  </Accordion>
</AccordionGroup>


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