Skip to main content

Concepts

Why Parlot

Parlot treats production voice agents as event systems first and traces second. OpenTelemetry spans are the durable audit log. The platform turns those spans into sessions, turns, interaction graphs, and goal evaluations.

Packages

PackageRole
parlot-coreSemantic conventions, base processor, UUID v7 session ids
parlot-instrumentation-livekitLiveKit Agents OTel instrumentation, egress hooks, platform refs

Import from instrumentation packages in agent code — not from parlot-core directly.

Session and agent identity

  • A session is one bounded interaction (a call / job).
  • configure(agent_id=..., version=...) stamps deployment identity used by the Parlot Agents portfolio.
  • Version resolution order: configure(version=)__main__.__version__PARLOT_AGENT_VERSION → local git SHA (dev only).

Under LiveKit dev / job workers, prefer explicit configure(version=...) or PARLOT_AGENT_VERSION.

Recording vs telemetry

  • Telemetry (turns, handoffs, close, usage) always goes over OTLP to PARLOT_ENDPOINT.
  • Audio recording uses LiveKit Room Composite Egress to R2; webhooks confirm upload. Telemetry does not depend on webhooks.

See the LiveKit guide for the full checklist.