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?

  1. Condición principal:

    • Se verifica que el último mensaje en la conversación haya sido del agente.

    • Se consulta el campo tiempodecierre en la tabla empresa, que define cuántos minutos de espera se permiten antes de cerrar la conversación por falta de respuesta del cliente.

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

  3. 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 18 a 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."
    }
  4. 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 == 18
    • Esto 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

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