डायनेमिक वेरिएबल्स
डायनेमिक वेरिएबल्स
अपने एजेंट के व्यवहार को व्यक्तिगत बनाने के लिए रनटाइम वैल्यू पास करें।
डायनामिक वेरिएबल्स आपको रनटाइम वैल्यूज़ को अपने एजेंट के मैसेज, सिस्टम प्रॉम्प्ट और टूल्स में जोड़ने देते हैं। इससे आप कई एजेंट बनाए बिना हर बातचीत को यूज़र-विशिष्ट डेटा के साथ पर्सनलाइज़ कर सकते हैं।
ओवरव्यू
डायनामिक वेरिएबल्स को आपके एजेंट के कई हिस्सों में जोड़ा जा सकता है:
- व्यवहार और कॉन्टेक्स्ट को कस्टमाइज़ करने के लिए सिस्टम प्रॉम्प्ट्स
- अभिवादन को पर्सनलाइज़ करने के लिए पहले मैसेज
- यूज़र-विशिष्ट डेटा भेजने के लिए टूल पैरामीटर्स और हेडर्स
यहां कुछ उदाहरण दिए गए हैं, जहां डायनामिक वेरिएबल्स उपयोगी होते हैं:
- यूज़र के नाम से अभिवादन को पर्सनलाइज़ करना
- जवाबों में अकाउंट की जानकारी शामिल करना
- टूल कॉल्स को डेटा भेजना
- सब्सक्रिप्शन टियर के आधार पर व्यवहार कस्टमाइज़ करना
- बातचीत ID या कॉल अवधि जैसी सिस्टम जानकारी एक्सेस करना
डायनामिक वेरिएबल्स यूज़र-विशिष्ट डेटा जोड़ने के लिए सबसे सही हैं, जिसे आपके एजेंट के कॉन्फ़िगरेशन में हार्डकोड नहीं किया जाना चाहिए।
सिस्टम डायनामिक वेरिएबल्स
आपके एजेंट के पास ये अपने-आप उपलब्ध सिस्टम वेरिएबल्स होते हैं:
system__agent_id- बातचीत शुरू करने वाले एजेंट का यूनिक आइडेंटिफ़ायर (पूरी बातचीत के दौरान स्थिर रहता है)system__current_agent_id- अभी सक्रिय एजेंट का यूनिक आइडेंटिफ़ायर (एजेंट ट्रांसफ़र के बाद बदलता है)system__caller_id- कॉलर का फ़ोन नंबर (सिर्फ़ वॉइस कॉल्स)system__called_number- डेस्टिनेशन फ़ोन नंबर (सिर्फ़ वॉइस कॉल्स)system__call_duration_secs- कॉल की अवधि सेकंड मेंsystem__time_utc- मौजूदा UTC समय (ISO फ़ॉर्मेट)system__time- तय किए गए टाइमज़ोन में मौजूदा समय (मानव-पठनीय फ़ॉर्मेट, जैसे, “Friday, 12:33 12 December 2025”)system__timezone- यूज़र द्वारा दिया गया टाइमज़ोन (tzinfoके लिए मान्य होना चाहिए)system__conversation_id- ElevenLabs का यूनिक बातचीत आइडेंटिफ़ायरsystem__call_sid- कॉल SID (सिर्फ़ twilio कॉल्स)system__call_id- SIP ट्रंक कॉल का यूनिक आइडेंटिफ़ायर (सिर्फ़ SIP ट्रंक कॉल्स)system__agent_turns- इस बातचीत के दौरान एजेंट द्वारा लिए गए बातचीत टर्न की कुल संख्या।system__current_agent_turns- मौजूदा एजेंट द्वारा लिए गए बातचीत टर्न की संख्या। बातचीत किसी दूसरे एजेंट को ट्रांसफ़र होने पर रीसेट हो जाती है।system__current_subagent_turns- मौजूदा सबएजेंट द्वारा लिए गए बातचीत टर्न की संख्या। वर्कफ़्लो किसी दूसरे नोड पर जाने पर रीसेट हो जाती है।system__is_text_only- बातचीत सिर्फ़ टेक्स्ट मोड में चल रही हो तो true, अन्यथा false।system__conversation_history- मौजूदा बातचीत इतिहास का JSON-सीरियलाइज़्ड रूप। इसका मूल्यांकन रेफ़रेंस किए जाने के समय होता है। नीचे फ़ॉर्मेट विवरण देखें।
सिस्टम वेरिएबल्स:
- रनटाइम कॉन्फ़िगरेशन के बिना उपलब्ध होते हैं
- इनके आगे
system__लगा होता है (आरक्षित प्रीफ़िक्स) - बातचीत के दौरान अपने-आप अपडेट होते हैं
system__ प्रीफ़िक्स का इस्तेमाल नहीं कर सकते।बातचीत इतिहास का फ़ॉर्मेट
system__conversation_history वेरिएबल में निम्न संरचना वाला JSON ऑब्जेक्ट होता है:
हर एंट्री में एक role ("user", "agent", या "tool") और इनमें से एक होता है:
message— टर्न का टेक्स्ट कॉन्टेंटtool_requests— रिज़ॉल्व किए गए पैरामीटर वैल्यूज़ के साथ एजेंट द्वारा किए गए टूल कॉल्स की एक ऐरेtool_results— टूल रिस्पॉन्स की एक ऐरे
अगर किसी टूल रिज़ल्ट या पैरामीटर में नेस्टेड बातचीत इतिहास है, तो अनंत रिकर्सिव विस्तार से बचने के लिए उसे एक प्लेसहोल्डर से बदल दिया जाता है (जैसे [conversation_history (5 turns)])।
यह वेरिएबल टूल्स (जैसे वेबहुक, कस्टम LLMs) को बातचीत का कॉन्टेक्स्ट भेजने या हैंडऑफ़ के दौरान सब-एजेंट प्रॉम्प्ट्स में बातचीत इतिहास शामिल करने के लिए उपयोगी है।
सीक्रेट डायनामिक वेरिएबल्स
सीक्रेट डायनामिक वेरिएबल्स सामान्य डायनामिक वेरिएबल्स की तरह ही भरे जाते हैं, लेकिन ये हमारे ElevenAgents को बताते हैं कि इन्हें सिर्फ़ डायनामिक वेरिएबल हेडर्स में इस्तेमाल किया जाना चाहिए और एजेंट के सिस्टम प्रॉम्प्ट या पहले मैसेज के हिस्से के रूप में कभी भी किसी LLM प्रोवाइडर को नहीं भेजा जाना चाहिए।
हम इन्हें auth टोकन या प्राइवेट IDs के लिए इस्तेमाल करने की सलाह देते हैं, जिन्हें LLM को नहीं भेजा जाना चाहिए। सीक्रेट डायनामिक वेरिएबल बनाने के लिए, बस डायनामिक वेरिएबल के आगे secret__ लगाएं।
टूल्स से डायनामिक वेरिएबल्स अपडेट करना
अगर टूल कॉल्स एक मान्य JSON ऑब्जेक्ट लौटाते हैं, तो वे डायनामिक वेरिएबल्स बना या अपडेट कर सकते हैं। क्या एक्सट्रैक्ट करना है यह तय करने के लिए, डॉट नोटेशन से ऑब्जेक्ट पाथ सेट करें। अगर फ़ील्ड या पाथ मौजूद नहीं है, तो कुछ भी अपडेट नहीं होता।
रिस्पॉन्स ऑब्जेक्ट और डॉट नोटेशन का उदाहरण:
- स्टेटस इस पाथ से मेल खाता है:
response.status - users ऐरे में पहले यूज़र का ईमेल इस पाथ से मेल खाता है:
response.users.0.email
किसी डायनामिक वेरिएबल को पहले यूज़र के ईमेल से अपडेट करने के लिए, असाइनमेंट इस तरह सेट करें।

