Hoppa till navigering

Överför till nummer

Överför samtal till externa telefonnummer eller SIP-URI:er baserat på definierade villkor.

Översikt

Systemverktyget transfer_to_number gör det möjligt för en ElevenLabs-agent att överföra ett pågående samtal till ett angivet telefonnummer eller en SIP-URI när vissa villkor uppfylls. Det gör att agenter kan lämna över komplexa problem, specifika förfrågningar eller situationer som kräver mänsklig hjälp till en liveoperatör.

Den här funktionen stöder överföringar via Twilio och SIP-trunknummer. När funktionen utlöses kan agenten ge användaren ett meddelande medan hen väntar och ett separat meddelande som sammanfattar situationen för den mänskliga operatör som tar emot samtalet.

Systemverktyget transfer_to_number är endast tillgängligt för telefonsamtal och är inte tillgängligt i chattwidgeten.

Överföringstyper

Systemet stöder tre typer av överföringar:

  • Konferensöverföring: Standardbeteendet som ringer upp destinationen och lägger till deltagaren i ett konferensrum. Därefter tas AI-agenten bort så att endast uppringaren och den överförda deltagaren återstår. Vid användning av den inbyggda Twilio-integrationen stöds ett meddelande för varm överföring (agent_message) som läses upp för den mänskliga operatören.
  • Blind överföring: Överför samtalet direkt till destinationen utan ett meddelande för varm överföring till den mänskliga operatören. Det ursprungliga nummerpresentationen bevaras. Endast tillgängligt när agentens telefonnummer har importerats via den inbyggda Twilio-integrationen.
  • SIP REFER-överföring: Använder SIP REFER-protokollet för att överföra samtal direkt till destinationen. Fungerar med både telefonnummer och SIP-URI:er, men är endast tillgängligt när SIP-protokollet används under samtalet och kräver att din SIP-trunk tillåter överföring via SIP REFER. Stöder inte meddelanden för varm överföring.

Meddelanden för varm överföring (agent_message) är endast tillgängliga när agentens telefonnummer har importerats via den inbyggda Twilio- integrationen. SIP-baserade överföringar stöder inte meddelanden för varm överföring.

Blinda överföringar är endast tillgängliga när agentens telefonnummer har importerats via den inbyggda Twilio-integrationen och måste för närvarande konfigureras via JSON-redigeraren i gränssnittet. Välj “Redigera som JSON” i verktygskonfigurationen för överföring och ange "transfer_type": "blind" för den önskade överföringsregeln.

Syfte: Överlämna sömlöst samtal till mänskliga operatörer när AI-hjälp inte räcker till.

Utlösande villkor: LLM:en ska anropa det här verktyget när:

  • Komplexa problem kräver mänskligt omdöme
  • Användaren uttryckligen ber om mänsklig hjälp
  • AI:n når gränsen för vad den kan göra för den specifika förfrågan
  • Eskaleringsprotokoll utlöses

Parametrar:

  • reason (sträng, valfritt): Anledningen till överföringen
  • transfer_number (sträng, krävs): Telefonnummer att överföra till (måste matcha konfigurerade nummer)
  • client_message (sträng, krävs): Meddelande som läses upp för kunden medan överföringen väntar
  • agent_message (sträng, krävs): Meddelande till den mänskliga operatör som tar emot samtalet

Format för funktionsanrop:

{
"type": "function",
"function": {
"name": "transfer_to_number",
"arguments": "{\"reason\": \"Complex billing issue\", \"transfer_number\": \"+15551234567\", \"client_message\": \"I'm transferring you to a billing specialist who can help with your account.\", \"agent_message\": \"Customer has a complex billing dispute about order #12345 from last month.\"}"
}
}

Implementering: Konfigurera telefonnummer och villkor för överföring. Definiera meddelanden för både kunden och den mänskliga operatör som tar emot samtalet. Fungerar med både Twilio och SIP trunking.

Nummer som det går att överföra till

Mänsklig överföring stöder överföring till externa telefonnummer med både SIP-trunking och Twilio-telefonnummer.

Aktivera mänsklig överföring

Mänsklig överföring konfigureras med systemverktyget transfer_to_number.

1

Lägg till överföringsverktyget

Aktivera mänsklig överföring genom att välja systemverktyget transfer_to_number i agentens konfiguration på fliken Agent. Välj “Överför till människa” när du lägger till ett verktyg.

