Umgebungsvariablen
Mit Umgebungsvariablen können Sie für jede Umgebung Werte für Tool-URLs, Secrets, Header und Auth-Verbindungen definieren. Eine einzelne Agenten- und Tool-Konfiguration funktioniert in all Ihren Umgebungen — URLs, API-Schlüssel und Authentifizierung werden dynamisch anhand der zur Gesprächszeit angegebenen Umgebung aufgelöst.
Übersicht
Ohne Umgebungsvariablen müssen Sie beim Bereitstellen eines Agenten in mehreren Umgebungen (Entwicklung, Staging, Produktion) Agenten und Tools für jede Umgebung duplizieren und ihre Konfigurationen dann manuell synchron halten. Das führt zu:
- Konfigurationsabweichungen zwischen Umgebungen
- Fragmentierten Analysen über duplizierte Agenten-IDs hinweg
- Reibung bei der Überführung von Staging in die Produktion
Umgebungsvariablen lösen dieses Problem durch eine wiederverwendbare Ressource auf Workspace-Ebene, die unterschiedliche Werte pro Umgebung speichert. Tools und MCP-Server referenzieren diese Variablen mit Template-Syntax. Der korrekte Wert wird zur Laufzeit anhand der Gesprächsumgebung aufgelöst.

Grundkonzepte
Umgebungsvariablen
Eine Umgebungsvariable ist eine Ressource auf Workspace-Ebene mit einer Bezeichnung und einer Reihe von Werten pro Umgebung. Es gibt drei Typen:
Jede Umgebungsvariable muss einen Wert für die Standardumgebung production haben. Zusätzliche Umgebungen (z. B. staging, development) sind optional.
Template-Syntax
Referenzieren Sie Umgebungsvariablen in URL-Feldern mit der Syntax {{system__env_<label>}}:
Bei einer Umgebungsvariable api_host mit den Werten api (Produktion) und staging.api (Staging) wird dies aufgelöst zu:
- In
production:https://api.example.com/v1/text-to-speech - In
staging:https://staging.api.example.com/v1/text-to-speech
Diese Syntax stimmt mit dynamischen Variablen überein und funktioniert in URL-Feldern für Webhook-Tools und MCP-Server-Verbindungen.
Umgebungsvariablen werden auch in URLs und Headern für Pre-Call-Webhooks (dem Conversation Initiation Client Data Webhook) sowie in URLs für Post-Call-Webhooks unterstützt, die unter Developers > Webhooks konfiguriert werden. Templates werden anhand der Gesprächsumgebung aufgelöst, sodass dieselbe Webhook-Konfiguration je Umgebung unterschiedliche Endpunkte ansprechen kann. Für Pre-Call-Webhooks kann die Umgebung vorab für die Telefonnummer festgelegt oder dynamisch in Ihrer Webhook-Antwort zurückgegeben werden (siehe Telefonie unten).
URLs müssen vor allen Referenzen auf Umgebungsvariablen mit https:// beginnen. Zum Beispiel ist https:// {{ system__env_api_host }}.example.com/v1/data gültig, {{ system__env_api_host }}/v1/data
dagegen nicht. Dies ist für Validierung und Sicherheit erforderlich — Werte von Umgebungsvariablen
dürfen das Protokoll nicht steuern.
Auflösung und Fallback
Wenn ein Gespräch in einer bestimmten Umgebung läuft, löst das System Umgebungsvariablen wie folgt auf:
- Den Wert für die angeforderte Umgebung nachschlagen (z. B.
staging) - Wenn für diese Umgebung kein Wert vorhanden ist, auf den Wert von
productionzurückfallen - Kann die Variable nicht aufgelöst werden, schlägt der Tool-Aufruf mit einem Konfigurationsfehler fehl
Durch dieses Fallback-Verhalten müssen Sie nur für Umgebungen Werte definieren, die sich von der Produktion unterscheiden.
Umgebungsvariablen erstellen
Umgebungsvariablen können noch nicht über die ElevenLabs CLI verwaltet werden — verwenden Sie das Dashboard oder SDK.
Über das Dashboard erstellen
Über die API erstellen
Navigieren Sie im ElevenLabs-Dashboard zu Developers > Environment Variables.
Eine Umgebung erstellen
Definieren Sie Umgebungen, die Ihren Bereitstellungsstufen entsprechen (z. B. eu, india, staging). Die Umgebung production ist standardmäßig immer verfügbar.
Eine Variable erstellen
Klicken Sie auf Add variable und wählen Sie den Variablentyp:
- String: Geben Sie eine Bezeichnung ein und legen Sie für jede Umgebung einen Wert fest
- Secret: Wählen Sie für jede Umgebung ein vorhandenes Workspace-Secret aus
- Auth-Verbindung: Wählen Sie für jede Umgebung eine vorhandene Auth-Verbindung aus

Umgebungsvariablen verwenden
In Webhook-Tool-URLs
Verwenden Sie die Template-Syntax im URL-Feld eines Webhook-Tools, damit die Basis-URL je Umgebung aufgelöst wird.

