Dynamische Variablen
Übergeben Sie Laufzeitwerte, um das Verhalten Ihres Agents zu personalisieren.
Dynamische Variablen ermöglichen es Ihnen, Laufzeitwerte in die Nachrichten, System-Prompts und Tools Ihres Agents einzufügen. So können Sie jede Konversation mit nutzerspezifischen Daten personalisieren, ohne mehrere Agents zu erstellen.
Überblick
Dynamische Variablen lassen sich in verschiedene Aspekte Ihres Agents integrieren:
- System-Prompts, um Verhalten und Kontext anzupassen
- Erste Nachrichten, um Begrüßungen zu personalisieren
- Tool-Parameter und Header, um nutzerspezifische Daten zu übergeben
Hier sind einige Beispiele, bei denen dynamische Variablen nützlich sind:
- Begrüßungen personalisieren mit Nutzernamen
- Kontodetails einbeziehen in Antworten
- Daten übergeben an Tool-Aufrufe
- Verhalten anpassen basierend auf Abonnementstufen
- Systeminformationen abrufen wie Konversations-ID oder Anrufdauer
Dynamische Variablen eignen sich ideal, um nutzerspezifische Daten einzufügen, die nicht fest in der Konfiguration Ihres Agents hinterlegt werden sollten.
Dynamische Systemvariablen
Ihr Agent hat Zugriff auf diese automatisch verfügbaren Systemvariablen:
system__agent_id- Eindeutige Kennung des Agents, der die Konversation gestartet hat (bleibt während der gesamten Konversation unverändert)system__current_agent_id- Eindeutige Kennung des aktuell aktiven Agents (ändert sich nach Agent-Übergaben)system__caller_id- Telefonnummer des Anrufers (nur Sprachanrufe)system__called_number- Zieltelefonnummer (nur Sprachanrufe)system__call_duration_secs- Anrufdauer in Sekundensystem__time_utc- Aktuelle UTC-Zeit (ISO-Format)system__time- Aktuelle Zeit in der angegebenen Zeitzone (menschenlesbares Format, z. B. “Freitag, 12:33 12. Dezember 2025”)system__timezone- Vom Nutzer angegebene Zeitzone (muss für tzinfo gültig sein)system__conversation_id- Eindeutige Konversationskennung von ElevenLabssystem__call_sid- Anruf-SID (nur Twilio-Anrufe)system__call_id- Eindeutige Kennung für den SIP-Trunk-Anruf (nur SIP-Trunk-Anrufe)system__agent_turns- Die Gesamtzahl der Gesprächszüge, die der Agent in dieser Konversation durchgeführt hat.system__current_agent_turns- Die Anzahl der Gesprächszüge, die der aktuelle Agent durchgeführt hat. Wird zurückgesetzt, wenn die Konversation an einen anderen Agent übergeben wird.system__current_subagent_turns- Die Anzahl der Gesprächszüge, die der aktuelle Subagent durchgeführt hat. Wird zurückgesetzt, wenn der Workflow zu einem anderen Knoten wechselt.system__is_text_only- True, wenn die Konversation im reinen Textmodus läuft, andernfalls false.system__conversation_history- JSON-serialisierte Darstellung des aktuellen Konversationsverlaufs. Wird erst ausgewertet, wenn darauf verwiesen wird. Details zum Format finden Sie unten.
Systemvariablen:
- Sind ohne Laufzeitkonfiguration verfügbar
- Beginnen mit
system__(reserviertes Präfix) - Werden während der Konversation automatisch aktualisiert
system__ nicht verwenden.Format des Konversationsverlaufs
Die Variable system__conversation_history enthält ein JSON-Objekt mit folgender Struktur:
Jeder Eintrag enthält eine role ("user", "agent" oder "tool") und eines der folgenden Elemente:
message— der Textinhalt des Gesprächszugstool_requests— ein Array von Tool-Aufrufen durch den Agent, mit aufgelösten Parameterwertentool_results— ein Array von Tool-Antworten
Wenn ein Tool-Ergebnis oder Parameter einen verschachtelten Konversationsverlauf enthält, wird dieser durch einen Platzhalter ersetzt (z. B. [conversation_history (5 turns)]), um eine unbegrenzte rekursive Erweiterung zu vermeiden.
Diese Variable ist nützlich, um Konversationskontext an Tools zu übergeben (z. B. Webhooks, benutzerdefinierte LLMs) oder um den Konversationsverlauf bei Übergaben in Prompts von Subagents einzubeziehen.
Geheime dynamische Variablen
Geheime dynamische Variablen werden genauso wie normale dynamische Variablen befüllt, weisen unsere ElevenAgents jedoch darauf hin, dass sie nur in Headern für dynamische Variablen verwendet und niemals als Teil des System-Prompts oder der ersten Nachricht eines Agents an einen LLM-Anbieter gesendet werden dürfen.
Wir empfehlen diese für Authentifizierungstoken oder private IDs, die nicht an ein LLM gesendet werden sollen. Um eine geheime dynamische Variable zu erstellen, stellen Sie der dynamischen Variablen einfach secret__ voran.
Geheime Werte werden als <REDACTED> maskiert zurückgegeben, auch in Webhooks nach dem Anruf und in der
Conversations API. Verwenden Sie das Präfix secret__ nicht für Werte, die Sie nach der
Konversation wieder auslesen müssen. Übergeben Sie diese als reguläre dynamische Variablen oder übergeben Sie eine nicht sensible Kennung und rufen
Sie den sensiblen Wert in Ihrem eigenen System ab.
Dynamische Variablen über Tools aktualisieren
Tool-Aufrufe können dynamische Variablen erstellen oder aktualisieren, wenn sie ein gültiges JSON-Objekt zurückgeben. Um anzugeben, was extrahiert werden soll, legen Sie die Objektpfade mit Punktnotation fest. Wenn das Feld oder der Pfad nicht existiert, wird nichts aktualisiert.
Beispiel für ein Antwortobjekt und Punktnotation:
- Status entspricht dem Pfad:
response.status - Die E-Mail-Adresse des ersten Nutzers im Users-Array entspricht dem Pfad:
response.users.0.email
Um eine dynamische Variable auf die E-Mail-Adresse des ersten Nutzers zu setzen, legen Sie die Zuweisung wie folgt fest.

