Dynamiska variabler
Skicka körningsvärden för att anpassa agentens beteende.
Dynamiska variabler låter dig infoga körningsvärden i agentens meddelanden, systemprompter och verktyg. Det gör att du kan anpassa varje konversation med användarspecifik data utan att skapa flera agenter.
Översikt
Dynamiska variabler kan användas i flera delar av din agent:
- Systemprompter för att anpassa beteende och kontext
- Första meddelanden för att anpassa hälsningar
- Verktygsparametrar och headers för att skicka användarspecifik data
Här är några exempel där dynamiska variabler är användbara:
- Anpassa hälsningar med användarnamn
- Inkludera kontouppgifter i svar
- Skicka data till verktygsanrop
- Anpassa beteende utifrån prenumerationsnivåer
- Få åtkomst till systeminformation som konversations-ID eller samtalslängd
Dynamiska variabler är perfekta för att infoga användarspecifik data som inte bör hårdkodas i agentens konfiguration.
Systemets dynamiska variabler
Din agent har åtkomst till dessa automatiskt tillgängliga systemvariabler:
system__agent_id- Unik identifierare för agenten som initierade konversationen (förblir densamma under hela konversationen)system__current_agent_id- Unik identifierare för den aktiva agenten (ändras efter agentöverföringar)system__caller_id- Uppringarens telefonnummer (endast röstsamtal)system__called_number- Mottagarens telefonnummer (endast röstsamtal)system__call_duration_secs- Samtalslängd i sekundersystem__time_utc- Aktuell UTC-tid (ISO-format)system__time- Aktuell tid i den angivna tidszonen (lättläst format, t.ex. “fredag, 12:33 12 december 2025”)system__timezone- Användarangiven tidszon (måste vara giltig för tzinfo)system__conversation_id- ElevenLabs unika konversationsidentifieraresystem__call_sid- Samtals-SID (endast Twilio-samtal)system__call_id- Unik identifierare för SIP-trunksamtalet (endast SIP-trunksamtal)system__agent_turns- Det totala antalet konversationsomgångar som agenten har gjort under den här konversationen.system__current_agent_turns- Antalet konversationsomgångar som den aktuella agenten har gjort. Återställs när konversationen överförs till en annan agent.system__current_subagent_turns- Antalet konversationsomgångar som den aktuella underagenten har gjort. Återställs när arbetsflödet övergår till en annan nod.system__is_text_only- True om konversationen körs i enbart textläge, annars false.system__conversation_history- JSON-serialiserad representation av den aktuella konversationshistoriken. Utvärderas först när den refereras. Se formatinformation nedan.
Systemvariabler:
- Är tillgängliga utan körningskonfiguration
- Har prefixet
system__(reserverat prefix) - Uppdateras automatiskt under hela konversationen
system__.Konversationshistorikens format
Variabeln system__conversation_history innehåller ett JSON-objekt med följande struktur:
Varje post innehåller en role ("user", "agent" eller "tool") och ett av följande:
message— omgångens textinnehålltool_requests— en array med verktygsanrop som agenten har gjort, med lösta parametervärdentool_results— en array med verktygssvar
Om ett verktygsresultat eller en parameter innehåller en kapslad konversationshistorik maskeras den som en platshållare (t.ex. [conversation_history (5 turns)]) för att undvika obegränsad rekursiv expansion.
Den här variabeln är användbar för att skicka konversationskontext till verktyg (t.ex. webhooks, anpassade LLM:er) eller för att inkludera konversationshistorik i underagentprompter vid överlämningar.
Hemliga dynamiska variabler
Hemliga dynamiska variabler fylls i på samma sätt som vanliga dynamiska variabler, men visar för våra ElevenAgents att de endast ska användas i headers för dynamiska variabler och aldrig skickas till en LLM-leverantör som en del av agentens systemprompt eller första meddelande.
Vi rekommenderar att du använder dem för autentiseringstoken eller privata ID:n som inte ska skickas till en LLM. För att skapa en hemlig dynamisk variabel lägger du bara till prefixet secret__ framför den dynamiska variabeln.
Hemliga värden returneras maskerade som <REDACTED>, även i webhooks efter samtalet och
Conversations API. Använd inte prefixet secret__ för värden som du behöver läsa tillbaka efter
konversationen. Skicka dem som vanliga dynamiska variabler, eller skicka en icke-känslig identifierare och slå
upp det känsliga värdet i ditt eget system.
Uppdatera dynamiska variabler från verktyg
Verktygsanrop kan skapa eller uppdatera dynamiska variabler om de returnerar ett giltigt JSON-objekt. Ange objektsökvägarna med punktnotation för att specificera vad som ska extraheras. Om fältet eller sökvägen inte finns uppdateras ingenting.
Exempel på ett svarsobjekt och punktnotation:
- Status motsvarar sökvägen:
response.status - Den första användarens e-postadress i users-arrayen motsvarar sökvägen:
response.users.0.email
Om du vill uppdatera en dynamisk variabel till den första användarens e-postadress anger du tilldelningen så här.

