Analytics

Conversation analytics, telemetry, and data storage in Speaknode

Speaknode captures detailed data about every conversation for analysis and monitoring.

Conversation History

Every agent session is recorded with:

  • Session metadata — agent, caller, start/end time, duration, status
  • Audio recording — full session audio stored in object storage
  • Transcription — text transcript of the conversation
  • Telemetry spans — detailed OpenTelemetry traces of every step

Session List

Browse all conversations with filters:

  • By agent
  • By status (completed, failed, active)
  • By date range
  • By caller information

Session Detail

For each session you can view:

  • Full conversation transcript with turn-by-turn breakdown
  • Audio playback with waveform visualization
  • Timing metrics per turn (latency, duration)
  • Tool calls made during the session
  • Error details (if failed)

Live sales analysis

The same machinery applies to recordings of human sales calls: an uploaded recording becomes a dialogue with roles and is scored against a set of characteristics — talk share, script compliance, objection handling, whether a next step was agreed.

  • Upload — audio, audio with a ready transcript, or a transcript alone; in batches or as a ZIP archive from your telephony provider
  • Transcription with diarization — an external service splits the recording into utterances with roles and timecodes
  • Characteristics — computed metrics come from the backend, judged ones from a language model, every score carrying a justification and a quote
  • Reports — aggregations by rep, by date, by company; saved views and a team dashboard

Agent conversations and human recordings live in the same entity and are measured by the same metrics — a bot and a live rep compare directly.

See Call Analytics for details.

Telemetry & Tracing

The platform uses OpenTelemetry for end-to-end tracing:

User speaks → STT span → LLM span → Tool call span → TTS span → User hears

Each conversation is a trace containing spans for every operation:

  • Span name — operation type (STT, LLM inference, tool call, TTS)
  • Duration — how long each step took
  • Status — success or error
  • Attributes — tags and metadata
  • Events — detailed events within the span

Telemetry Pipeline

Python Worker → OTEL Collector → Kafka → ASP.NET Consumer → Database
                                      → Langfuse (internal observability)

Data Storage

DataStorage
Session metadataPostgreSQL
Audio recordingsS3-compatible object storage
Telemetry spansPostgreSQL (via Kafka)
Analytics aggregationsClickHouse
LLM tracesLangfuse

On this page