Zuweisungen sind ein Feld jedes Webhook-Tools und werden hier dokumentiert.
Anleitung
Voraussetzungen
- Ein ElevenLabs-Konto
- Ein konfigurierter ElevenLabs Conversational Agent (hier erstellen)
Dynamische Variablen in Prompts definieren
Fügen Sie Variablen mit doppelten geschweiften Klammern {{variable_name}} hinzu in:
- System-Prompts
- Ersten Nachrichten
- Tool-Parametern


Dynamische Variablen in Tools definieren
Sie können dynamische Variablen auch in der Tool-Konfiguration definieren.
Um eine neue dynamische Variable zu erstellen, setzen Sie den Werttyp auf Dynamische Variable und klicken Sie auf die Schaltfläche +.


Platzhalter festlegen
Konfigurieren Sie Standardwerte für Tests, ohne Variablen zur Laufzeit zu übergeben.
Über das Dashboard aktualisieren
Über die CLI aktualisieren
Über die API aktualisieren
Legen Sie im Dashboard des Agents Standardwerte für jede dynamische Variable fest.

Variablen zur Laufzeit übergeben
Geben Sie beim Starten einer Konversation die dynamischen Variablen in Ihrem Code an:
Stellen Sie sicher, dass Sie das aktuelle SDK installiert haben.
Integration der öffentlichen Talk-to-Seite
Die öffentliche Talk-to-Seite unterstützt dynamische Variablen über URL-Parameter. So können Sie Konversationen personalisieren, wenn Sie Agent-Links teilen. Das ist besonders nützlich, um personalisierte Agents in Websites, E-Mails oder Marketingkampagnen einzubetten.
Methoden für URL-Parameter
Es gibt zwei Methoden, um dynamische Variablen an die öffentliche Talk-to-Seite zu übergeben:
Methode 1: Base64-codiertes JSON
Übergeben Sie Variablen als Base64-codiertes JSON-Objekt mit dem Parameter vars:
Der Parameter vars enthält Base64-codiertes JSON:
Methode 2: Einzelne Abfrageparameter
Übergeben Sie Variablen mit Abfrageparametern, denen var_ vorangestellt ist:
Parameterpriorität
Wenn beide Methoden gleichzeitig verwendet werden, haben einzelne var_-Parameter Vorrang vor den Base64-codierten Variablen, um Konflikte zu vermeiden:
In diesem Beispiel ist user_name “John” (aus var_user_name) statt “Jane” (aus den Base64-codierten vars).
Implementierungsbeispiele
JavaScript-URL-Erstellung
Python-URL-Erstellung
Manuelle URL-Erstellung
Unterstützte Typen
Dynamische Variablen unterstützen diese Werttypen:
Fehlerbehebung
Variablen werden nicht ersetzt
Prüfen Sie Folgendes:
- Variablennamen stimmen exakt überein (Groß-/Kleinschreibung beachten)
- Variablen verwenden doppelte geschweifte Klammern:
{{ variable_name }} - Variablen sind in Ihrem Objekt dynamic_variables enthalten
Typfehler
Stellen Sie Folgendes sicher:
- Variablenwerte entsprechen dem erwarteten Typ
- Werte sind nur Strings, Zahlen oder boolesche Werte