Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.buildbetter.ai/llms.txt

Use this file to discover all available pages before exploring further.

The Topics tab in Triage is BuildBetter’s surface for live topics — real-time groupings of related customer signals from Slack and Intercom. Topics now lives inside Triage so you can see hot themes alongside individual signals, project decisions, and PRs in one inbox.
Topics is in early access. Sources, manual actions, and notification surfaces will continue to grow.

What’s a Topic?

A topic is an AI-generated grouping of related conversations about the same underlying issue, request, or theme. Each topic carries:
FieldWhat It Means
NameAI-generated topic name (e.g., “Payment processing fails on iOS”)
DescriptionOptional elaboration
TypeBug / Complaint / Feature Request / Feedback / Discussion
StatusActive / Stale / Resolved
Priority1–5 numeric scale
CategoriesAI-assigned tags
EvidenceConversation groups with full message threads
ParticipantsCustomers and teammates in the conversations
Linked ticketsJira / Linear / GitHub issues attached

Lifecycle States

Topics move through these states automatically based on activity.
StateWhen It Applies
ActiveRecent customer activity or a team response in progress
StaleAn unanswered customer message older than your stale threshold (default 240 min)
ReactivatedA stale topic that received a team response, returning to active
ResolvedManually archived, all linked conversations closed, or no activity for an extended period
A scheduled job checks staleness every 15–30 minutes and fires an in-app notification on transition to stale.

How Topics Are Created

Topics ingest from Slack and Intercom — historical backfill on setup, live ingestion afterward. Each new or updated conversation is classified by LLM into segments; each segment lands in a topic via matching. You don’t manually create topics — they emerge from real conversations.

Matching and Deduplication

BuildBetter prevents duplicate topics with a two-stage pipeline:
1

Embedding pre-filter

The segment text plus its enriched context (speaker names, companies, channel) is embedded and matched against active and stale topic embeddings. The top 3 similar candidates pass forward.
2

LLM verification

The LLM verifier inspects each candidate’s name, description, source labels, and sample messages, then returns a confidence score. The bar is 0.6 with channel context present, 0.7 without.
3

Link or create

If the best confidence beats the threshold, the segment links to the existing topic. Otherwise a new topic is created.
Low-signal filtering: conversations with under 50 chars of substantive content (after stripping @mentions, HTML, greetings) are skipped.

The Tab View

The Topics tab in /triage lists active and recent topics. Each row shows:
  • Title
  • Kind badge — Bug (red), Complaint (orange), Feature Request (blue), Feedback (purple), Discussion (gray)
  • Status badge — Active (green), Stale (amber), Resolved (gray)
  • Description snippet
Click any topic to open the detail pane.

What’s Documented Here

Topic Detail

Conversation evidence, participants, linked tickets, lifecycle history, and the route/attach/promote actions.

Manual Actions

Split a group into a new topic, move a group to another topic, promote to a project, route with AI.

Sources & Settings

Slack and Intercom setup, channel purpose context, stale threshold and notification settings.

Linear Evidence Tracker

Tracked Linear issues receive evidence-backed comments that update as new customer signals arrive.

How Topics Differs from Clusters

TopicsClusters
SourceReal-time signal feed (Slack, Intercom)Embeddings-based grouping of historical signals
RefreshContinuous (live)On demand
Best forSpotting fast-moving issues right nowSpotting durable themes over time
Inside TriageThis tabThe Clusters tab
Both are valuable for different reads on your customer base. Topics is your hot-issue surface; Clusters is your strategic-theme surface.
If a channel doesn’t have a purpose set in Slack, set one — even a short description meaningfully sharpens topic names and matching. The classifier reads it on every ingestion event.