Power Automate: Activa flujos desde «Model-Driven Power App Business Process Flows»

Trabajando en proyectos de Power Automate puede llegar a surgir como uno de los requisitos que el usuario de una Power App dirigida por Model-Driven pase a través de una serie de pasos para aprobar una aplicación con un número de puntos de datos. Sin ser un gran fan de los Flujos de Procesos de Negocios (BPFs, en inglés) sentí que era adecuado para este uso en particular.

Una de las mejoras de los Flujos de Procesos de Negocios en años recientes es la habilidad para correr «Action Steps». Añadimos un Action Step a nuestro flujo y activamos ya sea una Acción o un Flujo de trabajo Dataverse clásico. En este caso, si la organización que envía la aplicación aun no existía en Dataverse, los usuarios podrían ejecutar un Flujo de trabajo para crear el registro de Cuenta (y así el flujo de trabajo podría actualizar el registro de aplicación de búsqueda de Cuenta).

NOTA: Cabe destacar que algunos de estos nombres son actualizaciones y no términos nuevos. Por ejemplo, Dataverse es lo que antes se conocía como Common Data Service.

Un usuario puede entonces ejecutar el flujo de trabajo directamente desde la etapa de Flujo de Proceso de Negocios al darle click a un botón.

Una vez que el flujo de trabajo se complete, los usuarios verán una casilla verde que significa que el proceso ha sido ejecutado exitosamente. Cabe destacar que mi flujo de trabajo fue configurado para ser sincrónico, esto significa que tuvo que completarse antes de seguir hacia adelante.

imágen como: https://readyxrmblog.files.wordpress.com/2020/12/2020-12-10_15-03-57.jpg

CORRIENDO FLUJOS DE POWER AUTOMATE

Con esto tenemos la habilidad para correr flujos de Power Automate desde etapas de Flujo de Proceso de Negocios. Lo que veremos a continuación será una versión de esa función más el paso extra para obtener respuesta desde el flujo de vuelta al Flujo de Proceso de Negocios (lo cual es un paso vital).

Junto con el ‘Action Step’ se encuentra la habilidad para ejecutar flujos de Power Automate, llamado ‘Flow Step (Preview)’.

Necesitas crear el flujo de Power Automate antes de que podamos asignarlo a un paso. A la hora de crear un nuevo flujo elige el activador «Common Data Service (current environment) When a flow step is executed».

Model-Driven Power Automate 1

Si bien tenemos la habilidad de definir algunas entradas básicas, la primera pregunta que viene a la mente es cómo obtener el registro en el que estábamos trabajando cuando usamos el Flujo de Proceso de Negocios.

La respuesta es simplemente usando la acción «Common Data Service (current connector) Get Record». Para el ‘Item ID’ podemos acceder esto desde el activador y elegir el ‘BPF Flow Stage Entity Record Id’.

Model-Driven Power Automate 2

A partir de este punto continuaríamos creando el resto de los pasos de nuestro flujo de Power Automate.

Model-Driven Power Automate 3

Lo siguiente sera añadir el ‘Flow Step’ en nuestro Flujo de Proceso de Negocios para permitir a los usuarios correr el flujo desde un paso en el BPF.

El usuario ahora será capaz de correr el flujo desde el Flujo de Proceso de Negocios.

OBTENIENDO UNA RESPUESTA DESDE POWER AUTOMATE

El problema que enfrentamos ahora es que dado que los flujos de Power Automate son procesos asíncronos. Se activan y corren sin proveer respuesta alguna. La acción de flujo solo nos lo mostrará como «Procesando», por lo que aun después de que el flujo sea completado exitosamente, el Flujo de Proceso de Negocios permanecerá como «Procesando». Esto podría paralizar todo el proceso, y si configuras el paso como se requiere (lo cual puede ser) entonces ya no podríamos seguir avanzando.

Dado que los ‘Flow Steps’ aun son «vista previa» se podría pensar que esto es alguna especie de objeto de retraso incompleto, pero es posible ajustar el flujo para mostrar el proceso ya completado.

Lo que necesitamos hacer es modificar el flujo de Power Automate con una acción ‘Common Data Service (current environment) Update a record’ adicional. El paso necesitará actualizar el registro ‘Process Logs’. El parámetro ‘Item ID’ será el valor ‘Flows Workflow Log Id’ del activador de origen. Y después podemos ver el estado del paso BPF.

Model-Driven Power Automate 4

El flujo de Power Automate ahora se verá de la siguiente manera:

Model-Driven Power Automate 5

Conclusiones

Ahora veras que la etapa de BPF ha sido completada cuando ejecutes tú Flujo de Proceso de Negocios y actives el flujo de Power Automate para correr, tras una actualización. Puedes continuar con la siguiente etapa o terminar el BPF.

Mientras que la habilidad para añadir un paso de flujo es bastante directa, el proceso para actualizar el Flujo de Proceso de Negocios desde el flujo mismo no es bastante intuitivo. Con algo de suerte, estos pasos te ayudarán a salir de este apuro y le permitirá a tus usuarios completar los pasos del BPF.

Los Flujos de Procesos de Negocios han evolucionado bastante desde que fueron introducidos por primera vez en Dynamics CRM 2015. Aun así pueden mejorar un poco más. La habilidad para activar flujos de trabajo y flujos desde BPFs añade algo de poder adicional al uso de Power Apps impulsadas por modelos.

Cualquier duda nos leemos abajo.

Power Automate: Activa flujos desde «Model-Driven Power App Business Process Flows»

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll hacia arriba