Beispielsweise wird eine Tool-URL mit folgender Konfiguration:
in der Produktion zu https://api.example.com/v1/weather?lat=40.7&lon=-74.0 und im Staging zu https://staging.api.example.com/v1/weather?lat=40.7&lon=-74.0 aufgelöst.
Sie können mehrere Umgebungsvariablen und literale Segmente in einer einzelnen URL kombinieren:
API-Beispiel
In Webhook-Tool-Headern
Secret-Umgebungsvariablen können in Request-Headern verwendet werden. Referenzieren Sie statt einer fest codierten Secret-ID eine Umgebungsvariable, damit je Umgebung unterschiedliche Secrets verwendet werden. Wählen Sie bei der Konfiguration eines Tool-Headers im Dashboard eine Umgebungsvariable statt eines statischen Secrets aus. Zur Laufzeit wird der Header-Wert in das für die aktuelle Umgebung gespeicherte Secret aufgelöst.
API-Beispiel
Übergeben Sie im Feld request_headers eine Referenz auf eine Umgebungsvariable:
In Webhook-Tool-Auth-Verbindungen
Auth-Verbindungen (OAuth2, JWT, Basic Auth) können ebenfalls je Umgebung aufgelöst werden. Das ist hilfreich, wenn Ihre Staging- und Produktionsumgebungen unterschiedliche OAuth-Clients oder Token-Endpunkte verwenden.

Wählen Sie in der Tool-Konfiguration eine Umgebungsvariable vom Typ auth_connection, statt direkt eine Auth-Verbindung auszuwählen. Die korrekte Auth-Verbindung für die aktuelle Umgebung wird zur Laufzeit aufgelöst.
API-Beispiel
Referenzieren Sie im Feld auth_connection eine Umgebungsvariable:
In MCP-Server-Verbindungen
Umgebungsvariablen funktionieren mit MCP-Server-Verbindungen genauso wie mit Webhook-Tools. Sie können sie verwenden in:
- Server-URL: Erstellen Sie ein Template für die MCP-Server-URL, um je Umgebung auf unterschiedliche Server zu verweisen
- Request-Headern: Verwenden Sie Secret-Umgebungsvariablen für Authentifizierungs-Header
- Auth-Verbindungen: Verwenden Sie Auth-Verbindungs-Umgebungsvariablen für OAuth-basierte MCP-Server
Beispielsweise wird eine MCP-Server-URL mit folgender Konfiguration:
je nach Umgebung zu unterschiedlichen MCP-Server-Endpunkten aufgelöst.
In benutzerdefinierten LLM-Konfigurationen
Bei Verwendung eines benutzerdefinierten LLM können Umgebungsvariablen den API-Schlüssel und Request-Header als Template verwenden. So können Sie unterschiedliche Modell-Endpunkte und Anmeldedaten in verschiedenen Umgebungen nutzen.
Das URL-Feld für benutzerdefinierte LLMs unterstützt dieselbe Template-Syntax {{system__env_<label>}}. Das Feld api_key akzeptiert eine Referenz auf eine Umgebungsvariable, damit je Umgebung unterschiedliche API-Schlüssel verwendet werden.
API-Beispiel
Umgebung angeben
Die Umgebung wird beim Start eines Gesprächs festgelegt und bleibt für das gesamte Gespräch erhalten. Wenn keine Umgebung angegeben ist, wird standardmäßig production verwendet.
Wählen Sie beim Testen im Dashboard die Umgebung im Dropdown-Menü der Agentenvorschau aus:

WebSocket
Übergeben Sie beim Herstellen einer Verbindung zum Gesprächs-WebSocket den Abfrageparameter environment:
WebRTC (signierte URL / Token)
Bei Verwendung von WebRTC übergeben Sie beim Anfordern eines Gesprächstokens den Parameter environment:
Telefonie (Twilio und SIP-Trunk)
Telefonnummern können an eine bestimmte Umgebung und einen bestimmten Agenten-Branch gebunden werden. So können Sie eine Testtelefonnummer einfach an einen Entwicklungs-Branch eines Agenten weiterleiten, dessen Tools eine Entwicklungs-API ausführen.

Bei eingehenden Anrufen wird die Umgebung in dieser Reihenfolge aufgelöst:
- Der von Ihrem Conversation-Initiation-Webhook zurückgegebene Wert
environment, wenn Ihr Server ihn dynamisch pro Anruf bereitstellt - Die auf der Telefonnummer selbst gespeicherte Umgebung
- Standardmäßig
production
Dieselbe Priorität gilt für branch_id. URLs und Header für Pre-Call-Webhooks sowie URLs für Post-Call-Webhooks lösen dann {{system__env_*}}-Templates anhand der ausgewählten Umgebung auf.
Binden Sie eine Telefonnummer an eine Umgebung und einen Branch (erfordert Python SDK elevenlabs ≥ 2.47.0 oder @elevenlabs/elevenlabs-js ≥ 2.47.0):
Übergeben Sie bei ausgehenden Anrufen das Feld environment, wenn Sie den Anruf über die ausgehenden Twilio- oder SIP-Trunk-Endpunkte starten.
React SDK
Übergeben Sie die Option environment im Hook useConversation oder beim Starten einer Sitzung:
Beispiel: Agent für mehrere Umgebungen
Dieses Beispiel zeigt eine vollständige Einrichtung mit einem einzelnen Agenten, der für Entwicklung, Staging und Produktion unterschiedliche API-Backends und Anmeldedaten verwendet.
Tools mit Verweisen auf Umgebungsvariablen konfigurieren
Richten Sie Ihre Webhook-Tools mit Vorlagensyntax ein:
- URL:
https://{{system__env_api_host}}.example.com/v1/orders - Header: Verweisen Sie für den Header
X-Api-Keyauf die Umgebungsvariableapi_key - Authentifizierung: Verweisen Sie für die OAuth-Authentifizierung auf die Umgebungsvariable
oauth_creds
Namensvorgaben
- Bezeichnungen: Nur alphanumerische Zeichen und Unterstriche (z. B.
base_url,api_key_v2) - Umgebungsnamen: Müssen mit einem Kleinbuchstaben beginnen und dürfen nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten, mit maximal 64 Zeichen (z. B.
production,staging,dev-us-east) - Jede Umgebungsvariable muss einen Wert für
productionhaben

