Dynamische variabelen
Dynamische variabelen stellen je in staat runtimewaarden in de berichten, systeemprompts en tools van je agent in te voegen. Hiermee kun je elk gesprek personaliseren met gebruikersspecifieke gegevens zonder meerdere agents te maken.
Overzicht
Dynamische variabelen kunnen worden geïntegreerd in verschillende onderdelen van je agent:
- Systeemprompts om gedrag en context aan te passen
- Eerste berichten om begroetingen te personaliseren
- Toolparameters en headers om gebruikersspecifieke gegevens door te geven
Hier zijn enkele voorbeelden waarin dynamische variabelen nuttig zijn:
- Begroetingen personaliseren met gebruikersnamen
- Accountgegevens opnemen in antwoorden
- Gegevens doorgeven aan tool calls
- Gedrag aanpassen op basis van abonnementsniveaus
- Systeemgegevens raadplegen zoals gespreks-ID of gespreksduur
Dynamische variabelen zijn ideaal voor het invoegen van gebruikersspecifieke gegevens die je niet hardcoded in de configuratie van je agent wilt opnemen.
Dynamische systeemvariabelen
Je agent heeft toegang tot deze automatisch beschikbare systeemvariabelen:
system__agent_id- Unieke identificatiecode van de agent die het gesprek heeft gestart (blijft gedurende het hele gesprek hetzelfde)system__current_agent_id- Unieke identificatiecode van de momenteel actieve agent (wijzigt na agenttransfers)system__caller_id- Telefoonnummer van de beller (alleen spraakoproepen)system__called_number- Telefoonnummer van de bestemming (alleen spraakoproepen)system__call_duration_secs- Gespreksduur in secondensystem__time_utc- Huidige UTC-tijd (ISO-indeling)system__time- Huidige tijd in de opgegeven tijdzone (leesbare indeling, bijvoorbeeld “vrijdag, 12:33 12 december 2025”)system__timezone- Door de gebruiker opgegeven tijdzone (moet geldig zijn voor tzinfo)system__conversation_id- Unieke gespreksidentificatiecode van ElevenLabssystem__call_sid- Call SID (alleen Twilio-oproepen)system__call_id- Unieke identificatiecode voor de SIP-trunkoproep (alleen SIP-trunkoproepen)system__agent_turns- Het totale aantal gespreksbeurten dat de agent tijdens dit gesprek heeft gehad.system__current_agent_turns- Het aantal gespreksbeurten dat de huidige agent heeft gehad. Wordt gereset wanneer het gesprek naar een andere agent wordt overgedragen.system__current_subagent_turns- Het aantal gespreksbeurten dat de huidige subagent heeft gehad. Wordt gereset wanneer de workflow naar een andere node overgaat.system__is_text_only- True als het gesprek alleen in tekstmodus plaatsvindt, anders false.system__conversation_history- JSON-geserialiseerde weergave van de huidige gespreksgeschiedenis. Wordt pas geëvalueerd op het moment dat ernaar wordt verwezen. Zie hieronder de indelingsdetails.
Systeemvariabelen:
- Zijn beschikbaar zonder runtimeconfiguratie
- Hebben het voorvoegsel
system__(gereserveerd voorvoegsel) - Worden tijdens het gesprek automatisch bijgewerkt
system__ gebruiken.Indeling van de gespreksgeschiedenis
De variabele system__conversation_history bevat een JSON-object met de volgende structuur:
Elke invoer bevat een role ("user", "agent" of "tool") en een van de volgende:
message— de tekstinhoud van de beurttool_requests— een array met tool calls die de agent heeft gedaan, met opgeloste parameterwaardentool_results— een array met toolantwoorden
Als een toolresultaat of parameter een geneste gespreksgeschiedenis bevat, wordt deze geredigeerd tot een placeholder (bijvoorbeeld [conversation_history (5 turns)]) om onbegrensde recursieve uitbreiding te voorkomen.
Deze variabele is nuttig om gesprekscontext door te geven aan tools (bijvoorbeeld webhooks, aangepaste LLM’s) of om tijdens overdrachten gespreksgeschiedenis op te nemen in prompts voor subagents.
Geheime dynamische variabelen
Geheime dynamische variabelen worden op dezelfde manier ingevuld als gewone dynamische variabelen, maar geven aan onze ElevenAgents aan dat deze alleen in headers voor dynamische variabelen mogen worden gebruikt en nooit als onderdeel van de systeemprompt of het eerste bericht van een agent naar een LLM-provider mogen worden gestuurd.
We raden aan deze te gebruiken voor authenticatietokens of privé-ID’s die niet naar een LLM mogen worden gestuurd. Om een geheime dynamische variabele te maken, geef je de dynamische variabele eenvoudig het voorvoegsel secret__.
Geheime waarden worden geredigeerd teruggegeven als <REDACTED>, ook in webhooks na gesprekken en de
conversations API. Gebruik het voorvoegsel secret__ niet voor waarden die je na het
gesprek moet kunnen uitlezen. Geef die door als gewone dynamische variabelen of geef een niet-gevoelige identificatiecode door en zoek
de gevoelige waarde op in je eigen systeem.
Dynamische variabelen bijwerken vanuit tools
Tool calls kunnen dynamische variabelen maken of bijwerken als ze een geldig JSON-object retourneren. Geef met puntnotatie de objectpaden op die moeten worden geëxtraheerd. Als het veld of pad niet bestaat, wordt er niets bijgewerkt.
Voorbeeld van een response-object en puntnotatie:
- Status komt overeen met het pad:
response.status - Het e-mailadres van de eerste gebruiker in de users-array komt overeen met het pad:
response.users.0.email
Om een dynamische variabele bij te werken naar het e-mailadres van de eerste gebruiker, stel je de toewijzing als volgt in.

