Agentic Data Plane

See What Your Agent Did

Use an agent’s transcripts to read a record of each conversation, turn by turn. Each transcript captures the conversation between the user, the agent, any LLM calls, and any tools it invoked, along with token usage, latency, and any errors.

How much of that a transcript holds depends on the agent’s transcript recording mode: an agent set to record metadata only keeps the conversation’s shape without its content, and an agent with recording off produces no transcripts at all.

For conceptual background on the underlying OpenTelemetry data model, see How Observability Works.

After reading this page, you will be able to:

  • Open a transcript from an agent’s Transcripts tab

  • Read a transcript as a turn-by-turn conversation, including tool calls and token usage

  • Investigate errors and slow turns from the transcript detail view

Prerequisites

  • A running agent with at least one execution.

  • Access to read transcripts, from an access policy granting the Transcript actions, or from the Admin role. No other built-in role grants transcript reads.

Open an agent’s transcripts

  1. Open Agents in the sidebar and select the agent.

  2. Open the Transcripts tab.

The tab lists the agent’s recent conversations, one row per conversation.

Read the transcripts list

Each row represents one conversation. Columns include:

  • Conversation: The conversation ID, with the conversation title when one exists.

  • Started: When the conversation began.

  • Duration: End-to-end wall-clock time.

  • Turns: Number of turns in the conversation.

  • Status: Completed, Error, or Running.

  • Tokens: Total tokens across the conversation.

Select the Started, Duration, Turns, or Tokens column header to order the list by that value, newest or largest first. The order applies to the whole list rather than the page on screen, and it’s kept in the page URL, so a sorted view is shareable. The Conversation and Status columns don’t sort. Through the API, pass one of start_time, duration, turn_count, or usage.total_tokens as the order_by value on ListTranscripts, optionally with asc or desc. The default is start_time desc.

A transcript can contain reconstructed turns: turns rebuilt from LLM message context after the original spans were evicted from redpanda.otel_traces. See Reconstructed transcript history for what that means.

Filter the list

  • Use the search box to match against a conversation ID or title.

  • Use the status dropdown to narrow the list to Completed, Error, or Running conversations.

The list is paged, with a rows-per-page selector in the footer. Use the page controls to move through older conversations, and use the refresh control to pick up new ones.

Open a transcript

Click any row to open the conversation detail view. The view has two parts: a summary header and the conversation.

Summary header

The summary header reports:

  • The conversation ID and a status badge (Completed, Error, or Running).

  • The start time, end-to-end duration, and turn count.

  • A total-tokens chip.

  • A Chat / Detailed view toggle. Chat shows the user-visible exchange; Detailed adds per-turn metadata such as latency, token splits, and tool calls.

If the conversation ended with a top-level error, an error notice appears at the start of the conversation, with the underlying message behind an Error details control. See Errors.

Read the conversation

The conversation is grouped into turns. A turn pairs a user message with the agent’s response and any tool calls the agent made to answer it. When a system prompt was recorded, it appears in its own block at the start of the conversation.

Detailed view shows each turn as a card with the user message, the agent’s response, and a side panel. The side panel lists the turn’s tool calls, each with a status indicator and its duration, followed by the turn’s metrics: its latency, its LLM and tool call counts, and its input and output token totals.

Chat view reads the turns as a message thread between the user and the agent, with each turn’s tool calls shown as labeled indicators above the agent’s response.

Each tool call is labeled with the name the model called. For a tool served by an MCP server, that name includes the server it came from, such as servicenow__lookup_user. Tool calls that do not go through an MCP server, such as an agent delegating to a subagent, appear the same way.

A turn may have been reconstructed. A reconstructed turn preserves the order and high-level content of the conversation but does not carry per-turn token counts, latency, or tool-call detail; the Transcripts API marks it with is_reconstructed, and the UI shows no visible indicator. See Reconstructed transcript history for the mechanics.

Errors

A conversation that ended in failure shows an Error status badge in the summary header.

When the failure happened at the conversation level, for example an upstream model or tool call that failed partway through, a Conversation couldn’t be completed notice appears at the start of the conversation. It says whether the conversation stopped early, in which case the recorded transcript may be incomplete, or stopped before any turns were recorded, in which case there is no conversation to read.

The notice leads with what happened rather than the error text. Click Error details to see the underlying message. That dialog also has Copy details, for pasting the message into a bug report or a support request.

A tool call that failed shows an error status indicator on that tool call in its turn.

Common investigation tasks

These workflows cover the most frequent reasons to open a transcript.

Debug errors

  1. Set the status dropdown to Error.

  2. Open the failing transcript, read the conversation-level error notice for what happened, and click Error details for the underlying message.

  3. If the conversation recorded turns, find the turn or tool call marked with an error status, then read that turn’s user message and agent response for context.

Investigate performance issues

  1. Select the Duration column header to bring the slowest conversations to the top.

  2. Open a slow transcript, switch to the Detailed view, and scan the per-turn latency to find the bottleneck turn.

  3. For tool-bound bottlenecks, compare the durations of the turn’s tool calls in the side panel to find the slow call.

Analyze tool usage

Open a transcript in the Detailed view to read each turn’s tool calls in its side panel, with the tool name, a status indicator, and the call’s duration. Each tool call is grouped with the turn whose response it produced, including tool calls that do not go through an MCP server, such as an agent delegating to a subagent.

Monitor LLM interactions and cost

The transcript shows token usage per turn. For spend analysis across agents, models, and users, open Cost & Usage in the sidebar (see Analyze Cost and Usage), or use breakdown queries through SpendingService.

Limitations

  • The list loads in pages from most recent backward. If the conversation you need is old, keep loading more pages or search by its conversation ID.

  • Reconstructed turns do not carry token counts, latency, or tool-call arguments for the reconstructed range. For byte-level fidelity, lower the ingestion lag or extend redpanda.otel_traces retention (see How Redpanda stores trace data).

Troubleshooting

Symptoms you might hit in the transcript list, and what they mean.

Transcript stuck in RUNNING

A transcript stays in RUNNING until the root span closes. Common causes:

  • The agent or MCP server is still executing (this is normal: Wait, or open a newer transcript).

  • The root span never flushed because the process was killed mid-execution. Expect this to resolve after the OTLP ingestion lag clears; if it doesn’t after several minutes, the trace is likely orphaned.

Every turn is missing token counts, latency, and tool detail

When a whole conversation shows no per-turn metrics, its turns were reconstructed. Reconstruction happens when the original spans have been evicted from redpanda.otel_traces. Causes:

  • Retention on redpanda.otel_traces is aggressive relative to how long the conversation has been running.

  • OTLP ingestion fell behind and the span was dropped before it reached the topic.

For long-running conversations, accept some reconstruction; for short conversations whose turns are all reconstructed, investigate ingestion and retention.

Transcript missing entirely

  • Confirm the agent or MCP server actually ran: Check its logs and the corresponding session or task topic.

  • For a self-managed agent, confirm the agent is exporting spans and they pass validation: Check the validation log at the bottom of the agent’s Setup tab, then the exporter-side checks in Validate ingestion. An export authorized with a token that isn’t the agent’s own credential is rejected without appearing in that agent’s validation log.

  • Confirm your user can read transcripts. Outside the Admin role, transcript reads come from an access policy naming the Transcript actions. Check the Access page for a policy that covers your user or one of its groups, and for a forbid that overrides it. See Transcript permissions.

  • Confirm the feature flag enabling transcripts is on for your environment.