Dynamische Variablen
Übergeben Sie Laufzeitwerte, um das Verhalten Ihres Agenten zu personalisieren.
Dynamische Variablen ermöglichen es Ihnen, Laufzeitwerte in die Nachrichten, System-Prompts und Tools Ihres Agenten einzufügen. So können Sie jede Unterhaltung mit nutzerspezifischen Daten personalisieren, ohne mehrere Agenten zu erstellen.
Überblick
Dynamische Variablen lassen sich in mehrere Aspekte Ihres Agenten 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, in 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
- Auf Systeminformationen zugreifen wie Unterhaltungs-ID oder Anrufdauer
Dynamische Variablen eignen sich ideal, um nutzerspezifische Daten einzufügen, die nicht fest in der Konfiguration Ihres Agenten hinterlegt werden sollten.
Dynamische Systemvariablen
Ihr Agent hat Zugriff auf diese automatisch verfügbaren Systemvariablen:
system__agent_id- Eindeutige Kennung des Agenten, der die Unterhaltung gestartet hat (bleibt während der gesamten Unterhaltung unverändert)system__current_agent_id- Eindeutige Kennung des aktuell aktiven Agenten (ändert sich nach Agentenü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. “Friday, 12:33 12 December 2025”)system__timezone- Vom Nutzer angegebene Zeitzone (muss für tzinfo gültig sein)system__conversation_id- Eindeutige Unterhaltungskennung 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ächswechsel, die der Agent während dieser Unterhaltung durchgeführt hat.system__current_agent_turns- Die Anzahl der Gesprächswechsel, die der aktuelle Agent durchgeführt hat. Wird zurückgesetzt, wenn die Unterhaltung an einen anderen Agenten übergeben wird.system__current_subagent_turns- Die Anzahl der Gesprächswechsel, 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 Unterhaltung im reinen Textmodus läuft, andernfalls false.system__conversation_history- JSON-serialisierte Darstellung des aktuellen Gesprächsverlaufs. Wird erst ausgewertet, wenn darauf verwiesen wird. Siehe unten Formatdetails.
Systemvariablen:
- Sind ohne Laufzeitkonfiguration verfügbar
- Beginnen mit
system__(reserviertes Präfix) - Werden während der Unterhaltung automatisch aktualisiert
system__ nicht verwenden.Format des Gesprächsverlaufs
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ächswechselstool_requests— ein Array von Tool-Aufrufen des Agenten mit aufgelösten Parameterwertentool_results— ein Array von Tool-Antworten
Enthält ein Tool-Ergebnis oder Parameter einen verschachtelten Gesprächsverlauf, wird er durch einen Platzhalter ersetzt (z. B. [conversation_history (5 turns)]), um eine unbegrenzte rekursive Erweiterung zu vermeiden.
Diese Variable ist nützlich, um Tools (z. B. Webhooks, benutzerdefinierten LLMs) Gesprächskontext zu übergeben oder um bei Übergaben Gesprächsverläufe in Subagent-Prompts einzubinden.
Geheime dynamische Variablen
Geheime dynamische Variablen werden auf dieselbe Weise wie normale dynamische Variablen befüllt, weisen unsere ElevenAgents jedoch darauf hin, dass sie nur in Headern dynamischer Variablen verwendet und nie als Teil des System-Prompts oder der ersten Nachricht eines Agenten an einen LLM-Anbieter gesendet werden dürfen.
Wir empfehlen, sie für Authentifizierungstoken oder private IDs zu verwenden, die nicht an ein LLM gesendet werden sollten. Um eine geheime dynamische Variable zu erstellen, setzen Sie einfach secret__ vor die dynamische Variable.
Dynamische Variablen über Tools aktualisieren
Tool-Aufrufe können dynamische Variablen erstellen oder aktualisieren, wenn sie ein gültiges JSON-Objekt zurückgeben. Um festzulegen, was extrahiert werden soll, setzen Sie die Objektpfade mit Punktnotation. Falls 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 aktualisieren, 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 Agenten Standardwerte für jede dynamische Variable fest.

Variablen zur Laufzeit übergeben
Geben Sie beim Starten einer Unterhaltung 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 Unterhaltungen beim Teilen von Agentenlinks personalisieren. Das ist besonders nützlich, um personalisierte Agenten in Websites, E-Mails oder Marketingkampagnen einzubetten.
URL-Parametermethoden
Es gibt zwei Methoden, um dynamische Variablen an die öffentliche Talk-to-Seite zu übergeben:
Methode 1: Base64-kodiertes JSON
Übergeben Sie Variablen als Base64-kodiertes JSON-Objekt mit dem Parameter vars:
Der Parameter vars enthält Base64-kodiertes JSON:
Methode 2: Einzelne Abfrageparameter
Übergeben Sie Variablen mit Abfrageparametern, die das Präfix var_ verwenden:
Parameterpriorität
Wenn beide Methoden gleichzeitig verwendet werden, haben einzelne var_-Parameter Vorrang vor den Base64-kodierten Variablen, um Konflikte zu vermeiden:
In diesem Beispiel ist user_name “John” (aus var_user_name) statt “Jane” (aus dem Base64-kodierten 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ß- und Kleinschreibung beachten)
- Variablen verwenden doppelte geschweifte Klammern:
{{ variable_name }} - Variablen sind in Ihrem dynamic_variables-Objekt enthalten
Typfehler
Stellen Sie Folgendes sicher:
- Variablenwerte entsprechen dem erwarteten Typ
- Werte sind nur Zeichenfolgen, Zahlen oder boolesche Werte