Session viewer

The Session viewer is the room where you debug your agent. Every conversation is recorded as a timeline with the transcript, sentiment, tool calls, latency breakdown, and (on voice / video) the original media, synced to the millisecond.

Timeline

The timeline at the top of the viewer shows speaker turns, tool calls, sentiment shifts, and any escalation events. Scrub it like a video player, the transcript and audio scroll together. When you click a tool call you see the input, output, and duration inline.

Replay

Voice and video sessions can be replayed in the browser. Audio is mixed (caller / agent on separate channels), captions render alongside the transcript, and tool calls are highlighted in the timeline as they fire. Replay is the fastest way to catch turn-taking issues.

Sentiment

Sentiment is computed turn-by-turn (caller side) on a -1…+1 scale. The viewer shows a sparkline; analytics rolls it up to per-agent averages and per-version A/B comparisons. Sudden negative dips are usually where you need to fix a prompt.

Programmatic access

sessions-list.ts
const { items } = await saaya.sessions.list({
  agentId: "agt_2N3rH...",
  since:   "2026-04-01",
  filter:  { sentiment: { lt: -0.4 } },
  limit:   50,
});

for (const s of items) {
  const full = await saaya.sessions.get(s.id);
  // …feed transcripts into your evals
}

Exports

Use `sessions.exports` to push a batch of sessions out as JSONL or CSV, for warehousing, eval pipelines, or QA review. Exports respect your residency region; bytes never leave your region without an explicit cross-region export request.

Triage tip

When something feels off in production, sort the session list by lowest sentiment for the last 24h and watch the bottom 10. You will diagnose the regression in minutes.
Was this page helpful?