#Is that possible to swap agent before the call? I mean, I need to allow to use multiple agents unde

1 messages · Page 1 of 1 (latest)

dense currentBOT
#
AI-generated Answer for programminglanguage.

Short answer: not with the native Twilio number assignment and the Conversation Initiation webhook alone. The webhook can only return dynamic_variables and conversation_config_override for the already-selected agent; it does not support changing agent_id. And in the native Twilio integration, each inbound-capable number is assigned to one agent for inbound calls. (elevenlabs.io)

Supported ways to achieve what you want:

  • Choose the agent before the call using Register Twilio Calls (advanced flow). Point your Twilio voice webhook to your server, decide which agent_id should handle this call (e.g., based on caller/campaign), and call ElevenLabs’ register_call. ElevenLabs returns TwiML that connects the call directly to that agent. Note: transfers aren’t available in this mode. (elevenlabs.io)

  • Keep the native integration but route immediately after connect with Agent-to-Agent Transfer. Assign the number to a lightweight “router” agent and configure the transfer_to_agent tool + rules to hand off to your “outbound” agent when the callback is detected. (elevenlabs.io)

  • If your “inbound” and “outbound” variants are just versions of the same agent, you can target a specific branch/environment at initiation time via conversation initiation client data (branch_id/environment fields were added on April 1, 2026). This doesn’t swap agents, but it lets you select the right branch per call. (elevenlabs.io)

References

  • Twilio personalization webhook (what can be overridden): dynamic_variables and conversation_config_override only. (elevenlabs.io)
  • Native Twilio integration (numbers are assigned to a single inbound agent; agent picked explicitly for outbound): (elevenlabs.io)
  • Register Call (pre-call agent selection via agent_id, returns TwiML): (elevenlabs.io)
  • Agent-to-Agent Transfer (router pattern): (elevenlabs.io)
cursive sandal
#

Choose the agent before the call using Register Twilio Calls (advanced flow). Point your Twilio voice webhook to your server, decide which agent_id should handle this call (e.g., based on caller/campaign), and call ElevenLabs’ register_call. ElevenLabs returns TwiML that connects the call directly to that agent. Note: transfers aren’t available in this mode. (elevenlabs.io)
You mean call transfers are not available in this mode? May you explaon in more details

dense currentBOT
#
AI-generated Answer for programminglanguage.

Yes—when you use Register Twilio Calls (the advanced “keep Twilio in your stack” flow), ElevenLabs does not support call transfers. This is by design: ElevenLabs returns TwiML to connect the call to your agent over WebSocket, but since ElevenLabs doesn’t have your Twilio credentials in this mode, it cannot perform Twilio-side call-control operations like transfers. (elevenlabs.io)

What that means in practice

  • Agent-to-agent transfers and “transfer to number/human” tools are unavailable when you use register_call. Those transfer capabilities exist in the platform, but they rely on ElevenLabs controlling the Twilio call, which only happens with the native Twilio integration. (elevenlabs.io)
  • In the native Twilio integration, transfers are supported, including:
    • Transfer to a phone number/SIP URI with conference transfer; blind transfer and warm transfer messages are specifically noted as native-Twilio-only behaviors. Post‑dial digits (DTMF after connect) are also native‑Twilio‑only. (elevenlabs.io)
    • Agent-to-agent transfer via the transfer_to_agent system tool. (elevenlabs.io)

If you need mid-call transfers, import your Twilio number into ElevenLabs and use the native Twilio integration; that path supports transfers and other ongoing call operations. (elevenlabs.io)

You can still preselect which agent handles each call with register_call (e.g., route by caller/campaign) by choosing the agent_id before returning TwiML, but once connected you cannot transfer in this mode. (elevenlabs.io)

Sources:
Register Twilio calls | ElevenLabs Documentation
Register Twilio calls | ElevenLabs Documentation
Transfer to number | ElevenLabs Documentation
System tools | ElevenLabs Documentation
Twilio native integration | ElevenLabs Documentation
Register Twilio calls | ElevenLabs Documentation

cursive sandal
#

So, when agent has Conversation Client Initiation Data webhook, like we have for "inbound" agent, then it will be "live" agent and we just can't spin up another "outbound" one agent? The only was is to invoke transfer to agent tool?

dense currentBOT
#
AI-generated Answer for programminglanguage.

Short answer: yes. With the native Twilio auto-connect flow, the number you assign is tied to one agent, and the Conversation Initiation Client Data webhook only lets you customize that already-selected agent’s session (dynamic_variables and conversation_config_override). It does not provide a documented way to switch the target agent at call start. (help.elevenlabs.io)

If you need to pick the agent before the call connects, use the “Register Twilio calls” advanced flow: point Twilio’s voice webhook to your server, decide which agent_id should handle the call, and call register_call to get TwiML that connects directly to that agent. Note: call transfers are not available in this mode. (elevenlabs.io)

If you stay on the native integration, the supported way to move the caller to a different agent after the call has started is to enable Agent transfer (transfer_to_agent system tool or the workflow node) on the first agent and configure the target agent(s) and conditions. Be sure to pass any required dynamic variables that the target agent needs, or the transfer can fail. (elevenlabs.io)

References:

  • Twilio personalization (Conversation Initiation Client Data webhook): what’s sent and how it’s used. (elevenlabs.io)
  • Connect Twilio to ElevenAgents: numbers are assigned to a specific agent. (help.elevenlabs.io)
  • Register Twilio calls (advanced flow): how to pre-select the agent; limitations include “No call transfers.” (elevenlabs.io)
  • System tools (Agent transfer) and Workflows (Agent transfer node). (elevenlabs.io)
  • Call failure reasons (e.g., “Missing dynamic variable after agent transfer”). (help.elevenlabs.io)

Sources:
Can I connect Twilio to ElevenAgents? – ElevenLabs
Register Twilio calls | ElevenLabs Documentation
System tools | ElevenLabs Documentation
Twilio personalization | ElevenLabs Documentation
Can I connect Twilio to ElevenAgents? – ElevenLabs
Register Twilio calls | ElevenLabs Documentation
System tools | ElevenLabs Documentation
Where can I locate the reason for my call failing? – ElevenLabs

cursive sandal
#

Okay. I have a question regarding phone number, so we take 1 phone number and assigns it to inbound one agent. But we can also make outbound call for different agent using this phone number? SO the number will only be assigned to inbound agent, but outbound one agent can use it ti make a call?