Gonzalo Rementeria

02 – Activar y desactivar flujos de Power automate de forma masiva

En este artículo voy a mostrar un flujo de power automate cuya función es activar o desactivar todos los flujos que haya dentro de una solución.

Seguramente os ha pasado que para determinada tarea. Como puede ser una importación masiva de datos. Teneis que desactivar y activar una gran cantidad de flujos para que estos no salten. Algo muy típico en los flujos cuyo desencadenados es la creación o edición de un registro.

Por ejemplo si tenemos un par de flujos no es una tarea demasiado tediosa (aunque igulmente se puede aplicar esto, pues podríamos automatizar la desactivación de los flujos, carga de datos y activación). Pero si tenemos 10-20 flujos el tiempo es más considerable. Y ya ni hablemos si tenemos 50-100 o más flujos.

Pues bien, de este modo que voy a enseñar podemos agilizar enormemente este proceso. Lo único que habría que hacer es meter en una solución todos los flujos que queremos desactivar junto con este. Y ejecutarlo. Asi de sencillo.

A continuación explico el flujo:

1-El desencadenador en este caso es manual y recoge un parámetro de tipo texto.

2-Iniciamos una variable vacía para guardar los mensajes de error.

3-A modo de try catch usamos las cajitas de ámbito configurando que la cajita de catch solo se eejcute si el paso anterior dio error. En el try ejecutamos el bloque de enumerar flujos como administrador. Que listará todos los flujos. Si da error lo añadiremos a la variable de error.

A continuación en función del valor del parámetro inicial haremos seguiremos uno u otro camino. En este caso si el parámetro inicial es «ACTIVAR» activará todos los flujos y si no lo es, los desactivará. Del mismo modo que antes capturamos los posibles errores. En esta parte cabe destcarar varias cosas. La primera es que el «Nombre del flujo» realmente es su identificador, un GUID. Si queremos obtener el nombre propiamente dicho del flujo. Tendremos que seleccionar la opción «Nombre para mostrar». Además en el mensaje final capturaremos todos los flujos que no hayan podido activarse/ desactivarse. Ya sea porque el flujo tiene errores, o porque no estaba dentro de la solución.

Por útimo tenemos un ámbito que se ejecutará siempre y que comprobará la variable mensaje de error. Si está vacía el flujo acabará con la ejecución como exitosa, si no es así finalizará como error.

Espero que os haya gustado esta solución y os sirva como inspiración para vuestros proyectos. Un saludo.