Miljövariabler
Med miljövariabler kan du definiera värden per miljö för verktygs-URL:er, hemligheter, rubriker och autentiseringsanslutningar. En enda agent- och verktygskonfiguration fungerar i alla dina miljöer – URL:er, API-nycklar och autentisering löses dynamiskt utifrån miljön som anges när samtalet startar.
Översikt
Utan miljövariabler kräver distribution av en agent i flera miljöer (utveckling, staging, produktion) att du duplicerar agenter och verktyg för varje miljö och sedan manuellt håller deras konfigurationer synkroniserade. Det leder till:
- Konfigurationsavvikelser mellan miljöer
- Fragmenterad analys över duplicerade agent-ID:n
- Friktion vid befordran när du flyttar från staging till produktion
Miljövariabler löser detta genom att införa en återanvändbar, workspaceomfattande resurs som lagrar olika värden per miljö. Verktyg och MCP-servrar refererar till dessa variabler med mallsyntax, och rätt värde löses vid körning utifrån samtalets miljö.

Grundläggande begrepp
Miljövariabler
En miljövariabel är en workspaceomfattande resurs med en etikett och en uppsättning värden per miljö. Det finns tre typer:
Varje miljövariabel måste ha ett värde för standardmiljön production. Ytterligare miljöer (t.ex. staging, development) är valfria.
Mallsyntax
Referera till miljövariabler i URL-fält med syntaxen {{system__env_<label>}}:
Med miljövariabeln api_host som har värdena api (produktion) och staging.api (staging) löses detta till:
- I
production:https://api.example.com/v1/text-to-speech - I
staging:https://staging.api.example.com/v1/text-to-speech
Den här syntaxen är konsekvent med dynamiska variabler och fungerar i URL-fält för webhookverktyg och MCP-serveranslutningar.
Miljövariabler stöds även i URL:er och rubriker för webhooks före samtal (Conversation Initiation Client Data Webhook) samt i URL:er för webhooks efter samtal som konfigureras under Developers > Webhooks. Mallar löses med samtalets miljö, så samma webhookkonfiguration kan rikta sig mot olika slutpunkter per miljö. För webhooks före samtal kan miljön anges i förväg på telefonnumret eller returneras dynamiskt i ditt websvar (se Telefoni nedan).
URL:er måste börja med https:// före alla miljövariabelreferenser. Till exempel är https:// {{ system__env_api_host }}.example.com/v1/data giltigt, men {{ system__env_api_host }}/v1/data
är det inte. Detta krävs för validering och säkerhet – miljövariabelvärden kan inte styra protokollet.
Upplösning och återgång
När ett samtal körs i en specifik miljö löser systemet miljövariabler enligt följande:
- Slå upp värdet för den begärda miljön (t.ex.
staging) - Om inget värde finns för miljön återgå till värdet för
production - Om variabeln inte kan lösas misslyckas verktygsanropet med ett konfigurationsfel
Detta återgångsbeteende innebär att du bara behöver definiera värden för miljöer som skiljer sig från produktion.
Skapa miljövariabler
Miljövariabler kan ännu inte hanteras via ElevenLabs CLI – använd instrumentpanelen eller SDK:t.
Skapa via instrumentpanelen
Skapa via API:et
Använda miljövariabler
I URL:er för webhook-verktyg
Använd mallsyntaxen i URL-fältet för ett webhook-verktyg för att låta bas-URL:en anpassas efter miljö.

Till exempel kan en verktygs-URL konfigurerad som:
översättas till https://api.example.com/v1/weather?lat=40.7&lon=-74.0 i produktion och https://staging.api.example.com/v1/weather?lat=40.7&lon=-74.0 i staging.
Du kan kombinera flera miljövariabler och bokstavliga segment i en enda URL:
API-exempel
I rubriker för webhook-verktyg
Hemliga miljövariabler kan användas i begäranderubriker. I stället för att hårdkoda ett hemligt ID kan du referera till en miljövariabel så att olika hemligheter används för varje miljö. När du konfigurerar en verktygsrubrik i dashboarden väljer du en miljövariabel i stället för en statisk hemlighet. Vid körning översätts rubrikvärdet till den hemlighet som lagras för den aktuella miljön.
API-exempel
Skicka en referens till en miljövariabel i fältet request_headers:
I auth-anslutningar för webhook-verktyg
Auth-anslutningar (OAuth2, JWT, Basic Auth) kan också översättas per miljö. Det är användbart när dina staging- och produktionsmiljöer använder olika OAuth-klienter eller token-slutpunkter.

