Elementos de la línea de tiempo
Las piezas flexibles con las que se construye la línea de tiempo de una conversación.
¿Qué son los elementos de la línea de tiempo?
Los elementos de la línea de tiempo son las piezas con las que se construyen las conversaciones. En vez de tratar una conversación como una lista plana de mensajes, Fluxo guarda una línea de tiempo de registros estructurados que representan tanto el contenido del chat como todo lo que ocurre a su alrededor.
Este diseño permite historiales de conversación ricos y auditables, con:
- Mensajes: contenido enviado por el visitante, un agente humano o la IA.
- Eventos: actividades del sistema y cambios de estado.
- Registros de identificación: actividad de identificación de visitantes y contactos.
- Actividad de herramientas: registros de la IA y de las herramientas.
¿Por qué elementos y no solo mensajes?
Los sistemas de chat tradicionales solo manejan mensajes. La arquitectura de línea de tiempo de Fluxo aporta:
- Historial estructurado: se ven las incorporaciones, los cambios de estado y las resoluciones.
- Contexto rico: los eventos del sistema dan contexto entre mensajes.
- Flexibilidad: mensajes, eventos, identificación y actividad de herramientas conviven en un único historial ordenado.
- Extensibilidad: se pueden añadir tipos nuevos sin romper las conversaciones existentes.
Tipos de elemento actuales
Elementos de mensaje
Los elementos de mensaje contienen el contenido que realmente se intercambia en una conversación. Pueden venir de un visitante, de alguien del equipo o de un agente de IA.
El detalle de implementación importante es que text sigue siendo el cuerpo original del mensaje. El contenido enriquecido y el derivado viven en parts, así que un mismo elemento puede conservar el mensaje original y guardar además adjuntos, metadatos o traducciones.
Forma canónica de un elemento
Propiedad
Tipo
Partes de un mensaje:
- text: contenido en texto plano.
- image: imágenes adjuntas, con URL y metadatos.
- file: archivos adjuntos, con URL, nombre y tamaño.
- translation: texto traducido y guardado para un público concreto.
- metadata: datos del canal de origen, como el widget, el correo o la API.
- reasoning y tool-call: razonamiento y actividad de herramientas de la IA, cuando la política lo permite.
- source-url, source-document y citation: procedencia del conocimiento.
- step-start: frontera entre pasos de ejecución del agente.
- event y feedback: contenido estructurado de ciclo de vida o de opinión.
La visibilidad y la política determinan qué partes recibe cada público. La regla
importante es que las parts enriquecen el elemento en lugar de sustituir a su
text canónico.
Elementos de evento
Los elementos de evento son registros que genera el sistema y explican qué ha cambiado alrededor de la conversación.
Algunos ejemplos habituales:
- assigned: agente asignado a la conversación
- unassigned: agente retirado de la conversación
- participant_requested: se ha pedido otro participante
- participant_joined: un agente se ha unido a la conversación
- participant_left: un agente ha salido de la conversación
- status_changed: el estado de la conversación ha cambiado
- priority_changed: se ha ajustado el nivel de prioridad
- tag_added: se ha aplicado una etiqueta a la conversación
- tag_removed: se ha quitado una etiqueta de la conversación
- resolved: la conversación se ha marcado como resuelta
- reopened: se ha reabierto una conversación resuelta
- visitor_blocked: se ha bloqueado al visitante en el soporte
- visitor_unblocked: se ha desbloqueado al visitante
- visitor_identified: un visitante se ha vinculado a datos de contacto
- ai_paused / ai_resumed: ha cambiado el estado de atención de la IA
Los eventos registran quién hizo qué y cuándo, creando un historial transparente.
Elementos de identificación
Los elementos de identificación recogen los momentos en que se conoce al visitante o su identidad cambia de forma relevante. Ayudan a mantener un registro auditable de la identificación del contacto y de los cambios de ciclo de vida relacionados, dentro de la misma línea de tiempo.
Elementos de herramienta
Los elementos de herramienta representan la actividad de la IA y de las herramientas que se escribe en la línea de tiempo. Según la visibilidad y la política de herramientas, pueden alimentar el progreso que ve el cliente, los registros internos o las trazas de decisión, sin necesidad de un modelo de almacenamiento aparte.
Partes de traducción
Las traducciones se guardan como partes translation dentro del mismo elemento, en lugar de sustituir al text original. Así Fluxo conserva el mensaje de origen para siempre y a la vez resuelve el mejor texto para cada público.
- Las traducciones de team se usan en el panel.
- Las de visitor se usan en el widget y demás vistas del visitante.
- El panel puede mostrar el texto traducido y ofrecer igualmente Ver el original.
- El widget puede preferir la traducción para el visitante cuando existe.
Forma de una parte de traducción
Propiedad
Tipo
Ejemplo de traducción
{
"type": "message",
"text": "Hola, necesito ayuda con mi factura",
"parts": [
{
"type": "translation",
"text": "Hello, I need help with my invoice",
"sourceLanguage": "es",
"targetLanguage": "en",
"audience": "team",
"mode": "auto",
"modelId": "google/gemini-2.5-flash-lite"
}
]
}Propiedades de un elemento
Todos los elementos comparten unos campos comunes:
- id: identificador único.
- conversationId: la conversación a la que pertenece.
- organizationId: la organización propietaria.
- type: tipo de elemento (
message,event,identification,tool). - text: el texto canónico u original del mensaje, cuando aplica.
- parts: array de partes de contenido estructurado.
- visibility:
publicoprivate(notas internas del agente). - createdAt: marca de tiempo.
Campos de autoría (quién creó el elemento):
- visitorId: si lo creó un visitante.
- userId: si lo creó un agente humano.
- aiAgentId: si lo creó un agente de IA.
deletedAt existe como campo interno de ciclo de vida, pero no suele formar parte del modelo conceptual del día a día al razonar sobre líneas de tiempo.
Control de visibilidad
Los elementos pueden ser:
- public: visibles para visitantes y agentes (valor por defecto).
- private: notas internas del agente, ocultas al visitante.
Esto permite a los agentes:
- Añadir contexto para el resto del equipo.
- Documentar internamente cómo se resolvió algo.
- Compartir observaciones sin que las vea el visitante.
Orden de la línea de tiempo
Los elementos se ordenan cronológicamente por la marca createdAt, lo que da un historial lineal de la conversación.
El elemento más reciente (lastTimelineItem) se cachea en la conversación para:
- Ordenar las conversaciones por actividad.
- Mostrar la vista previa de cada conversación.
- Determinar si hay mensajes sin leer.
Más información
- Conversaciones: los hilos de chat que contienen los elementos.
- Visitantes: los usuarios anónimos que crean elementos.
- Contactos: usuarios identificados, con líneas de tiempo persistentes.
¿Te resultó útil esta página?
Abre una incidencia de documentación ya rellenada para que el equipo pueda actuar.
En esta página
¿Qué son los elementos de la línea de tiempo?¿Por qué elementos y no solo mensajes?Tipos de elemento actualesElementos de mensajeForma canónica de un elementoElementos de eventoElementos de identificaciónElementos de herramientaPartes de traducciónForma de una parte de traducciónEjemplo de traducciónPropiedades de un elementoControl de visibilidadOrden de la línea de tiempoMás información
