Transfer to Agent vs. Call Transfer
Both tools move the caller somewhere else, but they are not interchangeable.
If the caller should end up talking to a person, use Call Transfer. If they should end up talking to another one of your agents, use this tool.
How it works
- The agent calls the Transfer to Agent tool.
- The current agent speaks the configured handover message in its own voice.
- The caller hears a ringer while AiLunaPro prepares the destination agent.
- AiLunaPro labels the available conversation as history from the previous agent, including anything the caller said during the handoff.
- The destination agent takes over at its Start Call node. By default it plays that node’s greeting. With Play greeting turned off, it skips the greeting and opens with a reply based on the conversation history.
What the destination agent receives
The destination receives one historical message containing the available conversation, with a heading such asConversation with previous agent "Reception":. Caller and agent speech are labeled separately. This applies to every handoff, with no minimum number of turns and no LLM summary call during the transfer.
Earlier agents’ history stays in the same transcript across repeated transfers. Speech added while the destination is being prepared is included and marked as happening during the transfer. The destination is told that this is historical context and that the transfer is already complete.
The source agent’s prompts, tool calls, and tool results are filtered out. Spoken text accompanying a tool call, such as the handover announcement, is retained. Later node transitions preserve the inherited transcript when summarizing the current agent’s own conversation.
Because context travels with the caller, the destination agent should not re-ask for information the caller already gave. Say so in its prompt.
Configuration
A Transfer to Agent tool has three settings. Everything else about how a handoff sounds is fixed.- Agent (
workflow_id, required) — the id of the AiLunaPro agent to transfer to. It must belong to the same organization. - Handover message — stored as one text entry with
event: "start"indefinition.messages. Spoken by the current agent, in its own voice, just before the handover. Supports template variables. Maximum 500 characters. The editor starts with “Let me connect you with the right person. One moment please.” Leave it empty, or sendmessages: []through the API, to hand over without saying anything. - Play greeting (
play_greeting, defaulttrue) — whether the destination agent opens with its Start Call greeting. Turn it off when the destination should continue the conversation rather than introduce itself, for example an agent that greets callers on its own phone number but is also a transfer target. It then opens with a reply generated from the conversation history.
One tool per destination
Each Transfer to Agent tool points at exactly one agent. An agent that can hand the caller to three places gets three tools, and the model chooses between them the way it chooses between any other tools — by their names and descriptions. Name each tool after its destination and describe precisely when it should fire:Availability
Agent transfer works on every cascade call, including web calls, which is where it differs most from Call Transfer. It is not available on speech-to-speech (realtime) agents. The tool still registers there, but it refuses and tells the agent to keep helping the caller itself, so the call degrades into a normal conversation rather than failing silently.Creating one
Prompting the routing agent
- Tell the agent that a turn is either spoken words or a tool call, never both.
- Do not tell it to announce the transfer; the tool’s handover message already does that.
- Give each destination an explicit, mutually exclusive firing condition.
- End the prompt with success criteria naming which tool fires for which outcome, and stating that exactly one of them should ever fire.
Troubleshooting
destination_not_found when creating the tool
The workflow_id does not exist in your organization. A transfer can only hand the call to your own agents. Check the id on the destination agent’s settings page.
The agent says transferring is unavailable
The call is running on a speech-to-speech agent, where agent transfer is not supported. Switch the agent to a cascade model configuration, or use Call Transfer to reach a human instead.The transfer is refused as already under way
Two transfer tools fired for the same call. Tighten the firing conditions in the tool descriptions so only one can match, and state in the prompt that exactly one transfer may happen.The transfer is refused as misconfigured
The tool’sworkflow_id is missing or is not an integer. Re-create the tool with a valid agent id.
