Variabili d'ambiente
Le variabili d’ambiente ti consentono di definire valori specifici per ambiente per URL degli strumenti, segreti, header e connessioni di autenticazione. Un’unica configurazione di agente e strumenti funziona in tutti i tuoi ambienti: URL, chiavi API e autenticazione vengono risolti dinamicamente in base all’ambiente specificato al momento della conversazione.
Panoramica
Senza variabili d’ambiente, distribuire un agente in più ambienti (sviluppo, staging, produzione) richiede di duplicare agenti e strumenti per ogni ambiente e poi mantenere manualmente sincronizzate le loro configurazioni. Ciò comporta:
- Deriva della configurazione tra gli ambienti
- Analytics frammentate tra ID agente duplicati
- Attrito nella promozione durante il passaggio dallo staging alla produzione
Le variabili d’ambiente risolvono questo problema introducendo una risorsa riutilizzabile a livello di workspace che archivia valori diversi per ambiente. Gli strumenti e i server MCP fanno riferimento a queste variabili usando la sintassi dei template e il valore corretto viene risolto in fase di runtime in base all’ambiente della conversazione.

Concetti principali
Variabili d’ambiente
Una variabile d’ambiente è una risorsa a livello di workspace con un’etichetta e un insieme di valori per ambiente. Esistono tre tipi:
Ogni variabile d’ambiente deve avere un valore per l’ambiente predefinito production. Gli ambienti aggiuntivi, come staging e development, sono facoltativi.
Sintassi dei template
Fai riferimento alle variabili d’ambiente nei campi URL usando la sintassi {{system__env_<label>}}:
Data una variabile d’ambiente api_host con i valori api (produzione) e staging.api (staging), viene risolta come segue:
- In
production:https://api.example.com/v1/text-to-speech - In
staging:https://staging.api.example.com/v1/text-to-speech
Questa sintassi è coerente con le variabili dinamiche e funziona nei campi URL per gli strumenti webhook e le connessioni ai server MCP.
Le variabili d’ambiente sono supportate anche negli URL e negli header dei webhook pre-chiamata (il webhook Conversation Initiation Client Data) e negli URL dei webhook post-chiamata configurati in Sviluppatori > Webhook. I template vengono risolti usando l’ambiente della conversazione, così la stessa configurazione webhook può avere come destinazione endpoint diversi per ambiente. Per i webhook pre-chiamata, l’ ambiente può essere impostato in anticipo sul numero di telefono o restituito dinamicamente nella risposta del webhook (consulta Telefonia qui sotto).
Gli URL devono iniziare con https:// prima di qualsiasi riferimento a una variabile d’ambiente. Ad esempio, https:// {{ system__env_api_host }}.example.com/v1/data è valido, mentre {{ system__env_api_host }}/v1/data
non lo è. Questo è necessario per la convalida e la sicurezza: i valori delle variabili d’ambiente non possono controllare
il protocollo.
Risoluzione e fallback
Quando una conversazione viene eseguita in un ambiente specifico, il sistema risolve le variabili d’ambiente come segue:
- Cerca il valore per l’ambiente richiesto, ad esempio
staging - Se non esiste alcun valore per quell’ambiente, usa come fallback il valore
production - Se la variabile non può essere risolta, la chiamata dello strumento non riesce con un errore di configurazione
Questo comportamento di fallback significa che devi definire valori solo per gli ambienti che differiscono dalla produzione.
Creazione di variabili d’ambiente
Le variabili d’ambiente non sono ancora gestibili tramite la CLI di ElevenLabs: usa la dashboard o l’SDK.
Crea dalla dashboard
Crea tramite l'API
Utilizzo delle variabili d’ambiente
Negli URL degli strumenti webhook
Usa la sintassi dei template nel campo URL di uno strumento webhook per fare in modo che l’URL di base venga risolto in base all’ambiente.

Ad esempio, un URL dello strumento configurato come segue:
viene risolto in https://api.example.com/v1/weather?lat=40.7&lon=-74.0 in produzione e in https://staging.api.example.com/v1/weather?lat=40.7&lon=-74.0 in staging.
Puoi combinare più variabili d’ambiente e segmenti letterali in un unico URL:
Esempio API
Negli header degli strumenti webhook
Le variabili d’ambiente segrete possono essere usate negli header delle richieste. Anziché inserire direttamente un ID segreto, fai riferimento a una variabile d’ambiente per usare segreti diversi in base all’ambiente. Quando configuri un header dello strumento nella dashboard, seleziona una variabile d’ambiente anziché un segreto statico. In fase di runtime, il valore dell’header viene risolto nel segreto memorizzato per l’ambiente corrente.
Esempio API
Passa un riferimento a una variabile d’ambiente nel campo request_headers:
Nelle connessioni di autenticazione degli strumenti webhook
Anche le connessioni di autenticazione (OAuth2, JWT, Basic Auth) possono essere risolte in base all’ambiente. È utile quando gli ambienti di staging e produzione usano client OAuth o endpoint token diversi.