Lägg till verktyget för mänsklig överföring
Välj verktyget 'Överför till människa'
2

Konfigurera verktygsbeskrivning (valfritt)

Du kan ange en anpassad beskrivning som vägleder LLM:n om när en överföring ska utlösas. Om fältet lämnas tomt används en standardbeskrivning som omfattar de definierade överföringsreglerna.

Beskrivning av verktyget för mänsklig överföring
Konfigurera överföringsverktygets beskrivning
3

Definiera överföringsregler

Konfigurera de specifika reglerna för överföring till telefonnummer eller SIP-URI:er. Ange följande för varje regel:

  • Överföringstyp: Välj mellan överföringsmetoderna Konferens (standard), Blind eller SIP REFER
  • Nummertyp: Välj Telefon för vanliga telefonnummer eller SIP URI för SIP-adresser
  • Telefonnummer/SIP URI: Måldestinationen i rätt format:
  • Villkor: En beskrivning på naturligt språk av omständigheterna under vilka överföringen ska ske (t.ex. “Användaren ber uttryckligen om att få prata med en människa”, “Användaren behöver uppdatera känslig kontoinformation”).

LLM:n använder dessa villkor tillsammans med verktygsbeskrivningen för att avgöra när och till vilken destination samtalet ska överföras.

SIP REFER-överföringar kräver SIP-protokoll under samtalet och att din SIP-trunk tillåter överföring via SIP REFER. Endast SIP REFER stöder överföring till en SIP-URI.

Blinda överföringar är endast tillgängliga när agentens telefonnummer har importerats via den inbyggda Twilio-integrationen och måste konfigureras via JSON-redigeraren. Den ursprungliga nummerpresentationen bevaras, men inget meddelande för varm överföring skickas till den mänskliga operatören.

Konfiguration av regler för mänsklig överföring
Definiera överföringsregler med telefonnummer och villkor

Kontrollera att destinationerna är korrekt formaterade:

  • Telefonnummer: E.164-format och kopplat till ett korrekt konfigurerat konto
  • SIP-URI:er: Giltigt SIP-format (sip:user@domain eller sips:user@domain)
4

Konfigurera anpassade SIP REFER-rubriker (valfritt)

När du använder SIP REFER-överföringar kan du inkludera anpassade SIP-rubriker för att skicka ytterligare information till det mottagande systemet.

Ange följande för varje anpassad rubrik:

  • Rubriknamn: Namnet på SIP-rubriken (t.ex. X-Customer-ID, X-Priority)
  • Rubrikvärde: Rubrikvärdet, som kan vara statisk text eller innehålla dynamiska variabler

Anpassade SIP REFER-rubriker inkluderas endast vid SIP REFER-överföringar. Konferensöverföringar stöder inte anpassade rubriker.

Systemrubrikerna X-Conversation-ID och X-Caller-ID inkluderas automatiskt av ElevenLabs och åsidosätter alla anpassade rubriker med samma namn (skiftlägesokänsligt).

5

Konfigurera User-to-User Information (UUI) (valfritt)

SIP REFER-överföringar kan bära User-to-User Information (UUI), en liten nyttolast som levereras till den mottagande plattformen (till exempel Talkdesk eller Genesys Cloud) i parametern User-to-User i rubriken Refer-To. UUI skickas endast vid SIP REFER-överföringar till en SIP URI-destination; destinationer med telefonnummer (tel:) har inte stöd för det.

Konfigurera UUI per överföringsregel med objektet uui:

  • data: Nyttolasten som ska skickas, som klartext. ElevenLabs hex-kodar den och lägger till ;encoding=hex. Kan vara statisk text eller innehålla dynamiska variabler. Högst 256 byte (UTF-8), vilket kontrolleras efter att dynamiska variabler har ersatts — för vanlig ASCII är det 256 tecken, färre för tecken med flera byte.
  • protocol_discriminator: En enda hexadecimal oktett, till exempel 04. Inkludera den för plattformar som tar bort den första oktetten i nyttolasten; utelämna den för plattformar som skickar nyttolasten vidare.
  • protocol_discriminator_mode: prefix (standard) lägger till oktetten före, vilket ger 04<hex>;encoding=hex. pd_parameter lägger till den som en separat parameter, vilket ger <hex>;pd=04;encoding=hex.

