Hoy vamos a ver como hacer que un Power Virtual Agents pueda comprobar datos en Business Central. Para el ejemplo, usaremos una consulta de clientes, pero podrÃa ser cualquier tabla estandar.
Creación del BOT
Un BOT es un asistente virtual que emula lo que responderÃa un humano. Dentro de la Power Platform, disponemos de una herramienta llamada Power Virtual Agents, que nos permite diseñar nuestros asistentes virtuales, sin necesidad de tener conocimientos ni de inteligencia artificial ni de programación.
En este post, no usararemos nada de código para desarrollar nuestro BOT que será capaz de leer datos de clientes en Business Central.
Para crear un BOT podemos acceder desde nuestro diseñador de Power Apps (make.powerapps.com)
El sistema nos pide que le pongamos un nombre y le digamos que idioma hablará el BOT. Un Power Virtual Agents, solamente puede hablar un idioma.
Los temas son conversaciones que tenemos con nuestro Power Virtual Agents (PVA). Estas conversaciones se disparan por una palabra o frase desencadenadora. En nuestro ejemplo crearemos un nuevo tema, seleccionando del menú Temas -> Nuevo tema
Frases desencadenadoras
Para que se lance nuestra conversación, lo primero que debemos definir serán nuestras frases desencadenadoras, por ejemplo: Business Central, clientes, consultar cliente,...
En el caso de que la respuesta sea negativa (no quieres consultar un cliente) cerraremos la conversación mediante el redireccionamiento a otro tema (uno de los temas del sistema llamado Adios). En el caso de que sÃ, haremos una nueva pregunta para solicitar el número de cliente de Business Central y guardarlo en otra variable (varNumCliente)
Llamada a una acción: Power Automate
Una vez que nuestro interlocutor ha introducido el número de cliente, debemos comprobar que existe dentro de Business Central y para eso utilizamos Power Automate, al que le pasamos como parámetro la variable varNumCliente:
El tipo de flujo es inmediato desencadenado por una llamada de Power Virtual Agents, donde podemos encontrar un parámetro de entrada (el número de cliente a buscar). En el paso siguiente de Power Automate, usamos el conector de Business Central con la acción "Buscar Registros", donde introducimos el Entorno, el nombre de la empresa, la categorÃa de la API (en estos momentos v2.0) y la tabla donde buscar (en este caso customers). Dentro de opciones avanzadas, ponemos el filtro de busqueda:
number eq 'ENTRADA'
La notación es de filtros API, donde le indicamos que el número de cliente (number) sea igual (eq) al parámetro que recibimos de Power Virtual Agents (Entrada).
En los siguientes pasos, inicializamos unas variables:
numItems: Donde guardamos el número de registros que nos devuelve el conector Buscar Registros. En nuestro caso, puede ser uno o ninguno. Por lo que usaremos una expresión para ver la longitud del dato devuelto:
CustomerInfo: Donde almacenaremos el nombre del cliente
El siguiente paso del flujo será comprobar que se ha encontrado el cliente (numItems > 0), por lo que usaremos un condicional:
En caso de que no lo encuentre (numItems = 0) entonces sale del flujo.
Si por el contrario, localizamos el número de cliente (caso positivo) debemos usar un paso de control "Aplicar a cada uno", debido a que el conector "Buscar registros" nos puede devolver varios registros, aunque en nuestro caso solamente podrá ser uno.
El control Aplicar a a cada uno necesita un parámetro que será el valor devuelto por Buscar registros (value). Allà usaremos otra acción del conector de Business Central llamada Obtener registro, para localizar todos los datos del cliente, pasándo como parámetro el ID obtenido en la búsqueda.
Componemos un texto con todos los datos que queramos consultar, mediante la acción "Redactar".
Finalmente inicializamos la variable CustomerInfo, con todos la salida obtenida de "Redactar". Es decir, con todos los valores que queramos recuperar de clientes.
En el último paso, el flujo devolverá un parámetro con todos la variable CustomerInfo.
Volviendo a Power Virtual Agents
Una vez que hemos terminado el flujo con la llamada, desde Power Virtual Agents, comprobaremos con una condición si la variable devuelta del flujo (CustomerInfo) tiene algún valor. Es decir, se ha encontrado el cliente.
Si el cliente no existe, nos mostrará un error indicándolo. En caso de localizarlo mostraremos un mensaje con los datos obtenidos, usando para ello las variables recibidas:
Finalizaremos la conversación redirigiendo a otro Tema: Fin de la conversación.
Cuando acabemos nuestro Tema, lo guardaremos para poder probarlo.
Probando el flujo
El propio entorno dispone de un BOT para poder ver en directo como está funcionando nuestro tema. Es decir, comprobar que recorre el arbol de conversación según lo que le hemos dicho. Para ello tenemos que ejecutarlo mediante una frase desencadenadora:
Publicando tu BOT
Una vez finalizadas las pruebas, podemos proceder a publicar nuestro BOT. Para ello, iremos al menú publicar y una vez allÃ, pulsaremos al botón "Publicar"
Cuando nos indique que está listo, podemos probarlo en alguno de los canales disponibles, como podr ejemplo el sitio web de demostración:
Conclusión
Aquà hemos comprobado como hacer consultas a Business Central usando el conector de Power Automate, sin utilizar código.
No hay comentarios:
Publicar un comentario