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

# Data Warehouse

> Consulta tus datos directamente con SQL. Disponible para empresas con acceso habilitado.

# Data Warehouse

Treble pone a disposición un Data Warehouse que te permite consultar directamente tus datos operacionales con SQL. Esto te da la flexibilidad de construir reportes personalizados, conectar herramientas de BI y analizar tus datos sin depender del equipo de Treble.

<Note>
  El acceso al Data Warehouse está disponible únicamente para empresas que soliciten el onboarding. Si estás interesado, contacta a tu Account Manager o escríbenos a soporte para iniciar el proceso.
</Note>

## ¿Qué puedes consultar?

* Historial de conversaciones atendidas por tus agentes
* Mensajes enviados y recibidos en cada conversación
* Transferencias entre agentes
* Disponibilidad y tiempos de conexión de agentes
* Productividad diaria por agente
* Detalle y métricas de envíos de campañas outbound
* Sesiones inbound y outbound

## Conexión

Una vez habilitado el acceso, recibirás credenciales para conectarte:

| Parámetro         | Valor                                |
| ----------------- | ------------------------------------ |
| **Host**          | Proporcionado por Treble             |
| **Puerto**        | `8443` (HTTPS) / `9440` (Native TLS) |
| **Base de datos** | `client_analytics`                   |
| **Usuario**       | Proporcionado por Treble             |
| **Contraseña**    | Proporcionada por Treble             |

Puedes usar cualquier cliente compatible con ClickHouse: DBeaver, DataGrip, `clickhouse-client`, o conectar directamente desde Google Sheets, Metabase, Looker u otra herramienta de BI.

## Seguridad y Límites

* **Datos seguros:** Tus datos están protegidos por políticas de privacidad. Solo tu compañía puede acceder a la información de tu cuenta.
* **Solo lectura:** Tu usuario no puede modificar, crear ni eliminar datos.
* **Límites de protección:** Las consultas tienen un tiempo máximo de 30 segundos y límites de filas y memoria para garantizar la estabilidad del sistema.

## Frecuencia de Actualización

* Los datos tienen un **retraso máximo de 3 horas** respecto a la operación en tiempo real.
* Las tablas contienen datos de los **últimos 3 meses**.
* Algunas tablas (dimensiones de agentes, equipos, tags) pueden tener una frecuencia de actualización mayor, cercana a los 10 minutos.

## Buenas Prácticas

Para escribir consultas eficientes y aprovechar al máximo la estructura columnar de ClickHouse, revisa la guía de [Optimización de Consultas](/es/docs/data-warehouse/query-optimization).

## Tablas Disponibles

### Tablas de hechos (facts)

Contienen los eventos y transacciones de tu operación.

| Tabla                                                                            | ¿Qué responde?                                                      | Granularidad                 |
| -------------------------------------------------------------------------------- | ------------------------------------------------------------------- | ---------------------------- |
| [`fact_conversations`](/es/docs/data-warehouse/fact-conversations)               | ¿Cuántas conversaciones se atendieron? ¿Por quién? ¿Cuánto duraron? | 1 fila por conversación      |
| [`fact_agent_messages`](/es/docs/data-warehouse/fact-agent-messages)             | ¿Qué se dijo en cada conversación? ¿Quién envió cada mensaje?       | 1 fila por mensaje           |
| [`fact_redirections`](/es/docs/data-warehouse/fact-redirections)                 | ¿Cuántas transferencias hubo? ¿De quién a quién?                    | 1 fila por transferencia     |
| [`fact_agent_status_changes`](/es/docs/data-warehouse/fact-agent-status-changes) | ¿Cuándo se conectaron y desconectaron los agentes?                  | 1 fila por cambio de estado  |
| [`fact_agent_daily`](/es/docs/data-warehouse/fact-agent-daily)                   | ¿Cuál fue la productividad de cada agente por día?                  | 1 fila por agente por día    |
| [`fact_sessions`](/es/docs/data-warehouse/fact-sessions)                         | ¿Cuántas sesiones tuvo la campaña? ¿Inbound o outbound?             | 1 fila por sesión            |
| [`fact_deployment_status`](/es/docs/data-warehouse/fact-deployment-status)       | ¿Cuál fue el resultado de cada envío outbound?                      | 1 fila por envío             |
| [`fact_deployment_daily`](/es/docs/data-warehouse/fact-deployment-daily)         | ¿Cuántos envíos por campaña por día? ¿Tasa de entrega y respuesta?  | 1 fila por campaña por día   |
| [`fact_hsm_responses`](/es/docs/data-warehouse/fact-hsm-responses)               | ¿Qué respondieron los usuarios a las plantillas HSM?                | 1 fila por respuesta         |
| `fact_target_events`                                                             | ¿Qué objetivos de conversión se cumplieron? *(Próximamente)*        | 1 fila por objetivo cumplido |

### Tablas de dimensiones (dims)

Contienen información de referencia que puedes cruzar con las tablas de hechos.

| Tabla                                                  | Descripción                                    |
| ------------------------------------------------------ | ---------------------------------------------- |
| [`dim_agents`](/es/docs/data-warehouse/dimensions)     | Agentes: nombre, email, estado activo/inactivo |
| [`dim_tags`](/es/docs/data-warehouse/dimensions)       | Colas o tags de asignación                     |
| [`dim_teams`](/es/docs/data-warehouse/dimensions)      | Equipos de trabajo                             |
| [`dim_hsm`](/es/docs/data-warehouse/dimensions)        | Plantillas HSM (templates de WhatsApp)         |
| [`dim_agent_tags`](/es/docs/data-warehouse/dimensions) | Relación agente ↔ tag ↔ equipo                 |

## Ejemplo Rápido

```sql theme={null}
-- Conversaciones atendidas en los últimos 7 días
SELECT
    created_at,
    conversation_id,
    agent_name,
    status,
    finish_type
FROM client_analytics.fact_conversations
WHERE created_at >= now() - INTERVAL 7 DAY
ORDER BY created_at DESC
LIMIT 100
```
