> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nebuly.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Nebuly Data Types

> The core data types Nebuly ingests and the derived entities it computes: interactions, conversations, users, and more.

Nebuly organizes the data it ingests and analyzes into a small number of core data types. Understanding these types is helpful when building reports, writing filters, or interpreting metrics.

## 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](https://docs.nebuly.com/tracking/api-reference/events/post-events-interaction-with-trace-v2), 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](/guides/enrichment-and-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](/guides/enrichment-and-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.

In the platform you can switch between **interaction-level analysis** (granular, per-turn) and **conversation-level analysis** (aggregate, holistic) depending on the question you are answering.

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

These automatically generated clusters are not fixed. Topics, Intents, Business risks, and Problem types are exposed as groups in the [Taxonomy](/guides/taxonomy) page, where you can edit, rename, merge, and delete them to fit your business.

Beyond these built-in entities, you can configure Nebuly to generate your **own custom derived entities** with the [Taxonomy](/guides/taxonomy) feature, clustering interactions along whatever dimension matters to your business, for example *mentioned competitor*, *requested feature*, or *pricing objection*.

## 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](/guides/events) for details.

## How the data flows

See [How to send data to Nebuly](/guides/data-ingest) for the end-to-end pipeline: ingestion via the [Interaction API](https://docs.nebuly.com/tracking/api-reference/events/post-events-interaction-with-trace-v2) → PII removal → enrichment → clustering.
