Global Power Platform Bootcamp 2021

Hoy empieza el Global Power Platform Bootcamp, uno de los eventos más importantes de Power Platform a nivel mundial, y que cuenta con multitud de sedes locales para que podamos elegir la que mejor se adapte a nuestras necesidades y/o intereses.

Por culpa de la pandemia este año los bootcamps serán virtuales, pero esto nos permitirá acceder de forma simultánea a varios eventos, ya que tendremos la posibilidad de acceder a un streaming global de 24h, o conectarnos a una sede en concreto que, en el caso de España, son las siguientes:

También podrás seguir el evento en Twitter, a través de su cuenta oficial y del hashtag #GPPB2021.

Automatiza tu soporte con Power Virtual Agents

Agentless support, inteligencia artificial, lógica determinística… Son conceptos que todos hemos oído en alguna ocasión, y muchos, por lo menos de entrada lo vemos como algo poco comprensible, una especie de caja negra, pero ¿qué hay detrás de ello?

Hoy vamos a presentar una herramienta del ecosistema Microsoft 365, que nos introducirá de una forma muy suave en todo este mundo: Power Virtual Agents (de ahora en adelante PVA).

PVA nos permite diseñar autómatas de atención al cliente y soporte, utilizando un framework de diseño en el que no escribiremos ni una línea de código. A lo sumo, utilizaremos herramientas de las que ya hemos hablado en entradas anteriores, como Power Automate, y lógicamente el uso de variables que nos permitirán recopilar y tratar los datos de la interacción con los usuarios, para desarrollar una experiencia completa e integrada entre los distintos componentes de la suite Microsoft 365.

El objetivo final de la creación de un bot es resolver las preguntas más comunes y repetitivas que llegan a nuestro departamento de atención al cliente, y que implican una dedicación relevante del tiempo por parte de nuestro equipo de soporte. Si conseguimos reducirlas en gran parte, automatizando esta atención a través de un bot, conseguiremos aumentar el valor de nuestro equipo.

El hecho de no necesitar conocimientos avanzados de programación hace que esta tarea sea mucho más accesible. Deberemos centrarnos únicamente en el diseño determinístico: Preguntarnos, como piensan “los humanos”, cuáles son los disparadores que nos permitirán identificar los problemas de forma concisa, como hacer las preguntas para encauzar la conversación hacia donde nosotros queremos y no entrar en una divagación. Al fin y al cabo, la inteligencia artificial conceptualmente es eso, analizar el entorno a través de variables, y diseñar los mecanismos que nos permitirán llegar a las respuestas que esperen nuestros usuarios.

Vamos a empezar.

Creación del Bot

Para experimentar con la creación de bots, necesitaremos una licencia trial de Power Virtual Agents que podéis encontrar en el enlace. Como prerrequisito, se requerirá una cuenta de Microsoft 365, que podemos dar de alta también gratuitamente. El trial de PVA incluirá la capacidad necesaria para la base de datos de Common Data Service, los recursos de Power Automate y otros complementos que podamos usar en la solución.

Una vez dentro de la experiencia de prueba, la creación de nuestro primer bot será muy sencilla; en la parte superior derecha de la pantalla presionamos sobre el icono Bots -> Nuevo bot y rellenamos la información solicitada: nombre del bot, idioma en el que se comunicará con nuestros usuarios y en que entorno Common Data Service se provisionará.

Pasados unos minutos nuestro bot estará listo para su edición.

En la pantalla principal, veremos en la parte izquierda el menú donde accedemos a los distintos elementos de edición, en la parte central, el Chatbot donde en todo momento podemos testear los cambios que vamos realizando sobre el mismo, y en la derecha, un asistente con un guion y resumen de los principales pasos a seguir para publicar nuestro primer chatbot.

Antes de proceder a editarlo, tenemos que entender cómo funciona el sistema. De forma muy resumida: El bot estructura su “cerebro” en “Temas”. Los temas son ítems que definiremos para segmentar las conversaciones, e ir redirigiéndolas a través de estos micro relatos. Es clave, para controlar la complejidad del bot llevar la iniciativa de la conversación y hacer que esta fluya por cauces controlados. Por ejemplo; dando opciones para que el usuario elija entre una serie de elementos, por contraste a dejar preguntas abiertas que hacen que la conversación divague, y sea muy difícil llegar a puntos concretos.

Por defecto, se nos suministran una serie de temas preconfigurados, también dichos De sistema, que son elementos conversativos que sabemos que se deben incluir en cualquier conversación, como, por ejemplo, un saludo, o una despedida.

