Search every active conversation, filter it by behaviour or analysis, and inspect its transcript, runs and interactions.
Threads is the conversation list. It starts with the active threads in the selected range, then lets you narrow the list by what people discussed, how they reacted and what the project's analysis found.

Search the conversation list
Archived threads are hidden. The activity strip, facet counts and rows all request archived: false, so an archived conversation cannot add to a count while being absent from the table. The volume strip shows threads in each time bucket. Select a bar to narrow the list to that bucket.
Search matches a thread title or a full text match over stored message content. The sort choices are Updated, Created and Last message. Updated, newest first, is the default.
The table has Title, User and Updated columns and loads 50 rows at a time. Export appears on plans that include exports.
Filter by conversation and behaviour
The filter bar shows a facet only when it has options in the selected range. Its values describe active, nonarchived threads.
| Facet | Values and reading |
|---|---|
| Topic | Analysed nonjunk topics, ordered by count. |
| Task | Analysed tasks. |
| Satisfaction | satisfied, mixed, dissatisfied or none, using the rule below. |
| Signal | A multiselect of the 12 interaction and analysis signals below. |
| Sentiment | positive, neutral or negative. |
| Resolved | Resolved or unresolved analysis results. |
| Language | The 12 most common analysed languages. |
| Junk | Hide junk selects nonjunk threads. Only junk selects junk threads. |
| Question | Analysed questions, up to 50 options. |
| Ended on the user's message | Threads whose last message by creation time has the user role. |
| Signal value | Label | Reading |
|---|---|---|
stopped | Stopped | A run_stopped event. |
regenerated | Regenerated | A message_regenerated event. |
copied | Copied | A message_copied event. |
edited | Edited and resent | A message_edited event. |
attachment | Attached a file | An attachment_added event. |
suggestion | Clicked a suggestion | A suggestion_clicked event. |
branch | Switched branch | A branch_switched event. |
approved | Approved a tool | A tool_approved event. |
rejected | Rejected a tool | A tool_rejected event. |
error | Saw an error | An error_shown event. |
no_reply | No reply | The analysis found no assistant messages. |
loop | Repeated or rephrased | The analysis found an exact repeat or a rephrase. |
The satisfaction rule is:
positive = threads.copied OR threads.run_count >= 2
negative = threads.stopped OR threads.regenerated OR threads.edited
satisfied = positive AND NOT negative
mixed = positive AND negative
dissatisfied = negative AND NOT positive
none = NOT positive AND NOT negativeIn dashboard wording, a copy or second turn is positive. A stop, regeneration or edit is negative.
Inspect one thread
Select a row to open its detail page.

The top tiles are Messages, Runs, Cost and Tokens. The rest of the page brings the stored conversation, its reports and its analysis together.
| Section | What it shows |
|---|---|
| Conversation | The rendered transcript. |
| Turns | One row per question with the run that answered it. Open a row for its spans. |
| Satisfaction | The same positive and negative rule used in the list. |
| Analysis | Topic, Task, Phrasing, Sentiment, Resolved, Language, Turns, Repeats, Unanswered question and Classified. |
| Interactions | The engagement events for the thread. |
| Raw messages | The stored messages in their raw form. |
The Details rail has External id, when the thread has one and with a copy control, then Title, which reads how the thread got its name or why it has none, then Created, Last message and Runs. Environment and Release show the distinct values across the thread's runs and link to Runs filtered to that value. Tags are badges that link to Runs filtered to the tag. The Metadata ledger lists the thread metadata and reads No metadata when there is none.
| Title row | Meaning |
|---|---|
| Written by gpt-5.6-luna on the first message in 1.4s | The model, the trigger that titled the thread (on the client's request, on the first message or by the hourly sweep) and how long the call took. |
| Set by the client | The title came from a rename or a thread update. |
| Being written | An attempt is running. |
| Attempt 1 failed: Invalid API key. The hourly sweep retries. | The last attempt failed with the provider's error; the sweep retries up to three times. |
| Gave up after 3 attempts: Invalid API key | Every attempt failed. Rename the thread. |
| Waiting for the hourly sweep | No attempt yet; the sweep picks the thread up. |
| No user text to title | The thread has no user message with text; a message that holds only a file is not title input. |
| Titles are off for this project, Paused by the plan cap | The feature is off, or the gateway allowance is used up; see Thread titles. |
Export as Markdown downloads the transcript as a Markdown file.
Troubleshooting
| What you see | Why | What to do |
|---|---|---|
| A thread is missing from the list. | The list excludes archived threads, and the active range, search and selected facets also limit its rows. | Clear the list filters and choose a range that includes the conversation. Check whether the thread is archived. |
| A facet is missing from the bar. | The page renders a facet only when it has options in the selected range. | Widen the range or remove the filters that leave that facet with no options. |
| Satisfaction reads No signal. | The thread has neither a copy or second run nor a stop, regeneration or edit. Its stored satisfaction value is none. | Read the Interactions and Turns sections to see the events and runs behind the rule. |
| Analysis reads Not analysed. | No Intelligence pass has classified the thread: analysis is off, the thread is newer than the last pass, or it was stored as junk. | Check Settings › Intelligence and its runs ledger, or queue Run now. |