Skip to main content

Overview

Topics group related Episodes and provide summaries. They are an optional structure generated only when meaningful grouping exists — not every Episode belongs to a Topic. For why structured memory matters over simple chunk search, see the concept overview.

Fields

FieldTypeDescription
idstringUnique identifier
titlestringAuto-generated topic title
summarystringSummary of grouped episodes
episodeCountnumberNumber of episodes in this topic
createdAtstringCreation timestamp
updatedAtstringLast update timestamp

When Topics Are Generated

Topics are automatically created when meaningful grouping is detected:
  • Multi-person discussions — e.g., Slack threads with multiple participants
  • Consecutive conversations — e.g., ongoing exchanges during meetings
  • Related message groups — messages that form a coherent unit around a single subject
Topics are not generated for:
  • Single questions or standalone messages
  • Solo work (MCP operations, etc.)
  • Cases where grouping does not add value
Not all Episodes need to belong to a Topic. Topics are an optional structure, generated only when they provide meaningful summaries.
Topics support semantic search. Even vague queries like “that discussion about the project” or “the authentication debate” can surface relevant topics. This makes it easy to rediscover past conversations without needing to recall exact keywords.

Relationship to Episodes

A Topic groups one or more Episodes. Not all Episodes belong to a Topic — Topics are optional summaries created when grouping adds value.
Topic: "Authentication Method Discussion"
  |-- Episode: "John proposed JWT"
  |-- Episode: "Mary suggested OAuth2"
  |-- Episode: "Team decided on JWT"
  |
  Summary: "Team discussed authentication options and chose JWT"

Data Types

Concept overview of all data types

Episodes API

Topics are accessed via the Episodes API