Si vamos Temas -> ¿Qué tal?  entraremos en el modo edición de las frases de entrada. Aquí, veremos los desencadenadores, que son las palabras que el chatbot estará esperando para mandar al usuario hacia esta línea de conversación. En todos los temas, excepto en los de sistema, se puede modificar los desencadenadores, y crear los que deseemos.

Si pulsamos sobre lienzo de creación, podemos entrar en la edición de la lógica de conversación, personalizar, los mensajes que se muestran en pantalla, y definir variables y condiciones.

Si pulsamos sobre el botón + que aparece al pasar el cursor entre cada nodo, podemos definir las acciones anteriormente comentadas.

Por ejemplo, si formulamos una pregunta, podremos gestionar la respuesta del usuario, y tratarla como una variable, que podemos determinar si estará disponible, solo en esta conversación, o en todo el contexto de la Power Platform, para tratarse en otras herramientas. En este caso, la respuesta a esta pregunta se almacenará en la variable PayIssue.

Aunque no profundizaremos en ello, las preguntas planteadas pueden capturar distintos tipo de variables, booleano, entero, texto, etc, e incluso podemos crear Entidades para deteriminar opciones que estarán disponibles en mas de un tema.

Una vez realizada toda la lógica del proceso, podemos cerrar cada una de las ramas lógicas del tema de varias maneras:

Si la lógica de la conversación va a través de un cauce que consideremos que resuelve la pregunta del usuario, o en la que se toma una acción para corregir su problema en la que no se requiere más interacción por parte de este, lo lógico será terminar con una encuesta de Dynamics 365 Customer Voice que dará por cerrada este línea.

Si la acción ha quedado pendiente, lo podríamos transferir a un agente de soporte técnico “humano” (Requiere de determinados módulos de Dynamics 365 Customer Service de los que no hablaremos hoy) para que el usuario recibiese soporte en tiempo real.

Finalmente, también podríamos dejar la conversación abierta, terminando con una pregunta. El sistema escanearía la entrada del usuario, buscaría entre los desencadenadores de los temas definidos, e intentaría redirigir la conversación a alguno de estos.

Enlazando con Power Automate.

Como en cualquier componente de la Power Platform, tenemos la posibilidad de utilizar el contenido del flujo de conversación y capturarlo en variables que podemos pasar entre los distintos sistemas. En este caso, utilizaremos el nombre de nuestro interlocutor, y el problema con el que se está enfrentando, que hemos capturado previamente en variables, y lo enviaremos a Power Automate para que este envíe un mensaje de Teams para que un miembro del equipo se ponga en contacto con el usuario, con el fin de resolver su problema.

Al pulsar sobre crear un flujo, se abrirá la ventana de edición de Power Automate, donde el primer paso será definir las entradas de información provenientes del flujo. En este ejemplo capturaremos el nombre de la persona que está interactuando con el chatbot y el tipo de problema que reporta, en este caso ambas entradas son de tipo texto.

Posteriormente, haremos el tratamiento de estas variables, en este caso utilizaremos el nombre y el tipo de problema para enviar un mensaje personalizado de Teams a través del conector relevante. Realmente, aquí podemos conseguir todo aquello que nos permite Power Automate, es decir casi cualquier cosa.

Una vez realizadas las acciones de automatización, se devuelve la acción a Power VA para continuar con el proceso de la lógica.

De vuelta a PVA, especificaremos que variables de las que hemos capturado durante nuestra conversación con el usuario, son las que le pasaremos a Power Automate para su tratamiento, según definidas en sus entradas.

Publicación

Una vez terminado el diseño del Bot, recordar que podemos ir testeando los cambios en la ventana de chat, podemos publicarlo para que los cambios sean visibles a través de todos los canales. Para publicar los cambios hechos hasta el momento iremos al menú Publicar -> Publicar

Una vez publicado, podremos hablar con el bot a través de Teams como si fuera un usuario más de nuestra organización, desde una web independiente dedicada para el bot, integrándolo con código iframe en un site de SharePoint o en nuestra web corporativa, publicándolo como una App móvil, desde Facebook… y mucho más.

Resumen y cierre

En este articulo hemos visto los principales componentes y conceptos de Power Virtual Agent, una primera aproximación potente, sencilla y sin código al mundo de los chatbots, que bien diseñada nos pueda ayudar a optimizar la carga y rendimiento de nuestro departamento de soporte y atención al cliente.