Threads page

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.

Threads page on the demo project

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.

FacetValues and reading
TopicAnalysed nonjunk topics, ordered by count.
TaskAnalysed tasks.
Satisfactionsatisfied, mixed, dissatisfied or none, using the rule below.
SignalA multiselect of the 12 interaction and analysis signals below.
Sentimentpositive, neutral or negative.
ResolvedResolved or unresolved analysis results.
LanguageThe 12 most common analysed languages.
JunkHide junk selects nonjunk threads. Only junk selects junk threads.
QuestionAnalysed questions, up to 50 options.
Ended on the user's messageThreads whose last message by creation time has the user role.
Signal valueLabelReading
stoppedStoppedA run_stopped event.
regeneratedRegeneratedA message_regenerated event.
copiedCopiedA message_copied event.
editedEdited and resentA message_edited event.
attachmentAttached a fileAn attachment_added event.
suggestionClicked a suggestionA suggestion_clicked event.
branchSwitched branchA branch_switched event.
approvedApproved a toolA tool_approved event.
rejectedRejected a toolA tool_rejected event.
errorSaw an errorAn error_shown event.
no_replyNo replyThe analysis found no assistant messages.
loopRepeated or rephrasedThe 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 negative

In 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.

Thread detail page on the demo project

The top tiles are Messages, Runs, Cost and Tokens. The rest of the page brings the stored conversation, its reports and its analysis together.

SectionWhat it shows
ConversationThe rendered transcript.
TurnsOne row per question with the run that answered it. Open a row for its spans.
SatisfactionThe same positive and negative rule used in the list.
AnalysisTopic, Task, Phrasing, Sentiment, Resolved, Language, Turns, Repeats, Unanswered question and Classified.
InteractionsThe engagement events for the thread.
Raw messagesThe 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 rowMeaning
Written by gpt-5.6-luna on the first message in 1.4sThe 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 clientThe title came from a rename or a thread update.
Being writtenAn 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 keyEvery attempt failed. Rename the thread.
Waiting for the hourly sweepNo attempt yet; the sweep picks the thread up.
No user text to titleThe 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 capThe 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 seeWhyWhat 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.