Skip to Content
AI AgentsAI Logs & Traces

AI Logs & Traces

When something goes wrong on a conversation, the trace tells you why. Omniflow keeps a structured log of every turn, every tool call, every retrieval, and every transfer β€” searchable, exportable, and tied to the customer transcript.

Everything lives in AI Logs, across every agent. Each agent used to have its own activity page as well; it showed the same run traces one agent at a time, so it has been removed and its links now open AI Logs.

What’s in a trace

A trace is a tree of events for one conversation:

Conversation #c_8a2f β”œβ”€ turn:user "I need to change my flight" β”œβ”€ retrieval 5 chunks from "Booking changes" article β”œβ”€ turn:agent "Sure β€” what's your booking reference?" β”œβ”€ turn:user "PNR ABC123" β”œβ”€ tool:lookup_booking args={pnr:"ABC123"} β†’ ok (412ms) β”œβ”€ turn:agent "Found it. What date works?" β”œβ”€ turn:user "Friday" β”œβ”€ tool:rebook_flight args={pnr:"ABC123",date:"2026-05-09"} β†’ ok (1.2s) └─ turn:agent "Done β€” confirmation sent."

Every event has a timestamp, latency, model used, token counts (where applicable), and a link to the raw provider response.

Common things to look for

SymptomWhere to look
Agent gave a wrong answerretrieval events β€” was the right chunk in context?
Agent hallucinated a pricetool: events β€” did it actually look the price up?
Agent didn’t transfer when it shouldturn:agent reasoning + the transfer_to_human tool call.
Call ended abruptlyThe last event β€” was it disconnect, transfer-fail, or a tool error?
Latency was highPer-event latency column β€” usually a slow tool.

AI Logs has a global search and a structured filter bar:

  • By outcome β€” successful, transferred, escalated, dropped.
  • By agent β€” narrow to a specific agent’s calls.
  • By tool β€” find every conversation that hit lookup_booking.
  • By keyword β€” search transcripts.
  • By date / channel / language.
  • By traffic β€” Real only, Tests only, or All traffic.

Test conversations

Testing an agent produces real conversations, and they are labelled so you can tell them from customer traffic:

BadgeWhat made it
Chat testA chat session in the agent preview panel
Voice test callA call started from the preview panel’s Voice tab

Both open like any other log β€” transcript, sentiment, attachments β€” and both are excluded from QA scoring and never raise a ticket. The traffic filter defaults to Real only, so they stay out of the way until you go looking. Switch to Tests only straight after a test run to find yours.

The contact on a test conversation is the person who ran it, shown by name with their workspace role beneath β€” not their email address, which would read like a customer’s.

Traces are retained for 90 days by default. Export to CSV or stream to your data warehouse via the API for longer retention.

Replays

Click any conversation to open the replay β€” synchronized audio (for voice), transcript, and trace events on a single timeline. You can scrub, jump to a specific tool call, and play just the part that matters.

Sharing

Internal links are scoped to the workspace. To share a trace with engineering or a customer, use Export to generate a redacted, signed URL that expires in 24 hours. PII is masked automatically based on workspace settings.

Don’t paste raw traces into Slack or email. Use the export feature so the link expires and PII is masked.

Programmatic access

Every trace is also available via the API:

GET /api/v1/conversations/{id}/trace

See the API reference for parameters and the response schema.

Open in Omniflow

If you want to…Go to
Debug runtime errorsTroubleshooting
Score a conversation in QAScorecards
Export traces to your warehouseAPI Reference