I verktygskonfigurationen väljer du en miljövariabel av typen auth_connection i stället för att välja en auth-anslutning direkt. Rätt auth-anslutning för den aktuella miljön översätts vid körning.
API-exempel
Referera till en miljövariabel i fältet auth_connection:
I MCP-serveranslutningar
Miljövariabler fungerar med anslutningar till MCP-servrar på samma sätt som med webhook-verktyg. Du kan använda dem i:
- Server-URL: Använd en mall för MCP-serverns URL för att peka på olika servrar per miljö
- Begäranderubriker: Använd hemliga miljövariabler för autentiseringsrubriker
- Auth-anslutningar: Använd miljövariabler för auth-anslutningar till OAuth-baserade MCP-servrar
Till exempel kan en MCP-server-URL konfigurerad som:
översättas till olika MCP-serverändpunkter beroende på miljön.
I anpassade LLM-konfigurationer
När du använder en anpassad LLM kan miljövariabler användas som mall för API-nyckeln och begäranderubriker. Det gör att du kan använda olika modelländpunkter och autentiseringsuppgifter i olika miljöer.
URL-fältet för anpassade LLM:er har stöd för samma mallsyntax, {{system__env_<label>}}. Fältet api_key accepterar en referens till en miljövariabel så att olika API-nycklar används per miljö.
API-exempel
Ange miljön
Miljön anges när konversationen startar och behålls under hela konversationen. Om ingen miljö anges används production som standard.
När du testar i dashboarden väljer du miljö i rullgardinsmenyn i agentförhandsvisningen:

WebSocket
Skicka frågeparametern environment när du ansluter till konversationens WebSocket:
WebRTC (signerad URL / token)
När du använder WebRTC skickar du parametern environment när du begär en konversationstoken:
Telefoni (Twilio och SIP-trunk)
Telefonnummer kan låsas till en specifik miljö och en specifik agentgren, vilket gör det enkelt att dirigera ett testtelefonnummer till en utvecklingsgren av en agent vars verktyg körs mot ett utvecklings-API.

För inkommande samtal fastställs miljön i följande ordning:
- Värdet
environmentsom returneras av din webhook för konversationsstart, om din server tillhandahåller ett dynamiskt för varje samtal - Miljön som lagras på själva telefonnumret
productionsom standard
Samma prioritet gäller för branch_id. URL:er och rubriker för webhookar före samtal samt URL:er för webhookar efter samtal översätter sedan mallarna {{system__env_*}} med den valda miljön.
Lås ett telefonnummer till en miljö och gren (kräver Python SDK:t elevenlabs ≥ 2.47.0 eller @elevenlabs/elevenlabs-js ≥ 2.47.0):
För utgående samtal skickar du fältet environment när du startar samtalet via slutpunkterna för utgående Twilio- eller SIP-trunksamtal.
React SDK
Skicka alternativet environment i hooken useConversation eller när du startar en session:
Exempel: agent för flera miljöer
Det här exemplet visar en komplett konfiguration med en enda agent som använder olika API-backends och autentiseringsuppgifter i utveckling, staging och produktion.
Konfigurera verktyg med referenser till miljövariabler
Konfigurera dina webhook-verktyg med mallsyntax:
- URL:
https://{{system__env_api_host}}.example.com/v1/orders - Rubriker: Referera till miljövariabeln
api_keyför rubrikenX-Api-Key - Auth: Referera till miljövariabeln
oauth_credsför OAuth-autentisering
Namngivningsbegränsningar
- Etiketter: Endast alfanumeriska tecken och understreck (t.ex.
base_url,api_key_v2) - Miljönamn: Måste börja med en liten bokstav och får endast innehålla små bokstäver, siffror, understreck och bindestreck, upp till 64 tecken (t.ex.
production,staging,dev-us-east) - Varje miljövariabel måste ha ett
production-värde


