#hello, I'm trying out the ai agent workflow. I've created a routing agent that analyzes and forward

1 messages · Page 1 of 1 (latest)

acoustic harborBOT
#
AI-generated Answer for dierol

Short answer up front

  • Use the built-in “Transfer to AI Agent” system tool (transfer_to_agent) on your router and on each sub‑agent. The router’s transfer rules decide which sub‑agent to hand off to; each sub‑agent has its own rule to transfer back to the router when out‑of‑scope or after it has answered. (elevenlabs.io)
  • If responses are slow, note that enabling RAG adds about ~500 ms per retrieval step; keep only critical docs in “Prompt” mode and leave the rest on “Auto.” (elevenlabs.io)
  • If some conversations fail after a transfer, check Call History for errors like “Missing dynamic variable after agent transfer.” (help.elevenlabs.io)

How to configure a routing workflow (UI)

  1. On the Router agent:
  • Add system tool: Transfer to AI Agent (transfer_to_agent).
  • Define one rule per sub‑agent:
    • Agent = your sub‑agent
    • Condition = a natural‑language trigger (e.g., “User asks about billing”)
    • Optional: Delay before transfer (ms), Transfer message, and whether the sub‑agent should play its first message. (elevenlabs.io)
  1. On each Sub‑agent:
  • Also add Transfer to AI Agent (transfer_to_agent).
  • Add a rule whose Agent = the Router and Condition = when to hand back (e.g., “User asks a new, unrelated topic” or “Issue resolved; user has another question”). Because agent‑to‑agent transfers can be nested, this is how you “return” control to the Router. (elevenlabs.io)
  1. Tool‑calling reliability
  • ElevenLabs recommends gpt‑4o / gpt‑4o‑mini for agent‑to‑agent transfers because they handle tool calling more reliably, which improves routing decisions. (elevenlabs.io)
  1. Prompting the Router (structure)
  • Keep the router’s system prompt short and use explicit instructions that reference the transfer rules, e.g., “If the user asks about billing, call transfer_to_agent to agent 0; for tech support, agent 1; otherwise answer directly.” Use the general prompt structure from the official prompting guide. (elevenlabs.io)
  1. Knowledge base latency
  • With RAG enabled, the platform retrieves only relevant chunks and adds slight latency (~500 ms). For fastest routing, keep the router’s KB minimal (often only its own instructions and the sub‑agent directory), and put the larger docs on the sub‑agents. If a document must always be present, set its usage mode to Prompt; otherwise leave items on Auto so they’re only retrieved when relevant. (elevenlabs.io)
  1. Troubleshooting slow/failed handoffs
  • Check Call History: it shows per‑call failure reasons, including a specific “Missing dynamic variable after agent transfer” error if a required variable isn’t available in the target agent. (help.elevenlabs.io)
  • Ensure you’ve actually added the Transfer to AI Agent system tool; tools are what allow agents to take actions like transfers during conversation. (help.elevenlabs.io)

Programmatic example (condensed)

  • The transfer_to_agent tool takes a zero‑indexed agent_number, with rules you define. Example function call the LLM will emit
fickle agate
#

There are two options in the workflow.
Create a subagent and create an agent transfer. Why would I use an agent transfer when a subagent would probably work just as well?

acoustic harborBOT
#
AI-generated Answer for dierol

Short answer: use Agent transfer when you want one agent to hand off the live conversation to another distinct agent under explicit, configurable conditions. ElevenLabs’ official docs describe Agent→Agent transfer via the transfer_to_agent system tool; there is no published documentation for a “subagent” feature, so I can’t verify or compare that concept.

What Agent transfer gives you (documented):

  • Purpose: route an ongoing call/chat from an orchestrator to specialist agents based on conditions the LLM evaluates. (elevenlabs.io)
  • How: add the transfer_to_agent system tool, then define transfer rules (target agent, natural‑language condition). The LLM calls the tool with an agent_number to complete the handoff. (elevenlabs.io)
  • Controls: optional delay before transfer, an optional transfer message, and whether the receiving agent should play its first message automatically. Recommended models for reliable tool‑calling are gpt‑4o or gpt‑4o‑mini. (elevenlabs.io)

If by “subagent” you mean something different in the UI, I’m not seeing an official doc page for it. If you can share a screenshot or the exact menu label, I can look again—but based on the docs, the supported, documented way to route between agents is Agent→Agent transfer. (elevenlabs.io)

Sources:
Agent transfer | ElevenLabs Documentation
System tools | ElevenLabs Documentation
Agent transfer | ElevenLabs Documentation
Agent transfer | ElevenLabs Documentation

fickle agate