Skip to main content

What are Topics?

Topics are subjects that users discuss in their conversations with your AI. Thunder automatically detects and categorizes topics from message content, helping you understand what your users care about most. Examples of topics:
  • “Password Reset”
  • “Billing Questions”
  • “Product Features”
  • “Technical Support”

How Topics are Detected

Thunder analyzes message content using AI models to identify the subjects being discussed. When similar subjects appear across multiple conversations, they’re grouped into topics. Topic detection improves over time - as Thunder sees more conversations from your instance, topic categorization becomes more accurate and specific.

Topic Metrics

Query topics to understand their prevalence and user sentiment:
MetricDescription
sessionsNumber of conversations that discussed this topic
usersUnique users who discussed this topic
messagesTotal messages related to this topic
satSatisfaction signals in conversations about this topic
dsatDissatisfaction signals in conversations about this topic
netSatNet satisfaction score

Querying Topics

Get your most-discussed topics:
curl "https://api.usethunder.com/v1/query?\
groupBy=TOPIC&\
instanceId=your-instance-id&\
dateRange.start=2024-01-01T00:00:00Z&\
dateRange.end=2024-01-31T23:59:59Z&\
timeGranularity=ALL&\
fields=sessions,users,messages,sat,dsat&\
sort.field=sessions&\
sort.order=DESC" \
  -H "x-api-key: YOUR_API_KEY"
Response:
{
  "elements": [
    {
      "dimensions": {
        "topic": {
          "id": "topic-uuid",
          "name": "Billing Questions",
          "clusterId": null
        }
      },
      "fields": {
        "sessions": 342,
        "users": 289,
        "messages": 1024,
        "sat": 45,
        "dsat": 12
      }
    }
  ],
  "pagination": { "total": 47, "limit": 50, "offset": 0 }
}

Time-Series Analysis

Track topic trends over time using timeGranularity:
curl "https://api.usethunder.com/v1/query?\
groupBy=TOPIC&\
instanceId=your-instance-id&\
dateRange.start=2024-01-01T00:00:00Z&\
dateRange.end=2024-01-31T23:59:59Z&\
timeGranularity=DAY&\
fields=sessions,messages" \
  -H "x-api-key: YOUR_API_KEY"
This returns one row per topic per day, letting you see how topic volume changes over time.

Filtering Sessions by Topic

Find all sessions that discussed a specific topic:
curl "https://api.usethunder.com/v1/query?\
groupBy=SESSION&\
instanceId=your-instance-id&\
topicIds=topic-uuid-here&\
dateRange.start=2024-01-01T00:00:00Z&\
dateRange.end=2024-01-31T23:59:59Z&\
timeGranularity=ALL&\
fields=messages,sat,dsat&\
dimensionFields=title,summary" \
  -H "x-api-key: YOUR_API_KEY"

Use Cases

Identify Hot Topics

Sort by session count to find what users ask about most. Prioritize documentation and training for high-volume topics.

Find Problem Areas

Filter for topics with high DSAT. These are subjects where your AI may need improvement.

Track Trends

Use time-series queries to spot emerging topics or declining interest.

Content Planning

Use topic data to guide knowledge base updates and AI training priorities.

See Querying Metrics for more query patterns and the full field reference.