Omgevingsvariabelen
Met omgevingsvariabelen kun je waarden per omgeving definiëren voor tool-URL’s, secrets, headers en authenticatieverbindingen. Eén configuratie voor agent en tools werkt in al je omgevingen — URL’s, API-sleutels en authenticatie worden dynamisch opgelost op basis van de omgeving die tijdens het gesprek is opgegeven.
Overzicht
Zonder omgevingsvariabelen vereist het implementeren van een agent in meerdere omgevingen (development, staging, productie) dat je agents en tools voor elke omgeving dupliceert en hun configuraties vervolgens handmatig gesynchroniseerd houdt. Dit leidt tot:
- Configuratieverschillen tussen omgevingen
- Versnipperde analytics over gedupliceerde agent-ID’s
- Fricite bij promotie bij de overgang van staging naar productie
Omgevingsvariabelen lossen dit op door een herbruikbare resource op workspace-niveau te introduceren die verschillende waarden per omgeving opslaat. Tools en MCP-servers verwijzen met templatesyntaxis naar deze variabelen en de juiste waarde wordt tijdens runtime opgelost op basis van de omgeving van het gesprek.

Kernconcepten
Omgevingsvariabelen
Een omgevingsvariabele is een resource op workspace-niveau met een label en een set waarden per omgeving. Er zijn drie typen:
Elke omgevingsvariabele moet een waarde hebben voor de standaardomgeving production. Extra omgevingen (bijvoorbeeld staging, development) zijn optioneel.
Templatesyntaxis
Verwijs in URL-velden naar omgevingsvariabelen met de syntaxis {{system__env_<label>}}:
Bij een omgevingsvariabele api_host met de waarden api (production) en staging.api (staging), wordt dit opgelost naar:
- In
production:https://api.example.com/v1/text-to-speech - In
staging:https://staging.api.example.com/v1/text-to-speech
Deze syntaxis is consistent met dynamische variabelen en werkt in URL-velden voor webhooktools en MCP-serververbindingen.
Omgevingsvariabelen worden ook ondersteund in URL’s en headers van pre-call webhooks (de Conversation Initiation Client Data Webhook) en in URL’s van post-call webhooks die zijn geconfigureerd onder Developers > Webhooks. Templates worden opgelost met de omgeving van het gesprek, zodat dezelfde webhookconfiguratie verschillende endpoints per omgeving kan targeten. Voor pre-call webhooks kan de omgeving vooraf worden ingesteld op het telefoonnummer, of dynamisch worden teruggegeven in je webhook- respons (zie Telephony hieronder).
URL’s moeten beginnen met https:// vóór verwijzingen naar omgevingsvariabelen. Bijvoorbeeld: https:// {{ system__env_api_host }}.example.com/v1/data is geldig, maar {{ system__env_api_host }}/v1/data
niet. Dit is vereist voor validatie en beveiliging — waarden van omgevingsvariabelen kunnen het
protocol niet bepalen.
Oplossing en fallback
Wanneer een gesprek in een specifieke omgeving plaatsvindt, lost het systeem omgevingsvariabelen als volgt op:
- Zoek de waarde voor de aangevraagde omgeving op (bijvoorbeeld
staging) - Als er geen waarde voor die omgeving bestaat, val dan terug op de waarde voor
production - Als de variabele niet kan worden opgelost, mislukt de toolcall met een configuratiefout
Dit fallbackgedrag betekent dat je alleen waarden hoeft te definiëren voor omgevingen die afwijken van productie.
Omgevingsvariabelen maken
Omgevingsvariabelen kunnen nog niet worden beheerd via de ElevenLabs CLI — gebruik het dashboard of de SDK.
Maken via het dashboard
Maken via de API
Omgevingsvariabelen gebruiken
In URL’s van webhooktools
Gebruik de templatesyntaxis in het URL-veld van een webhooktool om de basis-URL per omgeving te laten oplossen.

Een tool-URL die bijvoorbeeld als volgt is geconfigureerd:
wordt in productie omgezet naar https://api.example.com/v1/weather?lat=40.7&lon=-74.0 en in staging naar https://staging.api.example.com/v1/weather?lat=40.7&lon=-74.0.
Je kunt meerdere omgevingsvariabelen en letterlijke segmenten combineren in één URL:
API-voorbeeld
In headers van webhooktools
Geheime omgevingsvariabelen kunnen in requestheaders worden gebruikt. Verwijs in plaats van een geheime ID hard te coderen naar een omgevingsvariabele, zodat per omgeving verschillende geheimen worden gebruikt. Selecteer bij het configureren van een toolheader in het dashboard een omgevingsvariabele in plaats van een statisch geheim. Tijdens runtime wordt de headerwaarde omgezet naar het geheim dat voor de huidige omgeving is opgeslagen.
API-voorbeeld
Geef een verwijzing naar een omgevingsvariabele door in het veld request_headers:
In authverbindingen van webhooktools
Authverbindingen (OAuth2, JWT, Basic Auth) kunnen ook per omgeving worden omgezet. Dit is handig wanneer je staging- en productieomgevingen verschillende OAuth-clients of tokenendpoints gebruiken.

