---
title: "Conversations"
url: "/conversations"
description: "Read what your agents and customers said, take over a live chat, and diagnose why an agent answered the way it did."
productArea: conversations
audience: ["business-user", "admin"]
tags: ["conversations"]
lastReviewed: 2026-08-26
---

# Conversations (/conversations)





Every exchange between an agent and a [contact](/contacts) is recorded as a conversation. Find
them in the **Inbox** in the dashboard, on a contact's record, or on an agent's read-only
**Conversations** tab. The Inbox groups them into
queues — Needs Attention, Live, Mine, All and Resolved — which are filters over the same list
rather than separate pages.

The list carries a **Summary** column: a short recap written once the conversation has ended, so
several sessions from the same contact can be told apart without opening each one. It stays blank
while a conversation is still running, and — like the trace below — it is shown to workspace
owners and admins only, since a recap says what was asked and what was answered. Members see the
rest of the row.

## What a conversation shows [#what-a-conversation-shows]

* Every message, in order, with timestamps
* Which agent answered, and on which [channel](/channels)
* Any [tools](/skills-and-tools/tools) the agent called, with their arguments and results
* Attachments the contact sent, and files the agent sent back
* Whether a human took over

## Taking over a live conversation [#taking-over-a-live-conversation]

When an agent cannot help — or a customer asks for a person — your team can step in.

1. Open the conversation.
2. Select **Take over**. The agent stops responding.
3. Reply directly as yourself.
4. Select **Release** to hand control back.

An agent can also request this itself. When it escalates, your team is notified and the
conversation is flagged for attention.

<Callout type="info">
  After you release a conversation, the agent picks up from the last unanswered message. It can see
  what you said while you were in control, so it will not repeat information you already gave.
</Callout>

## Diagnosing an answer [#diagnosing-an-answer]

When an agent answers wrongly, the conversation view is where you find out why. For a given
turn you can see:

* **Which knowledge was retrieved** — if the right passage was not retrieved, the problem is
  your [knowledge source](/knowledge), not the model
* **Which tools ran** — and what they returned
* **Whether a guardrail intervened** — an off-topic refusal or a failed response validation looks
  like a bad answer but is the agent working as configured

That distinction matters: retrieval problems are fixed by editing content, guardrail refusals by
changing [guardrail settings](/guardrails), and genuinely wrong reasoning by changing the
[prompt files](/agents/core-prompt-files) or the model.

### Where the time went [#where-the-time-went]

The activity timeline names each step by what the agent did — "Searching knowledge base",
"Gathering background information", "Checking the weather" — and shows the gap to the next step, so
a slow answer can be traced to the step responsible rather than guessed at. Steps are ordered by
when they happened, and gaps are not shown across a run boundary.

What a contact sees of this is controlled by the agent's activity display mode, which is separate
from what you see here.

### Trace view [#trace-view]

When the timeline is not enough, open the **Trace** tab. It shows the same conversation without
anything hidden — including the turns where the agent only called tools and said nothing, which the
message view leaves out. Dashboard chat has its own **View trace** action in the chat menu, so you
can check what an agent did without leaving the conversation you are having with it. For each turn
you get:

* **Every tool call**, with the exact arguments the agent sent and the result it received back —
  the same text the model saw, not a summary of it
* **Whether each call succeeded**, so a wrong answer caused by a failed lookup is distinguishable
  from one caused by bad reasoning
* **Which model answered** and how many tokens the turn used
* A summary of the conversation's **interactions** and total tokens — interactions are the unit you
  are billed in, see [interaction counting](/reference/interaction-counting)

Model and token figures are only recorded on some channels. Turns that came through Telegram,
WhatsApp or a [scheduled task](/scheduled-tasks) show a dash instead — the answer itself is
complete, only the per-turn measurements are missing.

Where an agent revealed an encrypted field, the trace shows a placeholder in place of the value.
That is what the agent itself received — the real value is put into its reply afterwards, and
only there. See [revealing an encrypted value](/data-tables#revealing-an-encrypted-value).

**Export** saves the whole trace as **Markdown**, for reading or attaching to a bug report, or as
**JSON** for feeding into your own tooling. Both include the tool calls and annotations.

<Callout type="info">
  The trace is limited to workspace owners and admins, because it exposes raw tool arguments and
  message content. Every time it is opened, that is recorded in the security audit log along with
  who opened it. See [security and privacy](/organization/security-and-privacy).
</Callout>

### Ask the assistant to diagnose it [#ask-the-assistant-to-diagnose-it]

Instead of reading the trace yourself, you can ask the
[in-dashboard assistant](/troubleshooting/support#in-dashboard-assistant) — "why did the agent get
this wrong?", or hand it a conversation and ask what happened. It reads the trace and tells you
which of the usual causes it was: unclear instructions, a knowledge gap, the wrong tool arguments,
a missing tool grant, or genuinely wrong reasoning.

From there it proposes a [change set](/agents#editing-with-the-assistant) to fix the agent, and can
save the conversation as a regression case so the same failure is caught next time — see
[reviewing a run with the assistant](/evaluations#reviewing-a-run-with-the-assistant). This is
owner/admin only, like the trace itself, and every read is recorded the same way.

## When conversations end [#when-conversations-end]

A conversation ends when it is explicitly closed, or after a period of inactivity set per
channel and per agent. Once it ends:

* It stops accepting new messages — the contact's next message starts a fresh conversation
* It becomes eligible for [memory](/memory) extraction, if memory is enabled
* A summary is generated

## Attachments [#attachments]

Files and images a contact sends are stored and linked to the conversation. Each attachment
counts towards your usage — see [interaction counting](/reference/interaction-counting).

## Related pages [#related-pages]

* [KlicForge Inbox](/conversations/inbox) — handle live conversations from your phone
* [Contacts](/contacts)
* [Channels](/channels)
* [Memory](/memory)
* [Troubleshooting](/troubleshooting)