Nella configurazione dello strumento, seleziona una variabile d’ambiente di tipo auth_connection anziché selezionare direttamente una connessione di autenticazione. La connessione di autenticazione corretta per l’ambiente corrente viene risolta in fase di runtime.
Esempio API
Fai riferimento a una variabile d’ambiente nel campo auth_connection:
Nelle connessioni ai server MCP
Le variabili d’ambiente funzionano con le connessioni ai server MCP allo stesso modo degli strumenti webhook. Puoi usarle in:
- URL del server: Usa un template per l’URL del server MCP in modo che punti a server diversi per ambiente
- Header delle richieste: Usa variabili d’ambiente segrete per gli header di autenticazione
- Connessioni di autenticazione: Usa variabili d’ambiente per connessioni di autenticazione con server MCP basati su OAuth
Ad esempio, un URL del server MCP configurato come segue:
viene risolto in endpoint del server MCP diversi a seconda dell’ambiente.
Nelle configurazioni LLM personalizzate
Quando usi un LLM personalizzato, le variabili d’ambiente possono creare template per la chiave API e gli header delle richieste. In questo modo puoi usare endpoint dei modelli e credenziali diversi nei vari ambienti.
Il campo URL dell’LLM personalizzato supporta la stessa sintassi di template {{system__env_<label>}}. Il campo api_key accetta un riferimento a una variabile d’ambiente, così da usare chiavi API diverse per ambiente.
Esempio API
Specificare l’ambiente
L’ambiente viene impostato all’avvio della conversazione e rimane invariato per l’intera conversazione. Se non viene specificato alcun ambiente, viene usato production per impostazione predefinita.
Durante i test nella dashboard, seleziona l’ambiente dal menu a discesa nell’anteprima dell’agente:

WebSocket
Passa il parametro query environment quando ti connetti al WebSocket della conversazione:
WebRTC (URL firmato / token)
Quando usi WebRTC, passa il parametro environment quando richiedi un token di conversazione:
Telefonia (Twilio e trunk SIP)
I numeri di telefono possono essere associati a un ambiente specifico e a uno specifico branch dell’agente, rendendo più semplice instradare un numero di telefono di test a un branch di sviluppo di un agente i cui strumenti vengono eseguiti su un’API di sviluppo.

Per le chiamate in entrata, l’ambiente viene risolto in questo ordine:
- Il valore
environmentrestituito dal tuo webhook di avvio della conversazione, se il tuo server ne fornisce uno dinamicamente per chiamata - L’ambiente memorizzato nel numero di telefono stesso
productioncome predefinito
La stessa precedenza si applica a branch_id. Gli URL e gli header del webhook pre-chiamata, nonché gli URL del webhook post-chiamata, risolvono quindi i template {{system__env_*}} usando l’ambiente scelto.
Associa un numero di telefono a un ambiente e a un branch (richiede l’SDK Python elevenlabs ≥ 2.47.0 o @elevenlabs/elevenlabs-js ≥ 2.47.0):
Per le chiamate in uscita, passa il campo environment quando avvii la chiamata tramite gli endpoint in uscita Twilio o trunk SIP.
SDK React
Passa l’opzione environment nell’hook useConversation o quando avvii una sessione:
Esempio: agente multi-ambiente
Questo esempio mostra una configurazione completa con un singolo agente che usa backend API e credenziali diversi tra sviluppo, staging e produzione.
Configura gli strumenti con riferimenti a variabili d'ambiente
Configura gli strumenti webhook usando la sintassi dei template:
- URL:
https://{{system__env_api_host}}.example.com/v1/orders - Header: Fai riferimento alla variabile d’ambiente
api_keyper l’headerX-Api-Key - Autenticazione: Fai riferimento alla variabile d’ambiente
oauth_credsper l’autenticazione OAuth
Vincoli di denominazione
- Etichette: Solo caratteri alfanumerici e trattini bassi (ad es.
base_url,api_key_v2) - Nomi degli ambienti: Devono iniziare con una lettera minuscola e possono contenere solo lettere minuscole, cifre, trattini bassi e trattini, fino a 64 caratteri (ad es.
production,staging,dev-us-east) - Ogni variabile d’ambiente deve avere un valore
production