Selecteer in de toolconfiguratie een omgevingsvariabele van het type auth_connection in plaats van rechtstreeks een authverbinding te selecteren. Tijdens runtime wordt de juiste authverbinding voor de huidige omgeving omgezet.
API-voorbeeld
Verwijs naar een omgevingsvariabele in het veld auth_connection:
In MCP-serververbindingen
Omgevingsvariabelen werken met verbindingen van MCP-servers op dezelfde manier als met webhooktools. Je kunt ze gebruiken in:
- Server-URL: Gebruik een template voor de MCP-server-URL om per omgeving naar verschillende servers te verwijzen
- Requestheaders: Gebruik geheime omgevingsvariabelen voor authenticatieheaders
- Authverbindingen: Gebruik omgevingsvariabelen voor authverbindingen voor OAuth-gebaseerde MCP-servers
Een MCP-server-URL die bijvoorbeeld als volgt is geconfigureerd:
wordt afhankelijk van de omgeving omgezet naar verschillende MCP-serverendpoints.
In aangepaste LLM-configuraties
Wanneer je een aangepaste LLM gebruikt, kunnen omgevingsvariabelen een template bieden voor de API-sleutel en requestheaders. Zo kun je verschillende modelendpoints en inloggegevens gebruiken in verschillende omgevingen.
Het URL-veld voor de aangepaste LLM ondersteunt dezelfde templatesyntaxis {{system__env_<label>}}. Het veld api_key accepteert een verwijzing naar een omgevingsvariabele, zodat per omgeving verschillende API-sleutels worden gebruikt.
API-voorbeeld
De omgeving opgeven
De omgeving wordt ingesteld bij het starten van een gesprek en blijft gedurende het hele gesprek behouden. Als er geen omgeving is opgegeven, is de standaardwaarde production.
Selecteer bij het testen in het dashboard de omgeving in de dropdown in het agentvoorbeeld:

WebSocket
Geef de queryparameter environment door wanneer je verbinding maakt met de WebSocket voor gesprekken:
WebRTC (ondertekende URL / token)
Geef bij gebruik van WebRTC de parameter environment door wanneer je een gesprekstoken aanvraagt:
Telefonie (Twilio en SIP-trunk)
Telefoonnummers kunnen worden vastgezet op een specifieke omgeving en een specifieke agentbranch, zodat je een testtelefoonnummer eenvoudig kunt doorsturen naar een dev-branch van een agent waarvan de tools op een dev-API worden uitgevoerd.

Voor inkomende gesprekken wordt de omgeving in deze volgorde omgezet:
- De waarde
environmentdie wordt teruggestuurd door je webhook voor gespreksinitiatie, als je server er dynamisch één per gesprek levert - De omgeving die op het telefoonnummer zelf is opgeslagen
productionals standaard
Dezelfde prioriteit geldt voor branch_id. URL’s en headers van webhooks vóór het gesprek, en URL’s van webhooks na het gesprek, zetten vervolgens de templates {{system__env_*}} om met de gekozen omgeving.
Zet een telefoonnummer vast op een omgeving en branch (vereist elevenlabs Python SDK ≥ 2.47.0 of @elevenlabs/elevenlabs-js ≥ 2.47.0):
Geef voor uitgaande gesprekken het veld environment door wanneer je het gesprek start via de uitgaande endpoints voor Twilio of SIP-trunk.
React SDK
Geef de optie environment door in de hook useConversation of wanneer je een sessie start:
Voorbeeld: agent voor meerdere omgevingen
Dit voorbeeld toont een volledige configuratie met één agent die verschillende API-backends en inloggegevens gebruikt voor ontwikkeling, staging en productie.
Tools configureren met verwijzingen naar omgevingsvariabelen
Stel je webhooktools in met templatesyntaxis:
- URL:
https://{{system__env_api_host}}.example.com/v1/orders - Headers: Verwijs naar de omgevingsvariabele
api_keyvoor de headerX-Api-Key - Auth: Verwijs naar de omgevingsvariabele
oauth_credsvoor OAuth-authenticatie
Naamgevingsbeperkingen
- Labels: Alleen alfanumerieke tekens en underscores (bijv.
base_url,api_key_v2) - Omgevingsnamen: Moeten met een kleine letter beginnen en mogen alleen kleine letters, cijfers, underscores en koppeltekens bevatten, met een maximum van 64 tekens (bijv.
production,staging,dev-us-east) - Elke omgevingsvariabele moet een waarde voor
productionhebben


