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

# fact_agent_conversations

> Conversaciones atendidas por agentes humanos en el espacio de trabajo de agentes.

# fact\_agent\_conversations

Cada fila es una conversación atendida en el espacio de trabajo de agentes (Sales): quién la tomó, cómo se asignó, cuánto esperó el cliente, cómo terminó y cómo la calificó el cliente. Reemplaza a la tabla legacy `fact_conversations` — ahora con **historia completa** (la tabla legacy mantenía una ventana móvil de 3 meses) y mayor detalle de asignación/transferencias.

## ¿Qué preguntas responde?

* ¿Cuántas conversaciones atiende cada agente/equipo, y cómo se resuelven?
* ¿Cuál es el tiempo de primera respuesta y cómo varía por equipo u hora?
* ¿Qué conversaciones fueron transferidas, y cuántas veces?
* ¿Qué CSAT obtienen los agentes?
* ¿Cómo llegó la conversación — desde qué flujo, inbound u outbound?

## Columnas

| Columna                     | Tipo       | Descripción                                                                                                                                                                                                                                             |
| --------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `agent_conversation_id`     | Int32      | Identificador único de la conversación                                                                                                                                                                                                                  |
| `company_id`                | Int32      | Tu empresa (filtrado automáticamente)                                                                                                                                                                                                                   |
| `session_id`                | Int64      | El flujo conversacional que transfirió a un agente (se une con `fact_treble_sessions`); `0` si no hay                                                                                                                                                   |
| `contact_id`                | Int32      | Contacto de Treble; `0` si no hay                                                                                                                                                                                                                       |
| `created_at`                | DateTime64 | Cuándo entró la conversación al espacio de trabajo                                                                                                                                                                                                      |
| `finished_at`               | DateTime64 | Cuándo se resolvió; `NULL` si sigue abierta                                                                                                                                                                                                             |
| `assigned_at`               | DateTime64 | Cuándo se asignó un agente; `NULL` si nunca se asignó                                                                                                                                                                                                   |
| `status`                    | String     | Estado actual: `unassigned` (esperando en cola), `assigned` (con un agente), `finished`                                                                                                                                                                 |
| `finish_type`               | String     | Cómo terminó: `MANUAL` (cerrada por el agente) o `AUTO` (cerrada automáticamente); vacío mientras está abierta                                                                                                                                          |
| `rating`                    | Int32      | Calificación de satisfacción del cliente 1–5; `0` si no fue calificada                                                                                                                                                                                  |
| `is_redirected`             | Bool       | `true` si la conversación fue transferida al menos una vez                                                                                                                                                                                              |
| `agent_id`                  | Int32      | Agente responsable actual/último; `0` si no está asignada                                                                                                                                                                                               |
| `agent_name`                | String     | Nombre de ese agente                                                                                                                                                                                                                                    |
| `tag_id`                    | Int32      | Tag (cola/grupo) al que pertenece la conversación                                                                                                                                                                                                       |
| `tag_name`                  | String     | Nombre del tag                                                                                                                                                                                                                                          |
| `team_id`                   | Int32      | Equipo dueño del tag                                                                                                                                                                                                                                    |
| `team_name`                 | String     | Nombre del equipo                                                                                                                                                                                                                                       |
| `channel_id`                | Int32      | Línea de WhatsApp                                                                                                                                                                                                                                       |
| `direction`                 | String     | Origen `INBOUND` u `OUTBOUND` del flujo subyacente; vacío si no hay flujo vinculado                                                                                                                                                                     |
| `poll_id`                   | Int32      | Flujo que originó la conversación; `0` si no hay                                                                                                                                                                                                        |
| `poll_name`                 | String     | Nombre del flujo                                                                                                                                                                                                                                        |
| `transfer_count`            | UInt32     | Número de transferencias                                                                                                                                                                                                                                |
| `first_agent_message_at`    | DateTime64 | Primer mensaje enviado por un agente; `NULL` si aún no hay                                                                                                                                                                                              |
| `first_response_sec`        | Int64      | Segundos desde la creación de la conversación hasta el primer mensaje de agente; `NULL` si aún no hay mensaje de agente                                                                                                                                 |
| `helpdesk_contact_id`       | String     | ID del contacto en tu CRM, cuando está integrado                                                                                                                                                                                                        |
| `contact_wa_id`             | String     | ID de WhatsApp del contacto                                                                                                                                                                                                                             |
| `transfer_waiting_time`     | Int32      | Límite configurado (minutos) para esperar al agente dueño del contacto en el CRM antes de asignar al pool. Valores especiales: `-1` = asignar al dueño de inmediato, `-2` = esperar hasta que el dueño esté en línea. `NULL` cuando no está configurado |
| `last_customer_interaction` | DateTime64 | Último mensaje del cliente                                                                                                                                                                                                                              |
| `assign_type`               | String     | Cómo la recibió el agente: `AUTO` (asignada por la plataforma) o `MANUAL`                                                                                                                                                                               |
| `assignment_strategy`       | String     | Estrategia de asignación por flujo: `lowest_first`, `specific`, `owner` o `random`; vacío cuando aplica el default a nivel de empresa                                                                                                                   |
| `language`                  | String     | Idioma de la conversación: `ES`, `PT`, `EN`, `FR`, `DE`, `IT`                                                                                                                                                                                           |
| `channel`                   | String     | Tipo de canal (actualmente `WHATSAPP`)                                                                                                                                                                                                                  |
| `synced_at`                 | DateTime64 | Cuándo se escribió/corrigió por última vez esta fila                                                                                                                                                                                                    |

## Consultas de ejemplo

### Volumen y resolución por equipo, últimos 30 días

```sql theme={null}
SELECT
    team_name,
    count()                                        AS conversations,
    countIf(status = 'finished')                   AS finished,
    round(avg(first_response_sec) / 60, 1)         AS avg_first_response_min,
    round(avgIf(rating, rating != 0), 2)           AS csat
FROM fact_agent_conversations
WHERE created_at >= today() - 30
GROUP BY team_name
ORDER BY conversations DESC
```

### Conversaciones transferidas más de una vez

```sql theme={null}
SELECT agent_conversation_id, agent_name, transfer_count, created_at
FROM fact_agent_conversations
WHERE created_at >= today() - 7
  AND transfer_count > 1
ORDER BY transfer_count DESC
```

<Note>
  Para ver la conversación completa con el bot que precedió a la transferencia, une `session_id` contra [`fact_treble_sessions`](/es/docs/data-warehouse-v2/fact-treble-sessions) y [`fact_treble_session_messages`](/es/docs/data-warehouse-v2/fact-treble-session-messages).
</Note>