Talkdesk skickar värdet vidare oförändrat, så utelämna protokolldiskriminatorn. Genesys Cloud tar bort den första oktetten i nyttolasten om ingen diskriminator finns, så inkludera en protocol_discriminator. Se Genesys UUI-dataformat.

Gränsen på 256 byte gäller efter att dynamiska variabler har ersatts. Skicka identifierare eller korta koder, till exempel ett konto-ID, inte fritext som en fullständig samtalssammanfattning, eftersom den överskrider gränsen och tas bort från överföringen.

Ingen konfiguration krävs för att ta emot UUI vid inkommande SIP-samtal. När en inkommande INVITE innehåller en User-to-User-rubrik exponeras dess värde för agenten som de dynamiska variablerna {{sip_uui_raw}} och {{sip_uui_data}}. Se SIP-referensen.

6

Konfigurera siffror efter uppringning (valfritt)

Siffror efter uppringning är DTMF-toner som vidarebefordras efter att telefonen ansluter till överföringsdestinationen. Det är användbart för att automatiskt ange anknytningsnummer eller navigera i IVR-menyer (Interactive Voice Response).

För varje överföringsregel kan du ange en sträng post_dial_digits som innehåller:

  • Siffror (0-9): Standard-DTMF-toner
  • w: 0,5 sekunders fördröjning
  • W: 1 sekunds fördröjning
  • * och #: Särskilda DTMF-toner

Till exempel väntar ww1234 1 sekund efter att samtalet har anslutits och ringer sedan anknytning 1234.

Siffror efter uppringning är endast tillgängliga när agentens telefonnummer (numret som initierar överföringen) har importerats via den inbyggda Twilio-integrationen. Destinationsnumret kan vara vilket telefonnummer som helst.

Siffror efter uppringning stöds endast för överföringstyperna konferens och blind. SIP REFER-överföringar stöder inte siffror efter uppringning.

API-implementering

Du kan konfigurera systemverktyget transfer_to_number när du skapar eller uppdaterar en agent via API:et (Skapa agent, Uppdatera agent). Verktyget gör det möjligt att ange meddelanden för både klienten (användaren som överförs) och agenten (den mänskliga operatören som tar emot samtalet).

from elevenlabs import AgentConfig, ConversationalConfig, ElevenLabs
elevenlabs = ElevenLabs(api_key="YOUR_API_KEY")
# Define transfer rules
transfer_rules = [
{
"transfer_destination": {"type": "phone", "phone_number": "+15551234567"},
"condition": "When the user asks for billing support.",
"transfer_type": "conference",
# Wait 1s, then dial extension 1234 (native Twilio only)
"post_dial_digits": {"type": "static", "value": "ww1234"},
},
{
"transfer_destination": {"type": "phone", "phone_number": "+15559876543"},
"condition": "When the user asks to speak to a human.",
# Native Twilio integration only, preserves caller ID, no warm transfer message
"transfer_type": "blind",
},
{
"transfer_destination": {"type": "sip_uri", "sip_uri": "sip:support@example.com"},
"condition": "When the user requests to file a formal complaint.",
"transfer_type": "sip_refer",
"custom_sip_headers": [
{"type": "static", "key": "X-Department", "value": "complaints"},
{"type": "static", "key": "X-Priority", "value": "high"},
# Use "dynamic" to read the value from a dynamic variable
{"type": "dynamic", "key": "X-Customer-ID", "value": "{{customer_id}}"},
],
"uui": {
"data": "account_id={{customer_id}}",
"protocol_discriminator": "04", # Genesys Cloud; omit for Talkdesk
"protocol_discriminator_mode": "prefix", # or "pd_parameter"
},
},
]
response = elevenlabs.conversational_ai.agents.create(
conversation_config=ConversationalConfig(
agent=AgentConfig(
first_message="Hi, how can I help you today?",
prompt={
"prompt": "You are a helpful assistant.",
"built_in_tools": {
"transfer_to_number": {
"type": "system",
"name": "transfer_to_number",
# Optional custom description
"description": "Transfer the user to a human operator based on their request.",
"params": {
"system_tool_type": "transfer_to_number",
"transfers": transfer_rules,
},
}
},
},
),
),
)
# Note: When the LLM decides to call this tool, it needs to provide:
# - transfer_number: The phone number to transfer to (must match one defined in rules).
# - client_message: Message read to the user during transfer.
# - agent_message: Message read to the human operator receiving the call (native Twilio integration only, not used for blind transfers or SIP).