Respuestas entre Power Apps y Power Automate

En muchos escenarios de negocio, Power Apps necesita ejecutar flujos de Power Automate para enviar o recibir información de un servicio o sistema externo o simplemente para ejecutar varias tareas automatizadas. En todos estos casos, el flujo de trabajo siempre debería devolver una respuesta, para que la aplicación pueda interpretar el resultado de la forma más adecuada, aunque el flujo termine en error. En algunos casos, esta respuesta será de un tipo de datos simple (texto, numérico, booleano, fecha, ….) mientras que en otros, necesitaremos devolver listas o estructuras de datos más complejas.

En este artículo nos centraremos en cómo devolver estas respuestas de forma adecuada a Power Apps para que no tengamos que realizar manipulaciones en la app una vez recibida la respuesta. En Power Automate, existen básicamente dos acciones que nos permiten devolver un resultado hacía Power Apps:

A continuación veremos cómo utilizar estas acciones, y analizaremos cuando es mejor utilizar una u otra. Para tal propósito, utilizaremos como ejemplo un flujo muy sencillo en el que devolveremos una lista de clientes a través de una petición HTTP.

Lo que nos importa es únicamente la última acción del flujo, donde devolvemos una respuesta a Power Apps.

Respond to Power Apps

Esta acción será la primera a considerar cuando queramos devolver un resultado a Power Apps, y nos permite utilizar los siguientes tipos de datos:

En una misma respuesta, podemos devolver incluso distintos parámetros de salida. En este ejemplo, estamos devolviendo dos parámetros, y CustomerList, ambos de tipo texto:

Para llamar al flujo desde Power Apps, simplemente tendremos que crear un botón, y utilizar la opción Power Automate ubicada en la pestaña Action:

El flujo se llama ObtenerClientesDynamics, lo ejecutamos a través de la función Run y guardamos el resultado en una variable global llamada varResponse. Si después de ejecutar el flujo, comprobamos el valor de la variable, esto es lo que encontramos:

Todo ha funcionado correctamente, por lo que ya podríamos mostrar la lista de clientes en una galería. No obstante, hay que tener en cuenta que el parámetro customerList es un campo de tipo texto en formato JSON, por lo que para poder mostrarlo en una tabla o galería, primero lo tendríamos que convertir en una colección de datos. En este punto es donde aparece una de las limitaciones de la acción Respond to Power Apps, ya que por el momento Power Apps no permite parsear un JSON de forma fácil. Podéis votar esta idea para que lo que incluyan de forma nativa.

HTTP response

Aunque existe algún workaround para parsear el JSON de forma manual en Power Apps, es mucho más fácil utilizar la acción HTTP response en Power Automate para devolver respuestas con una estructura compleja. La diferencia con la acción anterior, es que en este caso Power Apps ya detectará el resultado como una colección de datos y no como una cadena de texto.

Cabe destacar que este conector es de tipo premium, por lo que necesitaremos tener una licencia de pago de Power Automate. Esta acción nos permite crear fácilmente una petición HTTP en la que podemos indicar tanto el Status Code, y finalmente el , que es lo que nos ocupa en este ejemplo. En nuestro caso, el body contendrá la lista de clientes en formato JSON.

Al igual que antes, llamaremos al flujo desde Power Apps, pero en este caso, en vez de guardar el resultado en una variable, lo guardaremos directamente en una colección llamada colCustomers:

Si después de ejecutar el flujo vamos a comprobar la colección, veremos que Power Apps ya ha transformado el JSON en una colección, y al mismo tiempo, cada columna de la colección tendrá asignado de forma automática su tipo de datos: texto, decimal, booleano, etc…

A partir de aquí, dado que ya tenemos los datos en una colección, podemos utilizarla de forma muy ágil para mostrar los datos en una galería.

Para finalizar, es interesante mencionar que podríamos incluso utilizar el Status Code de la petición HTTP junto con la gestión de errores en Power Automate para indicar a Power Apps si el flujo está devolviendo una respuesta válida.

Hasta aquí el post de hoy, en el que hemos analizado dos formas de devolver respuestas desde Power Automate a Power Apps.

Follow the power!

Follow the Power {Platform}, por Miquel Vidal

Blog sobre las BizApps de Microsoft, especialmente Power Platform

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store