Cierre automático por inactividad del usuario
📋 Descripción general
En Suricata, implementamos una funcionalidad de cierre automático de tickets cuando un cliente no responde en una conversación delegada a un agente humano. Esto permite optimizar la atención, liberar conversaciones inactivas y mantener un entorno de trabajo más ágil.
⚙️ ¿Cómo funciona?
Condición principal:
Se verifica que el último mensaje en la conversación haya sido del agente.
Se consulta el campo
tiempodecierreen la tablaempresa, que define cuántos minutos de espera se permiten antes de cerrar la conversación por falta de respuesta del cliente.
Ejecución periódica:
El sistema Sienna ejecuta un cron job cada 5 minutos.
Este cron analiza las conversaciones activas y evalúa si:
El último mensaje fue del agente.
No hubo respuesta del cliente en el tiempo especificado.
Delegación al bot + Hook a Botpress (sólo para desarrolladores):
Si se cumple la condición de inactividad:
La conversación se re-delega automáticamente al bot.
Se envía un hook de tipo
18a Botpress, para que este gestione la despedida y cierre de la conversación.
🔗 Endpoint llamado:
POST: https://backend.suricata.chat/soporte/calltoactions/ticket-solved📨 Payload:
{ "ticketId": 6800, "clientId": "98969", "typeClosed": "18", "comentario": "Cerrado por inactividad." }Configuración en Botpress:
En el flujo del bot, en Webhooks, se configura una condición que escuche el tipo de evento:
workflow.type_message == 18Esto permite redirigir el flujo al nodo de cierre automático, donde se envía un mensaje informativo al cliente y luego hacia el flujo
END.Ejemplo:
Se tiene que establecer en el flujo donde aplicamos el evento de Webhook.
Node inactivity_user
Cierre del ticket en Suricata:
Finalmente, se cierra el ticket en la plataforma de gestión de Suricata, con el motivo “Cerrado por timeout”.
✅ Resultado
Cuando el cliente no responde dentro del tiempo configurado:
La conversación se transfiere nuevamente al bot.
Se envía una despedida automática al cliente desde Botpress.
El ticket se cierra definitivamente en Suricata, con trazabilidad y registro del evento.
Last updated