# Read the logs

Logs are the conversations users had with a Web Agent, turn by turn, and the errors those conversations produced. Read them to see why the agent answered what it answered: the actions it ran, their input and output, the model and the version.

## Find a conversation

To open the logs of an agent:

1. In the portal, go to [**Web Agents**](https://auth.faustine.ai/go?to=%2Fweb-assistants) and select your agent.
2. Select the **Monitoring** tab.

The four figures at the start are **Conversations**, **Errors**, **Error rate** and **Avg latency** for the time range selected in **Time**.

**Conversations** lists the conversations, most recent first. Each row shows the conversation's title, the user and, when a turn failed, the error code. To narrow the list:

| Control | What it filters |
| --- | --- |
| Search | The conversation's title, the user's email or the visitor ID. |
| **Status** | **Successful** or **Errors only**. |
| **Error code** | **Rate limited**, **Tool error**, **Timeout**, **Auth error** or **Context overflow**. |
| **Time** | **Last hour**, **Last 6 hours**, **Last 24 hours**, **Last 7 days** or **Any time**. |

## Who the user is

The row shows the first of these that the conversation has: the user's email, name, your ID for the user, or `Anonymous` with the visitor ID of the browser.

| Badge | Meaning |
| --- | --- |
| **Verified** | The identity came in a token signed by your backend. |
| **Unverified** | Your app passed the values to `identify` without a token. Anyone can send any value. |
| No badge | The app did not identify the user. |

See [Identity verification](https://docs.faustine.ai/web-agents/identity-verification/).

## Read a conversation

To open the transcript, select the row. The header shows:

- **Success**, or the error.
- The model and the version of the agent that answered. Version 5 is shown as `SDK v5`.
- The time the agent spent answering, added over the conversation, and the tokens used.
- The conversation's ID, with a control to copy it.

The transcript shows each message. Where the agent ran something, such as an action, the transcript shows a row with its name. To see what the agent sent and what came back, select the row and read **Input** and **Output**. A step that failed is marked `error`. Long values are cut and say how many characters are missing.

A microphone mark on a conversation means it has spoken turns.

To have the Advanced editor look into a conversation, select **Audit in an interactive session**. The editor opens with that conversation, checks it for failed actions and proposes a fix.

## Read the errors

**Errors** lists every failed turn with its message, the conversation, the visitor, the model and the HTTP status. A failure appears here even when its turn is not in the transcript. To open the conversation an error belongs to, select **View conversation**.

## Troubleshooting

| Symptom | Cause | Fix |
| --- | --- | --- |
| A conversation is missing | A filter excludes it. | Set **Time** to **Any time** and **Status** to **All statuses**. |
| The user shows as `Anonymous` and your app calls `identify` | **Enforce verification** is on and the call sends no token, or the token did not verify. | See [Enforce verified identity](https://docs.faustine.ai/web-agents/enforce-verified-identity/). |
| A conversation ran on an older version than the one you published | The page loads an environment that serves that version. | [Deploy the version to that environment](https://docs.faustine.ai/web-agents/deploy-a-version/). |

## Next steps

- [Activity](https://docs.faustine.ai/web-agents/activity/): what Faustine did with the agent, as opposed to what users did.
- [Generate and run a test suite](https://docs.faustine.ai/web-agents/run-a-test-suite/): check the actions before users reach them.
- [Monitoring](https://docs.faustine.ai/workspace/monitoring/): logs and errors across every agent of the workspace.
