> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firetone.com.au/llms.txt
> Use this file to discover all available pages before exploring further.

# Conversations

> What was said on a call, as text, with a post-call review that flags what an AI agent should not have said.

**Conversations** is the transcript of what happened on a call: turn by turn,
with a summary, who handled it, and what it cost.

Despite appearances this is not an AI screen. A call a person took is a
conversation with the customer as much as one a model took; the human rows
simply have no provider against them.

It is read-only, and so is the API behind it. A conversation is a record of
what happened, and an editable transcript is not one.

## The list

| Column                 |                                             |
| ---------------------- | ------------------------------------------- |
| **When**, **Customer** |                                             |
| **Handled by**         | the provider and model, or a human badge    |
| **Profile**            | which virtual agent took it                 |
| **Summary**            | what the call was about                     |
| **Turns**, **Tokens**  | how long the exchange was, and what it drew |
| **Cost**               | what the call was charged                   |

Filter by direction, by whether a human or a virtual agent handled it, and by
**review**.

## The review, and the two things it flags

When a conversation ends, the whole transcript is read back against the
profile that took the call. It is a check on the agent, not on the customer.

| Flag                 | What it means                                                                  |
| -------------------- | ------------------------------------------------------------------------------ |
| **Competitor named** | an agent turn named one of the profile's competitors                           |
| **Never searched**   | the agent answered several questions without once searching its knowledge base |

The first is the failure the competitor list exists to prevent, and a
business that took the trouble to name competitors wants to hear about it
without reading transcripts. A **caller** naming a competitor is not flagged;
only the agent doing it is.

The second is a grounding check. Where the knowledge base is too large to
hand to the model whole, the agent is meant to search it, so several answers
and no search means whatever it said came from somewhere else. An agent that
only said hello and goodbye had nothing to look up and is not flagged.

Both are also logged at warning level when they happen, because neither is a
detail on a working path.

## Who sees what

|                                 | Needs                |
| ------------------------------- | -------------------- |
| read a conversation             | `conversations:read` |
| see what it was **charged**     | `billing:read`       |
| see what it **cost** underneath | `margin:read`        |

An agent holds the first and neither of the others, so the money columns are
empty for them. They read a conversation to do their job; what it cost their
employer is not part of that job. An agent also sees only the conversations
they handled.

Reading a transcript is deliberately separate from playing the recording.
Searchable text of every word and a person's recorded voice are different
disclosures, and the permissions match.

## While the call is still up

The transcript of a call in progress is reachable from the agent's own
screen, not from here. This list is built on finished calls, and a call has
no record here until it ends — which is exactly the moment an agent taking a
handover most needs to know what the AI already said.

## How long transcripts are kept

**365 days**, set per organisation. It is the one retention window that
carries a default, and that is a default rather than a recommendation — see
[recording and what is kept](/guides/recording-and-retention).
