Bots en uContact
Los bots permiten la ejecución de flujos a través de un motor JavaScript que permite realizar casi cualquier acción si posee los conocimientos necesarios de programación.
Se pueden obtener desde simples respuestas hasta realizar transferencias, así como también consultas a la base de datos o ejecuciones de web services. Dichas funcionalidades son solo algunas de las actividades programables para los bots.
Para comenzar con bots deberá ingresar a uContact con un usuario de tipo Supervisor con permisos para utilizar el diseñador de flujos.
Note |
---|
Para comenzar a crear bots debe poseer licencias de bots disponibles. Las mismas se pueden solicitar enviando un mail a Soporte de Integra. |
Desarrollo del bot
Aquí es donde se define su comportamiento.
Para ello nos dirigimos al Diseñador de flujos, allí se nos abrirá una página en blanco.
Luego de colocar una Start Activity de botso bot function, sobre la izquierda en el menú de actividades, veremos un desplegable llamado Bots.
Las actividades que se muestran son todas las disponibles para poder implementar un bot.
Tip |
---|
A tener en cuenta:
|
Actividades de bots
Las actividades permiten controlar el funcionamiento del bot.
Expand | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||
Aquí describiremos el comportamiento de cada actividad
BotStartActivityEsta actividad es la primera del flujo, siempre debe estar incluida en todos los flujos creados, la misma indica al bot por dónde comienzan las actividades.
SendMessageCon esta actividad interactuaremos con el cliente, permite enviar un mensaje luego de cada vez que escribe el cliente. Enviar un mensaje simple
Enviar opciones
IsOnTimeEsta acción permite evaluar una respuesta y activar un recorrido u otro dependiendo el horario que le sea introducido.
Puede concatenar varios horarios utilizando & mon,tue,wed,thu,fri;09:00-18:00&sat,sun;09:00-13:00 Ejemplo: EvaluatePermite evaluar una respuesta y basándose en base a ella decidir por un camino u otro, los evaluate pueden encadenarse uno tras otro en caso de que tengamos multiples opciones y por cada una se realicen acciones diferentes.
ReadMessageCon esta opción el bot leerá la respuesta enviada por el cliente para guardarla en una variable y así utilizarla en otras actividades.
ReadFileMessageEsta opción es similar a la anterior solo que se utiliza para guardar una imagen luego de solicitarla y así llegará con éxito al agente.
ProcedureEsta actividad permite ejecutar código JavaScript.
Útil, por ejemplo, si se desea parsear la respuesta de un web service o aumentarle el valor a una variable para utilizar de contador. ExecWebServicePermite ejecutar un Web Service web service.
ExecQueryAquí podremos realizar consultas a la base de datos.
DispositionPermite realizar una tipificación a la interacción con el bot, de esta manera se le puede dar seguimiento a los flujos recorridos por el cliente.
TransferBotCon esta opción podremos transferir la interacción desde un bot a una campaña del mismo canal en que se encuentra el bot.
LogOpPermite imprimir el contenido de una variable en el IntegraServer.
FinishInteractionEsta acción debe encontrarse al final de cada flujo ya que la misma le indica al bot que terminó su recorrido y cierra la interacción con el cliente. Esta actividad no posee campos de configuración ya que su única función es terminar la interacción.
SetClientNameEsta actividad toma el contenido de una variable y lo asigna al nombre del cliente de la interacción y a su vez lo asigna a la variable global CLIENT_NAME del bot.
Ejemplo:
SendAttachmentA través de esta actividad se permite enviar archivos al cliente.
Ejemplo de uso: application/pdf|20200504/filename.pdf para enviar un archivo que se encuentra en etc/IntegraServer/web/attachments/20200504/filename.pdf SendEmailPermite enviar emails.
Las variables del template pueden ser reemplazadas por otras variables que poseamos en el bot incluso por variables globales. GoToFunctionEsta actividad permite anidar tanto bots como bots functions. Suponga que se cuenta con un bot denominado B y un bot function denominado BF y B tiene la actividad GoToFunction y en el campo name tiene asignado name= “BF”. Al momento de ejecutar la actividad GoToFunction se detiene la ejecución del bot B y se comienza a ejecutar BF. Luego de que termine de ejecutar BF, se retornará a B para seguir ejecutando las actividades siguientes. Es de esta forma que se logra anidar varios bots o bots functions a un bot inicial.
|
Expand | ||
---|---|---|
| ||
Hay ciertos datos del cliente que se obtienen de la interacción, los mismos pueden ser utilizados en distintas actividades. Las variables globales son: Para todos los canales
Webchat
SMS/WhatsApp
Messenger
|
Note |
---|
|
Vea cómo crear su primer flujo de bots o descargue un flujo de ejemplo y comience para comenzar a trabajar con ellos!
Bots
Functionsfunctions
Los bots function son bots que se utilizan como funciones. Su propósito es poder modularizar ciertas secciones de los bots para poder facilitar el desarrollo, las pruebas y el mantenimiento de los mismos.
Los bots function no consumen licencias de bots y se suben al servidor con el contexto ‘botsFunction’.
Info |
---|
El contexto 'botsFunction' no existirá hasta que sea creado el primer BotFunction. |
Expand | ||
---|---|---|
| ||
En los BotFunctions se pueden utilizar todas las actividades de bots, pero iniciarán con BotFunctionStartActivity en lugar de BotStartActivity. BotFunctionStartActivityPara poder crear un bot function se cuenta con la actividad BotFunctionStartActivity. Esta actividad, a diferencia de la BotStartActivity, únicamente posee el campo ‘nombre’. Es decir que la actividad inicial de un bot function no posee el campo ‘bot_timeout’, ni tampoco el campo ‘timeout_message’, lo que significa que el timeout que se tomará en cuenta es el del bot que llama al bot function. GoToFunctionEsta actividad permite anidar tanto bots como bots functions. Suponga que se cuenta con un bot denominado B y un bot function denominado BF y B tiene la actividad GoToFunction y en el campo name tiene asignado name= “BF”. Al momento de ejecutar la actividad GoToFunction se detiene la ejecución del bot B y se comienza a ejecutar BF. Luego de que termine de ejecutar BF, se retornará a B para seguir ejecutando las actividades siguientes. Es de esta forma que se logra anidar varios bots o bots functions a un bot inicial.
|
Administración del bot
A partir de la actualización 6.275 en la configuración de campañas de SMS, WebChat y Messenger, veremos un menú desplegable llamado Nombre de bot
, al desplegarlo se listarán todos los bots creados.
Tras seleccionar el bot deseado para la campaña, simplemente presiona el botón Guardar y su campaña comenzará a trabajar con bots!.
Warning |
---|
|
Tip |
---|
|
Crear el primer
Botbot
En esta sección veremos cómo crear un flujo básico, a modo de ejemplo y práctica, que contenga las siguientes acciones:
Presentación - SendMessage
Opciones - SendMessage
Obtener respuesta - ReadMessage
Evaluar la respuesta - Evaluate
Finalizar interacción tipificando - Disposition
Insertar un usuario en una tabla - ExecQuery
Transferir a una campaña - TransferBot
Consultar la versión del sistema y guardar la variable - LogOp
Utilizar la variable en una respuesta y finalizar la interacción - SendMessage
Expand | ||
---|---|---|
| ||
Comenzaremos por agregar la acción de BotStartActivity y ponerle un nombre al bot. Este nombre es el mismo que se mostrará en el menú desplegable de configuraciones. Luego agregaremos dos SendMessage que se enviarán seguidos. El primero será nuestra presentación, en él advertiremos al usuario que debe seleccionar una de las opciones que le daremos a continuación. En el segundo daremos las opciones, haciendo una por línea y comenzando con numero y guión. En esta instancia el bot esperará la respuesta del cliente, para ello debemos agregar la actividad ReadMessage y nuestro flujo se verá como el siguiente: Ahora le agregaremos los Evaluate para analizar la respuesta obtenida. En cada uno indicaremos la condición que debe tener la variable para que sea válido Para cada opción le agregaremos su destino, es decir, en el segundo y cuarto Evaluate utilizaremos ExecQuery y en el tercero un TransferBot. En el primer ExecQuery escribiremos un insert, en el desplegable seleccionamos la base de datos en la que se realiza y en la variable le pondremos un nombre para utilizar luego en la respuesta, en este caso es En el segundo realizará una consulta por la versión del sistema, en el desplegable seleccionamos la base de datos en la que se realiza y en la variable le pondremos el mismo nombre para utilizar luego en la respuesta, en este caso es En el TransferBot simplemente pondremos el nombre de la campaña a la cual será transferido el cliente. Hasta aquí solo resta agregar un SendMessage devolviendo la respuesta y seguido un FinishInteraction. Ahora solo resta unir nuestros flows o ajustarlo a nuestras necesidades agregando tipificaciones logs o WS y les quedaría algo similar a lo siguiente:
|
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
Si deseas enviar un correo desde una campaña específica y un destinatario específico, debes configurar lo siguiente:
Ejemplo:
Y en la URL debemos setear lo siguiente:
Por último, setear POST en nuestro método y x-www-form-urlencoded para el content type. |
Ejemplo de bot simple:
View file | ||
---|---|---|
|
Hasta aquí llega la introducción a Bots.
Próximamente agregaremos posts y videos al respecto.