Activación del chatbot con un temporizador | Ranura del temporizador
Last updated
Last updated
La ranura del temporizador está diseñada para iniciar la cuenta atrás cuando se cumplan determinadas condiciones (por ejemplo, se cierra un cuadro de diálogo, se modifica una variable, etc.) y ejecutar el agente cuando finalice la cuenta atrás.
Por ejemplo, utilizando la ranura del temporizador puedes:
“Despertar" al Agente 2 horas después de Cerrar el Diálogo, si el Usuario Bot no ha terminado de realizar el pedido en el Chat, para recordarle que debe completar el pedido.
forzar la transferencia de la conversación al operador si han transcurrido 10 minutos desde el inicio de la conversación y no se ha resuelto la pregunta del usuario del robot.
“recordar" al Usuario Bot que vuelva al Diálogo si el Agente no recibe una respuesta a la pregunta en 5 minutos.
Realizar peticiones sobre el estado de la entrega a un sistema externo una vez al día y notificar al Usuario Bot si el estado ha cambiado.
Sólo se puede crear una ranura de temporizador después de la ranura de inicio si existe una rama regular para procesar los mensajes que llegan a través del canal de proyectos.
Se permiten varios Timer Slot s en un Script, y sus parámetros pueden ser los mismos.
Los parámetros de la imagen deben leerse de la siguiente manera: establecer un temporizador en modo Interrumpible durante 1 hora después de cerrar el cuadro de diálogo.
Nombre de la Ranura - el nombre de la Ranura que se mostrará en el Árbol de Script. La longitud máxima de un valor de campo es de 40 caracteres..
Cuenta atrás - tiempo de cuenta atrás, que se establecerá cuando se inicie el temporizador, después del final de la cuenta atrás de este tiempo el temporizador se activará. El valor no puede estar vacío, el valor mínimo es 1 minuto, el incremento es 1 minuto. Cuando se crea un Slot, el valor del tiempo se preestablece en 1 hora.
Si intenta introducir un valor igual o superior a 60 en el campo min, el valor se convertirá automáticamente a horas y se transferirá al campo horas. Cuando se rellene el campo horas, el valor convertido se añadirá al valor especificado previamente en el campo horas.
Si intenta introducir un valor igual o superior a 24 en el campo horas, el valor se convertirá automáticamente a días y se moverá al campo día. Cuando se rellene el campo día, el valor convertido se añadirá al valor especificado previamente en el campo día.
after- un evento que inicia la comprobación de la condición if para iniciar el temporizador.
If — condición bajo la cual se iniciará el temporizador cuando se produzca el evento posterior. La expresión en este campo debe producir el resultado lógico Verdadero o Falso (más: Sintaxis).
Nota: sin una condición adicional, existe el riesgo de que el temporizador se reinicie sin fin, por ejemplo: Cerrar Diálogo inicia el temporizador durante 5 minutos → después de 5 minutos el temporizador se apaga → El Agente escribe algo al Usuario Bot → este mensaje inicia un nuevo Diálogo → este Diálogo se cerrará de nuevo, por ejemplo, debido a un tiempo de espera → Cerrar Diálogo inicia el temporizador de nuevo durante 5 minutos.... y así sucesivamente en círculo. Puede introducir una Variable de Contexto como señal de si el Agente se ha recordado a sí mismo; si está llena, el temporizador no se iniciará.
Modo - modo de funcionamiento del temporizador, determina cómo se puede interrumpir el temporizador:
Interrumpible: modo en el que cualquier cambio en el estado de comunicación detiene el temporizador, por ejemplo: El Usuario del Bot escribió algo, llegó una Petición Entrante, el Agente avanzó en el Script, otro temporizador de este Agente funcionó.
Siempre activado: modo en el que el cambio del Estado de Comunicación no detiene el temporizador; sólo puede detenerse mediante la Formación del Agente por parte del usuario o iniciando un nuevo temporizador desde la misma Ranura (por ejemplo, cuando se vuelven a cumplir las condiciones).
En la Ranura del Temporizador, es posible utilizar Expresiones en el campo If. Más detalles: Sintaxis.
La plataforma supervisa los chats en busca de eventos de activación para cada ranura de temporizador en su script.
Diálogo cerrado
Cerrar diálogo mediante script inicia un temporizador si se cumple la condición de inicio de temporizador adicional
Recordar al interlocutor que no terminó el diálogo, haciendo un pedido, o abandonó el carro
Enviar datos a un sistema externo una vez finalizado el diálogo
"acudir" periódicamente a un sistema externo para conocer el estado de una tarea/pedido y notificar al interlocutor cuando cambie
Enviar una solicitud para evaluar la calidad del servicio
Diálogo iniciado
El diálogo de apertura inicia un temporizador si se cumple la condición de inicio de temporizador adicional
obligar a un operador a conectarse si el diálogo dura mucho tiempo, pero el problema no se resuelve
Variable modificada
Cambiar una variable a un valor nuevo (diferente) inicia un temporizador si se cumple la condición de inicio de temporizador adicional
El usuario especifica la variable en un nuevo campo que aparece al seleccionar este elemento. La introducción de una variable es obligatoria, el nombre de la variable se indica sin comillas
una hora después de recibir datos clave (por ejemplo, el número de teléfono), enviarlos a un sistema externo, independientemente del estado del diálogo
Bot comenzó a esperar
La transición del Agente al estado de espera de entrada del Usuario Bot: Esperar Reacción, Llenado de Ranura, Menú de Botón inicia un temporizador si se cumple la Condición de Inicio de Temporizador Adicional.
hacer "ping" al interlocutor si se distrae del diálogo
invitar al operador a dialogar si el interlocutor no responde
las siguientes acciones se realizan para cada ranura de temporizador en el agente
Si se dispara el activador de inicio del temporizador, la plataforma comprueba la condición de inicio del temporizador adicional.
Cuando se cumple la condición de inicio del temporizador adicional, el temporizador se inicia y se crea una tarea programada en el sistema. Si no se cumple la condición de inicio del temporizador adicional, no ocurre nada.
Iniciar un temporizador por sí mismo no afecta a la Conversación y no cambia el Estado de la Comunicación, simplemente crea una tarea programada en el sistema.
El inicio de un temporizador interrumpe el temporizador anterior, aún no activado, iniciado desde la misma ranura de temporizador, si existe tal temporizador establecido.
Nota: técnicamente, el mismo temporizador establecido original permanece en la base de datos, pero se establece en él una nueva hora de activación.
La plataforma comprueba qué temporizadores han finalizado la cuenta atrás (campo Cuenta atrás) y activa sus ranuras de temporizador en los chats correspondientes: el temporizador se activa y las ramas de script correspondientes se lanzan en los chats.El periodo de verificación es de 1 minuto.Esto significa que puede haber un retraso de hasta 1 minuto (59 segundos) entre el funcionamiento programado y el funcionamiento real del temporizador.
Si un temporizador establecido está en cuenta atrás antes de que finalice el siguiente minuto, el temporizador seguirá sin dispararse porque la plataforma aún no lo ha comprobado y no sabe que la cuenta atrás ha finalizado. Pero en cuanto termine este minuto, la Plataforma comprobará que el temporizador funcionará.
Nota: como demuestra la práctica, lo más frecuente es que el retardo se produzca en el intervalo de 40 a 59 segundos, lo que debe tenerse en cuenta a la hora de fijar el valor de la cuenta atrás.
Al final de cada minuto, todos los temporizadores cuya cuenta atrás haya finalizado en un minuto se activan inmediatamente uno tras otro. Esto significa que podrían lanzarse "al mismo tiempo" con un intervalo de 1-59 segundos, pero funcionarán "simultáneamente", ya que la Plataforma se enteró de esto como parte de una comprobación (véase Múltiples ranuras de Temporizador en un Agente)
El Script actual en el Diálogo Activo será "interrumpido", porque el Agente "saltará" inmediatamente a la Rama de Script después de la Ranura del Temporizador y continuará la Conversación desde la siguiente Ranura después de la Ranura del Temporizador.
Si en este momento no hay ningún Diálogo activo en este Chat, se iniciará el Script en el Chat, pero el Diálogo se abrirá al primer mensaje entrante o saliente.
Un temporizador puede detenerse (restablecerse, borrarse) por determinados eventos, en función del modo en que se inició.
Nota: técnicamente, el mismo temporizador establecido original permanece en la base de datos, pero se establece en él una nueva hora de activación.
Al volver a entrenar a un Agente o borrar/desactivar un Canal de Proyecto, se borran todos los Temporizadores establecidos en los Chats restablecidos.
Interrumpible
un modo en el que un cambio en el Estado de Comunicación detiene el temporizador, por ejemplo: el Usuario Bot escribió algo, llegó una Petición Entrante, el Agente se movió según el escenario, otro temporizador de este Agente trabajó.
Siempre оn
un modo en el que un cambio en el estado de comunicación no detiene el temporizador, sólo se puede detener iniciando un nuevo temporizador desde la misma ranura (por ejemplo, cuando se vuelven a cumplir las condiciones)
Se permiten varias Ranuras de Temporizador en un Agente, y sus Disparadores de Inicio de Temporizador, Modos de Funcionamiento de Temporizador, tiempos de cuenta atrás y condiciones adicionales pueden coincidir parcial o totalmente.Cada Ranura de Temporizador en el Script inicia su propio temporizador independiente.
Cada temporizador se inicia desde su ranura de temporizador independientemente de los demás según el orden de disparo - véase Iniciar un temporizador.
Pueden lanzarse simultáneamente varios temporizadores, incluso "idénticos".
Dado que los temporizadores se comprueban en la Plataforma una vez por minuto, los temporizadores que funcionan en un Agente, que deberían funcionar con menos de un minuto de diferencia, pueden funcionar "simultáneamente" y en un orden aleatorio:
Durante la siguiente comprobación minuto a minuto, la Plataforma detectará todos los Temporizadores de Agente no disparados (iniciados) que hayan expirado y los enviará "para su ejecución"
Después se activarán en orden aleatorio.
Significa que si se inician 2 temporizadores para una hora, no se sabe cuál de ellos funcionará primero dentro de una hora.
Al mismo tiempo, si entre los Temporizadores "enviados para ejecución" hay Temporizadores Interrumpibles, entonces ya no serán interrumpidos por la operación del primer temporizador de la cola.