Skip to main content
VoltAgent ships its own observability layer. Plug an OTLP exporter into VoltAgentObservability, then pass userId / conversationId per call.
VoltAgent traces can include prompts, completions, tool inputs, and tool outputs. Review Data Governance before enabling production traffic.

1. Install

Already have @voltagent/core and @opentelemetry/exporter-trace-otlp-proto? Skip. No setup yet?

2. Wire the OTel exporter pointing at Agnost

Already have VoltAgentObservability? Append a span processor for Agnost to the existing spanProcessors array:
No Observability yet? Full setup:

3. Pass userId / conversationId per call

VoltAgent maps userIduser.id and conversationIdconversation.id on every span: both read directly by Agnost for user / session grouping.

What appears in Agnost

  • Conversations grouped by conversationId.
  • User-level analytics grouped by userId.
  • Raw logs for every exported span.

Verify

Run one agent.generateText call, then open Raw logs and confirm the span arrived.

Troubleshooting

  • Confirm your BatchSpanProcessor is attached to VoltAgentObservability.
  • Confirm X-Agnost-Org-ID is set on the exporter.
  • Confirm userId and conversationId are passed per call.

References