Un bot es un programa informático que efectúa automáticamente tareas repetitivas.

Disponible para los canales
Webchat, SMS, WhatsApp, Messenger y Email.

Contenido


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 se 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 debe ingresar a uContact con un usuario de tipo Supervisor con permisos para utilizar el diseñador de flujos.

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 bots o 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.

A tener en cuenta:

  • Siempre se debe iniciar un bot con la actividad BotStartActivity

  • Siempre se debe finalizar un bot con la actividad FinishInteraction

  • Luego de una actividad TransferBot NO se debe incluir FinishInteraction


Actividades de bots

Las actividades permiten controlar el funcionamiento del bot.

Para saber más sobre las actividades disponibles, dirigirse a https://integra-scm.atlassian.net/l/c/x5Ph7Q4n


Variantes globales

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

  • VARIABLES: type Object
    Aquí se almacenan las variables propias de la interacción y se mantienen mientras exista la interacción: es posible accederla desde cualquier bot o incluso formularios cuando la interacción esta asignada a un agente.

  • CHANNEL
    Canal por el cual se contacta el cliente.

  • CAMPAIGN
    Campaña de la interacción.

  • GUID
    Guid único de la interacción.

  • CLIENT_ID

    • SMS/WhatsApp
      Número de teléfono del cliente.

    • Webchat
      Contenido del campo Email de webchat.

    • Messenger

Webchat

  • PHONE_NUMBER
    Contenido del campo Teléfono de webchat.

  • CLIENT_NAME
    Contenido del campo Nombre de webchat.

  • INITIAL_MESSAGE
    Contenido del campo mensaje.

SMS/WhatsApp

  • SMS_PROVIDER_TYPE
    Proveedor de SMS por el cual llega la interacción.

  • INITIAL_MESSAGE
    Mensaje que inició la interacción.

Messenger

  • CLIENT_NAME
    Nombre del cliente en facebook.

  • PAGE_NAME
    Nombre de la página por la cual llega la interacción.

  • INITIAL_MESSAGE
    Mensaje que inició la interacción.

Email

  • EMAIL_SUBJECT
    Contiene el texto correspondiente al asunto del email recibido.

  • EMAIL_BODY
    Contiene el cuerpo del email recibido.

  • Al crear el primer flujo para bots, se creará también el contexto bots, en él se listan todos los flujos creados para bots.

  • Previo a crear el primer flujo el contexto bots no existe.

  • Cuando crea un bot para emails recuerde contemplar las posibles respuestas a los mails enviados.

note

Vea cómo crear su primer flujo de bots o descargue un flujo de ejemplo para comenzar a trabajar.

Vea cómo crear su primer flujo de bots o descargue un flujo de ejemplo para comenzar a trabajar.

Bots functions

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

El contexto 'botsFunction' no existirá hasta que sea creado el primer BotFunction.

En los BotFunctions se pueden utilizar todas las actividades de bots, pero iniciarán con BotFunctionStartActivity en lugar de BotStartActivity.


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

  • Las interacciones que se encuentren abiertas al momento del cambio no se verán afectadas, lo mismo aquellas que se encuentren en la queue.

  • A una campaña con bots no es necesario incluirle agentes, ya que el bot tomará las interacciones y las pueden distribuir a otras campañas más específicas.

  • Las interacciones que se generen luego de hacer el cambio, sí comenzarán a utilizar el bot.

  • Los chats con los bots quedan grabados y pueden ser consultados en las grabaciones de su respectivo canal.

  • Los bots cumplen la función de un agente, esto nos permite realizar incluso reportes obteniendo los datos del bot.

  • En las tabla de mensajes de cada canal el parámetro agent es el nombre del bot.


¿Cómo crear el primer bot?

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

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 advertimos al usuario de 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 número y guión.


En esta instancia el bot espera la respuesta del cliente, para ello debemos agregar la actividad ReadMessage y nuestro flujo será como el siguiente:

Ahora le agregamos los Evaluate para analizar la respiuesta obtenida. Cómo colocamos cuatro opciones, utilizaremos cuatro.

En cada uno indicaremos la condición que debe tener la variable para que sea válido.


Para cada opción le agregamos su destino, es decir, en el segundo y cuarto Evaluate utilizaremos ExecQueryJSON 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 respond.

En el segundo realizará una consulta por versión del sistema, en el desplegable seleccionamos la base de datos en la que se realiza; y en la variable pondremos el mismo nombre que se utilizará luego en la respusta, en este caso es respond.

En el TransferBot pondremos el nombre de la campaña a la cual será transferido el cliente.


Hasta aquí solo resta agregar un SendMessage devolviendo la respuesta, seguido de un FinishInteraction.

Ahora solo resta unir nuestros flows, o ajustarlo a nuestras necesidades agregando tipificaciones. logs o WS, y quedaría algo similar a lo siguiente:

Luego de terminado simplemente lo activamos, agregamos a la campaña y tus bots comenzarán a funcionar.


Enviar correo a través de WS de uContact

Si deseas enviar un correo desde una campaña específica y un destinatario específico, debes configurar lo siguiente:

  • Añade la aplicación ExecWebService a tu workflow:

  • Ingresa a su configuración:

  • Llena el body con la siguiente información:

    body={"campaign": "Email","to": "adress@ucontactcloud.com","cc":"example@example.com",
    	"cco":"example@example.com,example2@example2.com",
    	"subject": "Subject",
    	"body": "This is an email body can be HTML",
        "attachments": ["020212/738hbjk-h73894algo.jgp", "020212/738hbjk-h73894algo.jgp"],
        "reports":["<generated_report_guid>.pdf"],
    	"schedule": {
    		"title": "Date title",
    		"organizer": "Myself",
    		"from": "2018-08-24 00:00:00",
    		"to": "2018-08-24 01:00:00"
    	},
    	"template": "templateName",
    	"variables": {
    		"var1":"value",
    		"var2":"value2"
    	}
    }&agent=nombreAgente

Ejemplo:

body={"campaign": "Comercial","to": "gmorales@integraccs.com","cc":"mauricio@cleverideas.com.mx","subject":"Cliente en espera de ser atendido","template": "CleverBOToffline","variables": {"cliente": "${CLIENT_ID}", "texto": "${msgoffline}"}}&agent=generalBot

Y en la URL debemos setear lo siguiente:

http://localhost:8085/IntegraChannels/resources/Forms/SendMailv2

Por último, setear POST en nuestro método y x-www-form-urlencoded para el content type.

Configurar headers de interacción

Es posible desde el bot, configurar headers personalizados para que el agente pueda tener información adicional acerca de la interacción (numero de cliente, numero de caso etc) en la parte superior del cuadro en la unified inbox

(foto de la unified inbox con headers de ejemplo)

Es necesario setar un array en la variable VARIABLES.HEADERS y al mismo array agregarle la cantidad que se desee de objetos

VARIABLES.HEADERS = [];
VARIABLES.HEADERS.push({icon: "fa-user", title: "Nombre de cliente", value: "Ernesto"})

Ejemplo de codigo ejecutado desde el bot


Ejemplo de bot simple: