एनवायरनमेंट वेरिएबल
एनवायरनमेंट वेरिएबल
रिसोर्स डुप्लिकेट किए बिना एक ही एजेंट को dev, staging और production में डिप्लॉय करें।
एनवायरनमेंट वेरिएबल से आप टूल URL, सीक्रेट, हेडर और ऑथ कनेक्शन के लिए हर एनवायरनमेंट की वैल्यू तय कर सकते हैं। एक ही एजेंट और टूल कॉन्फ़िगरेशन आपके सभी एनवायरनमेंट में काम करता है — URL, API key और ऑथेंटिकेशन बातचीत के समय बताए गए एनवायरनमेंट के आधार पर डाइनैमिक रूप से रिज़ॉल्व होते हैं।
परिचय
एनवायरनमेंट वेरिएबल के बिना, किसी एजेंट को कई एनवायरनमेंट (development, staging, production) में डिप्लॉय करने के लिए हर एनवायरनमेंट हेतु एजेंट और टूल डुप्लिकेट करने पड़ते हैं, फिर उनके कॉन्फ़िगरेशन को मैन्युअली सिंक में रखना पड़ता है। इससे ये समस्याएं होती हैं:
- एनवायरनमेंट के बीच कॉन्फ़िगरेशन में अंतर
- डुप्लिकेट एजेंट ID में बंटे हुए एनालिटिक्स
- staging से production में जाने पर प्रमोशन की मुश्किलें
एनवायरनमेंट वेरिएबल, हर एनवायरनमेंट के लिए अलग वैल्यू स्टोर करने वाला दोबारा इस्तेमाल किया जा सकने वाला, वर्कस्पेस-स्कोप्ड रिसोर्स देकर इसे हल करते हैं। टूल और MCP सर्वर टेम्पलेट सिंटैक्स का इस्तेमाल करके इन वेरिएबल को रेफ़र करते हैं और बातचीत के एनवायरनमेंट के आधार पर रनटाइम में सही वैल्यू रिज़ॉल्व होती है।

मुख्य अवधारणाएं
एनवायरनमेंट वेरिएबल
एनवायरनमेंट वेरिएबल एक वर्कस्पेस-स्कोप्ड रिसोर्स है, जिसमें एक लेबल और हर एनवायरनमेंट के लिए वैल्यू का सेट होता है। इसके तीन प्रकार हैं:
हर एनवायरनमेंट वेरिएबल में डिफ़ॉल्ट production एनवायरनमेंट के लिए वैल्यू होना ज़रूरी है। अतिरिक्त एनवायरनमेंट (जैसे, staging, development) वैकल्पिक हैं।
टेम्पलेट सिंटैक्स
URL फ़ील्ड में एनवायरनमेंट वेरिएबल को {{system__env_<label>}} सिंटैक्स से रेफ़र करें:
api_host एनवायरनमेंट वेरिएबल की वैल्यू api (production) और staging.api (staging) होने पर, यह ऐसे रिज़ॉल्व होता है:
productionमें:https://api.example.com/v1/text-to-speechstagingमें:https://staging.api.example.com/v1/text-to-speech
यह सिंटैक्स डायनामिक वेरिएबल के अनुरूप है और वेबहुक टूल तथा MCP सर्वर कनेक्शन के URL फ़ील्ड में काम करता है।
एनवायरनमेंट वेरिएबल प्री-कॉल वेबहुक URL और हेडर (Conversation Initiation Client Data Webhook) में भी समर्थित हैं, और Developers > Webhooks में कॉन्फ़िगर किए गए पोस्ट-कॉल वेबहुक URL में भी। टेम्पलेट बातचीत के एनवायरनमेंट का इस्तेमाल करके रिज़ॉल्व होते हैं, इसलिए एक ही वेबहुक कॉन्फ़िगरेशन हर एनवायरनमेंट में अलग एंडपॉइंट को टारगेट कर सकता है। प्री-कॉल वेबहुक के लिए, एनवायरनमेंट को फ़ोन नंबर पर पहले से सेट किया जा सकता है या आपके वेबहुक जवाब में डाइनैमिक रूप से लौटाया जा सकता है (नीचे Telephony देखें)।
URL को किसी भी एनवायरनमेंट वेरिएबल रेफ़रेंस से पहले https:// से शुरू होना चाहिए। उदाहरण के लिए, https:// {{ system__env_api_host }}.example.com/v1/data मान्य है, लेकिन {{ system__env_api_host }}/v1/data
मान्य नहीं है। वैलिडेशन और सुरक्षा के लिए यह ज़रूरी है — एनवायरनमेंट वेरिएबल वैल्यू प्रोटोकॉल को नियंत्रित नहीं कर सकतीं।
रिज़ॉल्यूशन और फ़ॉलबैक
जब कोई बातचीत किसी खास एनवायरनमेंट में चलती है, तो सिस्टम एनवायरनमेंट वेरिएबल को इस तरह रिज़ॉल्व करता है:
- मांगे गए एनवायरनमेंट (जैसे,
staging) की वैल्यू खोजें - उस एनवायरनमेंट के लिए कोई वैल्यू न होने पर,
productionवैल्यू पर फ़ॉलबैक करें - वेरिएबल रिज़ॉल्व न होने पर, टूल कॉल कॉन्फ़िगरेशन एरर के साथ विफल होती है
इस फ़ॉलबैक व्यवहार का मतलब है कि आपको सिर्फ़ उन एनवायरनमेंट के लिए वैल्यू तय करनी है जो production से अलग हैं।
एनवायरनमेंट वेरिएबल बनाना
एनवायरनमेंट वेरिएबल को अभी ElevenLabs CLI से मैनेज नहीं किया जा सकता — डैशबोर्ड या SDK का इस्तेमाल करें।
डैशबोर्ड से बनाएं
API से बनाएं
एनवायरनमेंट वेरिएबल का इस्तेमाल
वेबहुक टूल URL में
हर एनवायरनमेंट के लिए बेस URL रिज़ॉल्व करने हेतु वेबहुक टूल के URL फ़ील्ड में टेम्पलेट सिंटैक्स इस्तेमाल करें।

