OpenTelemetry ट्रेस
OTLP JSON के रूप में OpenTelemetry ट्रेस को अपने ऑब्ज़र्वेबिलिटी स्टैक में एक्सपोर्ट करें।
ElevenLabs Agents बातचीत को OpenTelemetry ट्रेस के रूप में एक्सपोर्ट कर सकते हैं, जो OTLP JSON (resourceSpans) में एन्कोड होते हैं। इन्हें Datadog, Grafana Tempo, Honeycomb या OTLP लेने वाले किसी भी बैकएंड पर फ़ॉरवर्ड करें।
ElevenLabs ट्रेस को सीधे आपके OTLP कलेक्टर पर नहीं भेजता। आपको वेबहुक, API या मॉनिटरिंग WebSocket से OTLP के अनुरूप JSON मिलता है, जिसे आप अपने बैकएंड पर फ़ॉरवर्ड करते हैं।
जानकारी
तीन स्रोतों से ट्रेस एक्सपोर्ट करें। तीनों में हर बातचीत के लिए एक ही trace ID और elevenlabs.* एट्रिब्यूट नाम होते हैं। पोस्ट-कॉल/GET (ट्रांसक्रिप्ट-आधारित) और मॉनिटरिंग (इवेंट-आधारित) के बीच स्पैन की संरचना और टाइमिंग अलग होती है।
एक्सपोर्ट स्रोत
स्रोत चुनना
- अपने डेटा वेयरहाउस में हर पूरी हुई कॉल: पोस्ट-कॉल वेबहुक
- एक बार का एक्सपोर्ट या सुधार:
format=opentelemetryके साथ GET बातचीत - लाइव सुपरवाइज़र UI या अलर्टिंग: मॉनिटरिंग WebSocket
- बाद में पूरी सटीकता वाली टाइमलाइन: पोस्ट-कॉल वेबहुक या GET बातचीत
- टूल, MCP या गार्डरेल इवेंट, जैसे ही वे हों: मॉनिटरिंग WebSocket
विभिन्न स्रोतों के डेटा को जोड़ने के लिए traceId या elevenlabs.conversation_id का इस्तेमाल करें। लाइव ऑपरेशन के लिए मॉनिटरिंग, टिकाऊ एनालिटिक्स के लिए वेबहुक और बैकफ़िल के लिए GET को मिलाकर इस्तेमाल करें।
हर स्रोत के लिए आपको OTLP-सक्षम कलेक्टर या ऑब्ज़र्वेबिलिटी वेंडर चाहिए। पोस्ट-कॉल वेबहुक के लिए वर्कस्पेस वेबहुक एंडपॉइंट चाहिए। GET API और मॉनिटरिंग WebSocket, दोनों के अपने API की स्कोप और सेटअप हैं; नीचे दिए गए सेक्शन देखें।
पोस्ट-कॉल वेबहुक
बातचीत पूरी होने के बाद, जब पोस्ट-कॉल वेबहुक कॉन्फ़िगर हो, events में transcript शामिल हो और transcript_format opentelemetry हो, तो ElevenLabs एक POST अनुरोध भेजता है।
वेबहुक का type post_call_transcription_otel होता है (post_call_transcription नहीं, जो JSON ट्रांसक्रिप्ट लौटाता है)।
वेबहुक पेलोड
OpenTelemetry ट्रांसक्रिप्ट चालू करें
डैशबोर्ड से कॉन्फ़िगर करें
CLI से कॉन्फ़िगर करें
API से कॉन्फ़िगर करें
वर्कस्पेस वेबहुक बनाएं
ElevenAgents डैशबोर्ड में, अपने HTTPS URL और ऑथेंटिकेशन के साथ एक वर्कस्पेस वेबहुक बनाएं।
पोस्ट-कॉल वेबहुक जोड़ें
Agents settings खोलें, वेबहुक को पोस्ट-कॉल वेबहुक के रूप में असाइन करें, Transcript इवेंट चालू करें और OpenTelemetry transcript payloads ऑन करें।