असाइनमेंट हर वेबहुक टूल का एक फ़ील्ड है, जिसका विवरण यहां दिया गया है।
गाइड
ज़रूरी शर्तें
- एक ElevenLabs अकाउंट
- कॉन्फ़िगर किया हुआ ElevenLabs कन्वर्सेशनल AI एजेंट (यहां बनाएं)
प्रॉम्प्ट्स में डायनामिक वेरिएबल्स तय करें
इनमें डबल कर्ली ब्रेसेस {{variable_name}} का इस्तेमाल करके वेरिएबल्स जोड़ें:
- सिस्टम प्रॉम्प्ट्स
- पहले मैसेज
- टूल पैरामीटर्स


टूल्स में डायनामिक वेरिएबल्स तय करें
आप टूल कॉन्फ़िगरेशन में भी डायनामिक वेरिएबल्स तय कर सकते हैं।
नया डायनामिक वेरिएबल बनाने के लिए, वैल्यू टाइप को Dynamic variable पर सेट करें और + बटन पर क्लिक करें।


प्लेसहोल्डर्स सेट करें
रनटाइम पर वेरिएबल्स भेजे बिना टेस्टिंग के लिए डिफ़ॉल्ट वैल्यूज़ कॉन्फ़िगर करें।
डैशबोर्ड से अपडेट करें
CLI से अपडेट करें
API से अपडेट करें
एजेंट के डैशबोर्ड में हर डायनामिक वेरिएबल के लिए डिफ़ॉल्ट वैल्यूज़ सेट करें।

