OpenTelemetry-traces
Exporteer OpenTelemetry-traces als OTLP JSON naar je observability-stack.
ElevenLabs Agents kan gesprekken exporteren als OpenTelemetry-traces, gecodeerd als OTLP JSON (resourceSpans). Stuur ze door naar Datadog, Grafana Tempo, Honeycomb of een andere backend die OTLP verwerkt.
ElevenLabs stuurt traces niet rechtstreeks naar je OTLP-collector. Je ontvangt JSON in OTLP-indeling via een webhook, API of monitoring-WebSocket en stuurt die door naar je backend.
Overzicht
Exporteer traces via drie manieren. Alle drie gebruiken dezelfde trace-ID per gesprek en de naamgeving voor attributen elevenlabs.*. De vorm en timing van spans verschillen tussen na het gesprek/GET (op basis van het transcript) en monitoring (op basis van gebeurtenissen).
Exportmethoden
Een methode kiezen
- Elk voltooid gesprek in je datawarehouse: webhook na gesprek
- Eenmalige export of herstel: GET conversation met
format=opentelemetry - Live supervisor-UI of waarschuwingen: monitoring-WebSocket
- Tijdlijn met volledige details achteraf: webhook na gesprek of GET conversation
- Tool-, MCP- of guardrail-gebeurtenissen op het moment dat ze plaatsvinden: monitoring-WebSocket
Gebruik traceId of elevenlabs.conversation_id om gegevens van verschillende methoden te koppelen. Combineer monitoring voor live activiteiten, webhooks voor duurzame analyses en GET voor backfill.
Voor elke methode heb je een OTLP-compatibele collector of observability-provider nodig. Webhooks na gesprekken vereisen een webhookendpoint voor de workspace. De GET API en monitoring-WebSocket hebben elk hun eigen API-keyscopes en configuratie; zie de onderstaande secties.
Webhook na gesprek
Nadat een gesprek is afgerond, verstuurt ElevenLabs een POST-request wanneer een webhook na het gesprek is geconfigureerd, events transcript bevat en transcript_format is ingesteld op opentelemetry.
Het webhook-type is post_call_transcription_otel (niet post_call_transcription, dat JSON-transcripten retourneert).
Webhookpayload
OpenTelemetry-transcripten inschakelen
Configureren via het dashboard
Configureren via de CLI
Configureren via de API
Een workspace-webhook maken
Maak in het ElevenAgents Dashboard een workspace-webhook met je HTTPS-URL en authenticatie.
De webhook na het gesprek koppelen
Open Agents-instellingen, wijs de webhook toe als webhook na het gesprek, schakel de gebeurtenis Transcript in en zet OpenTelemetry-transcriptpayloads aan.

OpenTelemetry-transcriptwebhooks bevatten geen audio. Gebruik post_call_audio als je
opnamen nodig hebt.
Retourneer 2xx bij succes. 4xx en 5xx gelden als fouten.
Opnieuw proberen geldt alleen voor transcriptwebhooks (inclusief OpenTelemetry) en audiowebhooks wanneer Opnieuw proberen inschakelen is ingeschakeld voor de workspace-webhook. Bij tijdelijke fouten (** 5xx **, **429 **, **408 **) wordt maximaal 5 keer opnieuw geprobeerd; bij 4xx niet. Herhaalde fouten kunnen de webhook automatisch uitschakelen. Zie Webhooks na gesprekken voor details en HIPAA- uitzonderingen.
Bezorgen
Tracevorm
Elke levering is één volledige trace: een root span met onderliggende spans.
Spans voor agentreacties bevatten elevenlabs.reasoning_content wanneer de levering een redeneersamenvatting bevat.
De timing is gebaseerd op time_in_call_secs van het transcript en gespreksmetadata. De root span stelt elevenlabs.source in op post_call_webhook en de status op ERROR wanneer het gesprek niet eindigde met een normale clientverbinding die werd verbroken.
GET conversation
Vraag OpenTelemetry-indeling aan via Get conversation om hetzelfde otlp_traces-object te ontvangen als via de OpenTelemetry-webhook na het gesprek, plus het volledige gespreksmodel.
Hiervoor heb je een API-sleutel met CONVAI_READ nodig. Met format=json (standaard) wordt otlp_traces weggelaten.
Verwachte spannamen zijn onder meer elevenlabs.conversation, elevenlabs.recv.user_transcript en elevenlabs.recv.agent_response.
Monitoring-WebSocket
Realtime monitoring vereist een Enterprise-workspace of de featureflag realtime-monitoring.
Zie Realtime monitoring voor configuratie,
besturingscommando’s en toegangsvereisten.
Stream OpenTelemetry-tracegegevens als OTLP JSON terwijl een gesprek bezig is. Elk bericht is een kleine batch resourceSpans, geen enkele trace aan het einde van een gesprek.
Authenticatie vereist CONVAI_WRITE, xi-api-key (of Authorization) en EDITOR-toegang tot de workspace van de agent. Maak verbinding nadat het gesprek is gestart.
Monitoring inschakelen voor de agent
Stel monitoring_enabled: true in en configureer monitoring_events vóór het gesprek. Zie Realtime monitoring.
Verbinden met OpenTelemetry-indeling
Voeg events_format=opentelemetry toe aan de URL van de monitoring-WebSocket.
VAD-, beurtwaarschijnlijkheids- en pinggebeurtenissen zijn niet beschikbaar wanneer aangepaste monitoring_events zijn
geconfigureerd. De stream bevat alleen tekst en metadata, geen ruwe audio.
Sessieprotocol
- Maak verbinding met authenticatieheaders.
- Ontvang
{"type": "connected"}. - Ontvang een root-spanbatch (
elevenlabs.conversation,elevenlabs.source=monitoring). - Ontvang de gecachte geschiedenis (ongeveer de laatste 100 gebeurtenissen), gevolgd door
{"type": "history_complete"}. - Ontvang live spanbatches wanneer gebeurtenissen plaatsvinden.
Met events_format=json (standaard) retourneert de WebSocket onbewerkte clientgebeurtenissen in plaats van resourceSpans. Besturingscommando’s komen overeen met Realtime monitoring.
Tracevorm
Gestructureerde gebeurtenissen worden gekoppeld aan specifieke attributen (bijvoorbeeld elevenlabs.user.text, elevenlabs.agent.text). Onbekende gebeurtenissen gebruiken elevenlabs.event.data met afgekapt JSON.
Ga er niet van uit dat de volgorde van gebeurtenissen overeenkomt met de spreekvolgorde. Koppel live spans aan gegevens na het gesprek met
dezelfde traceId.
Voorbeeldverbinding
OTLP JSON-structuur
OpenTelemetry-traces van alle methoden gebruiken dezelfde OTLP JSON-batchindeling:
Beperkingen
- Geen rechtstreekse verzending naar je OTLP gRPC-endpoint.
- Payloads zijn JSON in de vorm van OTLP-export, niet onbewerkte protobuf via de verbinding.