Tilldelningar är ett fält för varje webhook-verktyg och dokumenteras här.
Guide
Förutsättningar
- Ett ElevenLabs-konto
- En konfigurerad ElevenLabs Conversational Agent (skapa en här)
Definiera dynamiska variabler i prompter
Lägg till variabler med dubbla klammerparenteser {{variable_name}} i dina:
- Systemprompter
- Första meddelanden
- Verktygsparametrar


Definiera dynamiska variabler i verktyg
Du kan också definiera dynamiska variabler i verktygskonfigurationen.
Om du vill skapa en ny dynamisk variabel anger du värdetypen till Dynamic variable och klickar på knappen +.


Ange platshållare
Konfigurera standardvärden för testning utan att skicka variabler vid körning.
Uppdatera via instrumentpanelen
Uppdatera via CLI
Uppdatera via API
Ange standardvärden för varje dynamisk variabel på agentens instrumentpanel.

Skicka variabler vid körning
När du startar en konversation anger du de dynamiska variablerna i din kod:
Kontrollera att du har den senaste SDK:n installerad.
Integrering med offentlig Talk-to-sida
Den offentliga Talk-to-sidan stöder dynamiska variabler via URL-parametrar, vilket gör att du kan anpassa konversationer när du delar agentlänkar. Det är särskilt användbart när du bäddar in anpassade agenter på webbplatser, i e-postmeddelanden eller i marknadsföringskampanjer.
Metoder för URL-parametrar
Det finns två metoder för att skicka dynamiska variabler till den offentliga Talk-to-sidan:
Metod 1: Base64-kodad JSON
Skicka variabler som ett base64-kodat JSON-objekt med parametern vars:
Parametern vars innehåller base64-kodad JSON:
Metod 2: Enskilda frågeparametrar
Skicka variabler med frågeparametrar som har prefixet var_:
Parameterprioritet
När båda metoderna används samtidigt har enskilda var_-parametrar företräde framför de base64-kodade variablerna för att undvika konflikter:
I det här exemplet blir user_name “John” (från var_user_name) i stället för “Jane” (från de base64-kodade vars).
Implementeringsexempel
Generera JavaScript-URL
Generera Python-URL
Manuell URL-konstruktion
Typer som stöds
Dynamiska variabler stöder följande värdetyper:
Felsökning
Variabler ersätts inte
Kontrollera att:
- Variabelnamnen matchar exakt (skiftlägeskänsliga)
- Variabler använder dubbla klammerparenteser:
{{ variable_name }} - Variablerna ingår i ditt dynamic_variables-objekt
Typfel
Kontrollera att:
- Variabelvärdena matchar den förväntade typen
- Värdena endast är strängar, tal eller booleska värden