Saltar al contenido principal

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_conversations

Cada fila representa una conversación en la plataforma de agentes. Incluye información del agente que la atendió, el equipo, el estado final y datos del flujo de conversación asociado.

¿Qué preguntas responde?

  • ¿Cuántas conversaciones se atendieron en un período?
  • ¿Qué agente atendió cada conversación?
  • ¿Cuánto tiempo tomó resolver una conversación?
  • ¿Cuántas conversaciones fueron inbound vs outbound?
  • ¿Cuántas transferencias tuvo cada conversación?
  • ¿Cuál fue la calificación (rating) del usuario?

Columnas

ColumnaTipoDescripción
conversation_idInt32Identificador único de la conversación
company_idInt32Identificador de la empresa (filtrado automáticamente)
survey_user_idInt64Identificador del flujo de conversación asociado. 0 si no tiene flujo vinculado
contact_idInt32Identificador del contacto en la plataforma de agentes
created_atDateTime64Fecha y hora de creación de la conversación
finished_atDateTime64Fecha y hora de cierre. NULL si sigue abierta
assigned_atDateTime64Fecha y hora de asignación al agente. NULL si no fue asignada
statusStringEstado actual: OPEN, CLOSED, PENDING, etc.
finish_typeStringCómo se cerró: AGENT, SYSTEM, TIMEOUT, etc.
ratingInt32Calificación del usuario (1-5). 0 si no calificó
is_redirectedBooltrue si la conversación fue transferida al menos una vez
agent_idInt32Identificador del agente que atendió. 0 si no fue asignada
agent_nameStringNombre completo del agente
tag_idInt32Identificador del tag/cola asignado
tag_nameStringNombre del tag/cola
team_idInt32Identificador del equipo
team_nameStringNombre del equipo
channel_idInt32Identificador del canal (línea de WhatsApp)
inbound_outboundStringinbound si el usuario inició la conversación, outbound si fue iniciada por campaña
campaign_nameStringNombre de la campaña asociada
transfer_countUInt32Número de transferencias que tuvo la conversación
first_agent_message_atDateTime64Fecha del primer mensaje del agente. NULL si el agente no respondió
first_response_secInt32Segundos entre la creación de la conversación y el primer mensaje del agente. NULL si no respondió
helpdesk_contact_idStringIdentificador del contacto en el CRM externo (si existe integración)
contact_wa_idStringNúmero de WhatsApp del contacto

Consultas de ejemplo

Conversaciones por agente en los últimos 30 días

SELECT
    agent_name,
    count() AS total_conversaciones,
    countIf(status = 'CLOSED') AS cerradas,
    round(avg(if(finished_at IS NOT NULL,
        dateDiff('minute', created_at, finished_at), NULL)), 1) AS tiempo_resolucion_min_promedio
FROM client_analytics.fact_conversations
WHERE created_at >= now() - INTERVAL 30 DAY
GROUP BY agent_name
ORDER BY total_conversaciones DESC

Nivel de servicio por equipo (SLA personalizable)

SELECT
    team_name,
    count() AS conversaciones,
    -- Puedes cambiar 120 por el umbral que necesites (en segundos)
    round(countIf(first_response_sec <= 120) * 100.0 / count(), 1) AS sla_120s_pct,
    round(countIf(first_response_sec <= 60) * 100.0 / count(), 1) AS sla_60s_pct,
    round(avg(first_response_sec), 0) AS promedio_respuesta_seg
FROM client_analytics.fact_conversations
WHERE created_at >= now() - INTERVAL 7 DAY
  AND first_response_sec IS NOT NULL
GROUP BY team_name
ORDER BY sla_120s_pct DESC

Conversaciones inbound vs outbound por día

SELECT
    toDate(created_at) AS dia,
    inbound_outbound,
    count() AS total
FROM client_analytics.fact_conversations
WHERE created_at >= now() - INTERVAL 30 DAY
GROUP BY dia, inbound_outbound
ORDER BY dia DESC