OpenTelemetry ट्रांसक्रिप्ट वेबहुक में ऑडियो शामिल नहीं होता। अगर आपको
रिकॉर्डिंग चाहिए, तो post_call_audio इस्तेमाल करें।
सफलता के लिए 2xx लौटाएं। 4xx और 5xx को विफलता माना जाता है।
ट्रांसक्रिप्ट (OpenTelemetry समेत) और ऑडियो वेबहुक के लिए रिट्राई केवल तब लागू होते हैं, जब वर्कस्पेस वेबहुक में Enable retries चालू हो। अस्थायी त्रुटियों (** 5xx **, **429 **, **408 **) पर अधिकतम 5 बार रिट्राई होता है; 4xx पर नहीं। बार-बार विफल होने पर वेबहुक अपने-आप बंद हो सकता है। विवरण और HIPAA अपवादों के लिए पोस्ट-कॉल वेबहुक देखें।
डिलीवरी
ट्रेस संरचना
हर डिलीवरी एक पूरा ट्रेस होती है: एक रूट स्पैन और उसके चिल्ड्रन।
एजेंट-रिस्पॉन्स स्पैन में elevenlabs.reasoning_content शामिल होता है, जब डिलीवरी में रीज़निंग सारांश हो।
टाइमिंग ट्रांसक्रिप्ट के time_in_call_secs और कॉल मेटाडेटा से आती है। रूट स्पैन elevenlabs.source = post_call_webhook सेट करता है और जब कॉल सामान्य क्लाइंट डिस्कनेक्ट के साथ खत्म नहीं हुई हो, तो स्टेटस ERROR सेट करता है।
GET बातचीत
पोस्ट-कॉल OpenTelemetry वेबहुक जैसा ही otlp_traces ऑब्जेक्ट पाने के लिए, पूरे बातचीत मॉडल के साथ, Get conversation पर OpenTelemetry फ़ॉर्मैट का अनुरोध करें।
CONVAI_READ वाले API की की ज़रूरत है। format=json (डिफ़ॉल्ट) के साथ otlp_traces शामिल नहीं होता।
संभावित स्पैन नामों में elevenlabs.conversation, elevenlabs.recv.user_transcript और elevenlabs.recv.agent_response शामिल हैं।
मॉनिटरिंग WebSocket
रीयल-टाइम मॉनिटरिंग के लिए Enterprise वर्कस्पेस या realtime-monitoring फ़ीचर फ़्लैग चाहिए।
कॉन्फ़िगरेशन, कंट्रोल कमांड और ऐक्सेस ज़रूरतों के लिए रीयल-टाइम मॉनिटरिंग देखें।
बातचीत जारी रहने के दौरान OTLP JSON के रूप में OpenTelemetry ट्रेस डेटा स्ट्रीम करें। हर संदेश एक छोटा resourceSpans बैच होता है, कॉल खत्म होने के बाद का एक ट्रेस नहीं।
ऑथेंटिकेशन के लिए CONVAI_WRITE, xi-api-key (या Authorization) और एजेंट वर्कस्पेस पर EDITOR ऐक्सेस चाहिए। बातचीत शुरू होने के बाद कनेक्ट करें।
एजेंट पर मॉनिटरिंग चालू करें
कॉल से पहले monitoring_enabled: true सेट करें और monitoring_events कॉन्फ़िगर करें। रीयल-टाइम मॉनिटरिंग देखें।
सेशन प्रोटोकॉल
- ऑथेंटिकेशन हेडर के साथ कनेक्ट करें।
{"type": "connected"}पाएं।- एक रूट स्पैन बैच पाएं (
elevenlabs.conversation,elevenlabs.source=monitoring)। - कैश किया गया इतिहास (करीब पिछले 100 इवेंट) पाएं, फिर
{"type": "history_complete"}। - इवेंट होने पर लाइव स्पैन बैच पाएं।
events_format=json (डिफ़ॉल्ट) के साथ WebSocket resourceSpans की जगह रॉ क्लाइंट इवेंट लौटाता है। कंट्रोल कमांड रीयल-टाइम मॉनिटरिंग से मेल खाते हैं।
ट्रेस संरचना
स्ट्रक्चर्ड इवेंट समर्पित एट्रिब्यूट से मैप होते हैं (उदाहरण के लिए elevenlabs.user.text, elevenlabs.agent.text)। अज्ञात इवेंट ट्रंकेट किए गए JSON के साथ elevenlabs.event.data इस्तेमाल करते हैं।
यह न मानें कि इवेंट क्रम बोलने के क्रम से मेल खाता है। लाइव स्पैन को पोस्ट-कॉल डेटा से उसी
traceId के ज़रिए कोरिलेट करें।
कनेक्शन उदाहरण
OTLP JSON संरचना
सभी स्रोतों के OpenTelemetry ट्रेस एक ही OTLP JSON बैच लेआउट साझा करते हैं:
सीमाएं
- आपके OTLP gRPC एंडपॉइंट पर कोई सीधा पुश नहीं।
- पेलोड OTLP एक्सपोर्ट जैसे JSON होते हैं, नेटवर्क पर रॉ protobuf नहीं।