Core data types
Interaction
A single user-AI exchange, typically one user message plus the AI’s response. This is the atomic unit of analysis in Nebuly. Interactions are sent to Nebuly through the Interaction API, and for every interaction Nebuly automatically extracts a layer of insights and enrichment, with no sampling. Each interaction has:- An input (the user’s message) and an output (the AI’s response).
- A unique interaction ID.
- A reference to the conversation it belongs to.
- A reference to the user who initiated it.
- Automatically extracted enrichments: topic, intent, sentiment, emotions, business risks, implicit/explicit feedback, error type, keywords, and more.
- Optional tags sent at ingestion (e.g.
department,model_version,customer_tier). See Enrichment and the importance of tagging.
- Optional RAG sources: if your agent retrieves context, each retrieval step can be sent with the interaction, recording the source that was queried (e.g.
vector_db,db_reader_tool), the query, and the results returned. This lets you correlate user behavior and frustration with the sources queried and the data retrieved. See Enrichment and the importance of tagging.
Conversation
A conversation groups one or more interactions that belong to the same logical session or thread. Conversations are how Nebuly aggregates context across multi-turn exchanges. A conversation inherits the tags of its interactions, and Nebuly also computes insights at the conversation level, such as conversation health, alongside conversation topics. Every conversation has:- A conversation ID that links interactions.
- Conversation-level insights: conversation health, conversation topics, and end-of-conversation outcome.
- Aggregate metrics: conversation length, conversation time, and average sentiment.
- Tags inherited from its interactions.
User
The end user of your AI product. Users are identified by a stable user ID you provide at ingestion. Each user record aggregates all of their conversations and interactions, and inherits the tags from those interactions. Users can also be grouped into user groups based on their past conversations, which makes it easy to compare behavior across segments. Each user record supports:- Filtering and segmentation across the platform.
- Cohort and user-group definitions for behavioral comparison.
- Tag-based attributes (department, role, country, customer tier, etc.).
Derived entities
On top of the three core types, Nebuly automatically creates derived entities. These are not raw data you ingest. They are computed by the enrichment and clustering pipeline.- Topics: automatically detected themes that describe what conversations are about.
- User Actions: what the user is trying to accomplish within a topic.
- Intents: the why behind the conversation (Informational, Transactional, Support, Feedback, Other).
- Business risks: predefined and custom risk categories applied to interactions, spanning safety and compliance issues (PII exposure, toxic content, policy violations) and user complaints or dissatisfaction directed at your company.
- Problem types (Failure Intelligence): categories like Unhandled Request, Empty Response, User Frustration, Language Problem, Off-topic.
- Sentiment and emotion labels: six sentiment levels and 29 emotional states.
Events (separate timeline annotations)
Events in Nebuly are not user data. They are timeline annotations you create to mark moments in time on charts (e.g.v2 model rollout, prompt update, marketing campaign). They appear as vertical lines on time-series charts and help you correlate metric movements with product or business changes. See Events for details.