Toewijzingen zijn een veld van elke webhooktool, zoals hier gedocumenteerd.
Handleiding
Vereisten
- Een ElevenLabs-account
- Een geconfigureerde ElevenLabs Conversational Agent (maak er hier een)
Dynamische variabelen in prompts definiëren
Voeg variabelen met dubbele accolades {{variable_name}} toe aan je:
- Systeemprompts
- Eerste berichten
- Toolparameters


Dynamische variabelen in tools definiëren
Je kunt dynamische variabelen ook in de toolconfiguratie definiëren.
Om een nieuwe dynamische variabele te maken, stel je het waardetype in op Dynamic variable en klik je op de knop +.


Placeholders instellen
Configureer standaardwaarden om te testen zonder variabelen tijdens runtime door te geven.
Bijwerken via het dashboard
Bijwerken via de CLI
Bijwerken via de API
Stel standaardwaarden in voor elke dynamische variabele in het dashboard van de agent.

Variabelen tijdens runtime doorgeven
Geef de dynamische variabelen in je code op wanneer je een gesprek start:
Zorg dat je de nieuwste SDK hebt geïnstalleerd.
Integratie met openbare Talk-to-pagina
De openbare Talk-to-pagina ondersteunt dynamische variabelen via URL-parameters, zodat je gesprekken kunt personaliseren wanneer je agentlinks deelt. Dit is vooral nuttig om gepersonaliseerde agents in websites, e-mails of marketingcampagnes in te sluiten.
Methoden voor URL-parameters
Er zijn twee methoden om dynamische variabelen door te geven aan de openbare Talk-to-pagina:
Methode 1: Base64-gecodeerde JSON
Geef variabelen door als een base64-gecodeerd JSON-object met de parameter vars:
De parameter vars bevat base64-gecodeerde JSON:
Methode 2: Afzonderlijke queryparameters
Geef variabelen door met queryparameters met het voorvoegsel var_:
Parameterprioriteit
Wanneer beide methoden tegelijkertijd worden gebruikt, krijgen afzonderlijke var_-parameters voorrang boven de base64-gecodeerde variabelen om conflicten te voorkomen:
In dit voorbeeld is user_name “John” (van var_user_name) in plaats van “Jane” (van de base64-gecodeerde vars).
Implementatievoorbeelden
JavaScript-URL genereren
Python-URL genereren
URL handmatig samenstellen
Ondersteunde typen
Dynamische variabelen ondersteunen deze waardetypen:
Problemen oplossen
Variabelen worden niet vervangen
Controleer het volgende:
- Variabelenamen komen exact overeen (hoofdlettergevoelig)
- Variabelen gebruiken dubbele accolades:
{{ variable_name }} - Variabelen zijn opgenomen in je object dynamic_variables
Typefouten
Zorg dat:
- Variabelewaarden overeenkomen met het verwachte type
- Waarden alleen strings, getallen of booleans zijn