उदाहरण के लिए, इस तरह कॉन्फ़िगर किया गया टूल URL:
प्रोडक्शन में https://api.example.com/v1/weather?lat=40.7&lon=-74.0 और स्टेजिंग में https://staging.api.example.com/v1/weather?lat=40.7&lon=-74.0 पर रिज़ॉल्व होता है।
आप एक URL में कई एनवायरनमेंट वेरिएबल और लिटरल सेगमेंट जोड़ सकते हैं:
API उदाहरण
वेबहुक टूल हेडर में
सीक्रेट एनवायरनमेंट वेरिएबल को रिक्वेस्ट हेडर में इस्तेमाल किया जा सकता है। सीक्रेट ID को हार्डकोड करने के बजाय, एनवायरनमेंट वेरिएबल का रेफ़रेंस दें ताकि हर एनवायरनमेंट के लिए अलग सीक्रेट इस्तेमाल हो। डैशबोर्ड में टूल हेडर कॉन्फ़िगर करते समय, स्टैटिक सीक्रेट की जगह एनवायरनमेंट वेरिएबल चुनें। रनटाइम पर, हेडर वैल्यू मौजूदा एनवायरनमेंट में स्टोर किए गए सीक्रेट पर रिज़ॉल्व होती है।
API उदाहरण
request_headers फ़ील्ड में एनवायरनमेंट वेरिएबल रेफ़रेंस पास करें:
वेबहुक टूल ऑथ कनेक्शन में
ऑथ कनेक्शन (OAuth2, JWT, Basic Auth) भी हर एनवायरनमेंट के लिए रिज़ॉल्व किए जा सकते हैं। यह तब उपयोगी है जब आपके स्टेजिंग और प्रोडक्शन एनवायरनमेंट अलग OAuth क्लाइंट या टोकन एंडपॉइंट इस्तेमाल करते हों।

टूल कॉन्फ़िगरेशन में, किसी ऑथ कनेक्शन को सीधे चुनने के बजाय auth_connection टाइप का एनवायरनमेंट वेरिएबल चुनें। मौजूदा एनवायरनमेंट के लिए सही ऑथ कनेक्शन रनटाइम पर रिज़ॉल्व होता है।
API उदाहरण
auth_connection फ़ील्ड में एनवायरनमेंट वेरिएबल का रेफ़रेंस दें:
MCP सर्वर कनेक्शन में
एनवायरनमेंट वेरिएबल MCP सर्वर कनेक्शन के साथ उसी तरह काम करते हैं, जैसे वे वेबहुक टूल के साथ करते हैं। आप इन्हें यहां इस्तेमाल कर सकते हैं:
- सर्वर URL: हर एनवायरनमेंट के लिए अलग सर्वर पर पॉइंट करने हेतु MCP सर्वर URL को टेम्पलेट करें
- रिक्वेस्ट हेडर: ऑथेंटिकेशन हेडर के लिए सीक्रेट एनवायरनमेंट वेरिएबल इस्तेमाल करें
- ऑथ कनेक्शन: OAuth-आधारित MCP सर्वर के लिए ऑथ कनेक्शन एनवायरनमेंट वेरिएबल इस्तेमाल करें
उदाहरण के लिए, इस तरह कॉन्फ़िगर किया गया MCP सर्वर URL:
एनवायरनमेंट के आधार पर अलग-अलग MCP सर्वर एंडपॉइंट पर रिज़ॉल्व होता है।
कस्टम LLM कॉन्फ़िगरेशन में
कस्टम LLM इस्तेमाल करते समय, एनवायरनमेंट वेरिएबल API की और रिक्वेस्ट हेडर को टेम्पलेट कर सकते हैं। इससे आप अलग-अलग एनवायरनमेंट में अलग मॉडल एंडपॉइंट और क्रेडेंशियल इस्तेमाल कर सकते हैं।
कस्टम LLM URL फ़ील्ड उसी {{system__env_<label>}} टेम्पलेट सिंटैक्स को सपोर्ट करता है। api_key फ़ील्ड एनवायरनमेंट वेरिएबल रेफ़रेंस स्वीकार करता है, ताकि हर एनवायरनमेंट के लिए अलग API की इस्तेमाल हो।
API उदाहरण
एनवायरनमेंट तय करना
एनवायरनमेंट बातचीत शुरू होने पर सेट होता है और पूरी बातचीत के दौरान बना रहता है। अगर कोई एनवायरनमेंट तय नहीं किया जाता, तो डिफ़ॉल्ट रूप से production इस्तेमाल होता है।
डैशबोर्ड में टेस्ट करते समय, एजेंट प्रीव्यू के ड्रॉपडाउन से एनवायरनमेंट चुनें:

WebSocket
कन्वर्सेशन WebSocket से कनेक्ट करते समय environment क्वेरी पैरामीटर पास करें:
WebRTC (Signed URL / Token)
WebRTC इस्तेमाल करते समय, कन्वर्सेशन टोकन का अनुरोध करते वक्त environment पैरामीटर पास करें:
टेलीफोनी (Twilio और SIP ट्रंक)
फोन नंबर को किसी खास एनवायरनमेंट और किसी खास एजेंट ब्रांच से पिन किया जा सकता है। इससे किसी टेस्ट फोन नंबर को ऐसे एजेंट की डेवलपमेंट ब्रांच पर रूट करना आसान होता है, जिसके टूल डेवलपमेंट API के साथ काम करते हैं।

इनबाउंड कॉल के लिए, एनवायरनमेंट इस क्रम में रिज़ॉल्व होता है:
- आपका सर्वर अगर हर कॉल के लिए डायनामिक रूप से कोई वैल्यू देता है, तो आपके कन्वर्सेशन इनिशिएशन वेबहुक से लौटाई गई
environmentवैल्यू - फोन नंबर पर स्टोर किया गया एनवायरनमेंट
- डिफ़ॉल्ट रूप में
production
यही प्राथमिकता branch_id पर भी लागू होती है। प्री-कॉल वेबहुक URL और हेडर, और पोस्ट-कॉल वेबहुक URL, फिर चुने गए एनवायरनमेंट का इस्तेमाल करके {{system__env_*}} टेम्पलेट को रिज़ॉल्व करते हैं।
फोन नंबर को एनवायरनमेंट और ब्रांच से पिन करें (elevenlabs Python SDK ≥ 2.47.0 या @elevenlabs/elevenlabs-js ≥ 2.47.0 आवश्यक है):
आउटबाउंड कॉल के लिए, Twilio या SIP ट्रंक आउटबाउंड एंडपॉइंट के जरिए कॉल शुरू करते समय environment फ़ील्ड पास करें।
React SDK
useConversation हुक में या सेशन शुरू करते समय environment विकल्प पास करें:
उदाहरण: मल्टी-एनवायरनमेंट एजेंट
यह उदाहरण एक पूरे सेटअप को दिखाता है, जिसमें एक ही एजेंट डेवलपमेंट, स्टेजिंग और प्रोडक्शन में अलग-अलग API बैकएंड और क्रेडेंशियल का इस्तेमाल करता है।
एनवायरनमेंट वेरिएबल रेफ़रेंस के साथ टूल कॉन्फ़िगर करें
टेम्पलेट सिंटैक्स का इस्तेमाल करके अपने वेबहुक टूल सेट अप करें:
- URL:
https://{{system__env_api_host}}.example.com/v1/orders - हेडर:
X-Api-Keyहेडर के लिएapi_keyएनवायरनमेंट वेरिएबल का रेफ़रेंस दें - ऑथ: OAuth ऑथेंटिकेशन के लिए
oauth_credsएनवायरनमेंट वेरिएबल का रेफ़रेंस दें
नामकरण की शर्तें
- लेबल: सिर्फ़ अल्फ़ान्यूमेरिक कैरेक्टर और अंडरस्कोर (जैसे,
base_url,api_key_v2) - एनवायरनमेंट नाम: लोअरकेस अक्षर से शुरू होना चाहिए और इसमें सिर्फ़ लोअरकेस अक्षर, अंक, अंडरस्कोर और हाइफ़न हो सकते हैं; अधिकतम 64 कैरेक्टर (जैसे,
production,staging,dev-us-east) - हर एनवायरनमेंट वेरिएबल में
productionवैल्यू होना ज़रूरी है