रनटाइम पर वेरिएबल्स भेजें
बातचीत शुरू करते समय, अपने कोड में डायनामिक वेरिएबल्स दें:
सुनिश्चित करें कि आपके पास नवीनतम SDK इंस्टॉल है।
पब्लिक Talk-to पेज इंटीग्रेशन
पब्लिक talk-to पेज URL पैरामीटर्स के ज़रिए डायनामिक वेरिएबल्स को सपोर्ट करता है, जिससे एजेंट लिंक शेयर करते समय आप बातचीत को पर्सनलाइज़ कर सकते हैं। यह वेबसाइट्स, ईमेल्स या मार्केटिंग कैंपेन्स में पर्सनलाइज़्ड एजेंट एम्बेड करने के लिए खास तौर पर उपयोगी है।
URL पैरामीटर तरीके
पब्लिक talk-to पेज पर डायनामिक वेरिएबल्स भेजने के दो तरीके हैं:
तरीका 1: Base64-एन्कोडेड JSON
vars पैरामीटर का इस्तेमाल करके वेरिएबल्स को base64-एन्कोडेड JSON ऑब्जेक्ट के रूप में भेजें:
vars पैरामीटर में base64-एन्कोडेड JSON होता है:
तरीका 2: अलग-अलग क्वेरी पैरामीटर्स
var_ प्रीफ़िक्स वाले क्वेरी पैरामीटर्स का इस्तेमाल करके वेरिएबल्स भेजें:
पैरामीटर प्राथमिकता
जब दोनों तरीकों का एक साथ इस्तेमाल किया जाता है, तो कॉन्फ़्लिक्ट रोकने के लिए अलग-अलग var_ पैरामीटर्स को base64-एन्कोडेड वेरिएबल्स पर प्राथमिकता मिलती है:
इस उदाहरण में, user_name “Jane” (base64-एन्कोडेड vars से) के बजाय “John” (var_user_name से) होगा।
इम्प्लीमेंटेशन उदाहरण
JavaScript URL जनरेशन
Python URL जनरेशन
मैन्युअल URL निर्माण
समर्थित टाइप्स
डायनामिक वेरिएबल्स इन वैल्यू टाइप्स को सपोर्ट करते हैं:
समस्या निवारण
वेरिएबल्स बदले नहीं जा रहे
जांचें कि:
- वेरिएबल नाम बिल्कुल मेल खाते हैं (केस-सेंसिटिव)
- वेरिएबल्स डबल कर्ली ब्रेसेस का इस्तेमाल करते हैं:
{{ variable_name }} - वेरिएबल्स आपके dynamic_variables ऑब्जेक्ट में शामिल हैं
टाइप एरर्स
सुनिश्चित करें कि:
- वेरिएबल वैल्यूज़ अपेक्षित टाइप से मेल खाती हैं
- वैल्यूज़ सिर्फ़ स्ट्रिंग्स, नंबर्स या बूलियन्स हैं