Power Automate Standards: Flujos de Nube

Ordena tus Flujos: Guía para Nombres Claros y Lógicos
Crear flujos en Power Automate es como cocinar siguiendo una receta. Si los pasos están escritos de forma clara y ordenada, cualquiera puede entenderla y prepararla. Unas buenas convenciones de nomenclatura son la clave para que tus flujos sean fáciles de entender, mantener y mejorar, tanto para ti como para tus compañeros.
1. Ponle Nombre y Apellido a Cada Paso 🏷️
Elige nombres que describan claramente la función de cada componente. Evita nombres genéricos que no dicen nada.
- La regla de oro: El nombre debe ser un «chivato» de lo que hace ese paso.
- Ejemplo: En lugar de llamar a un desencadenador «Desencadenador1», llámalo «Cuando se Recibe un Correo Nuevo en Soporte». Así, cualquiera sabe lo que inicia el flujo de un solo vistazo.
2. Haz que sea Fácil de Leer (camelCase o guion_bajo) ✍️
Para separar palabras en los nombres, usa camelCase (la primera letra de cada palabra en mayúscula, excepto la primera) o guiones bajos _. Esto mejora enormemente la legibilidad.
- Ejemplo: Es mucho más fácil leer
enviarNotificacionPorCorreooenviar_notificacion_por_correoqueenviarnotificacionporcorreo.
3. Etiqueta tus Herramientas con Prefijos
Usar prefijos cortos te ayuda a identificar el tipo de componente al instante. Es como ponerle una pegatina de un color a cada tipo de herramienta en tu caja: las rojas son para una cosa, las azules para otra.
- Ejemplo:
Trg_para Desencadenadores (Triggers).Act_para Acciones (Actions).Var_para Variables.Cond_para Condiciones.
Así, cuando veas un paso llamado Act_EnviarCorreoAprobacion, sabrás inmediatamente que es una Acción.
4. Usa Siempre las Mismas Reglas del Juego 📜
Aplica estas convenciones de nomenclatura de forma consistente en todos tus flujos. Esto crea un estándar en tu equipo u organización.
- El beneficio: Cualquiera podrá entender un flujo que no ha creado, porque todos «habláis el mismo idioma». Se reduce el tiempo de aprendizaje y se evitan confusiones.
5. Apunta las Reglas para que Nadie se las Salte
Documenta estas reglas en una guía de estilo. Así, todos los miembros del equipo, tanto los actuales como los futuros, sabrán cuáles son los estándares a seguir.
- Una buena idea: Crea un pequeño sitio de SharePoint o una página en vuestro gestor de conocimiento donde publiquéis estas directrices. Esto fomenta la uniformidad y asegura que todos construyan flujos de alta calidad.
6. Deja «Post-its» para Explicar los Pasos Difíciles 🧠
Al igual que dejas comentarios en el código, puedes añadir notas a las acciones de tu flujo. Esta práctica es fundamental, sobre todo en flujos complejos o cuando colaboran varias personas.
- ¿Qué comentar?: Explica el «porqué» de una acción, la lógica específica que has usado, o cualquier otra información que ayude a entender el diseño del flujo.
- Analogía: Es como dejar una nota adhesiva en un paso complicado de una receta, diciendo «¡Ojo! Bate esto solo 30 segundos o se cortará». Ayudas a tu «yo del futuro» y a tus compañeros a no cometer errores.

La Magia de los Flujos en «Soluciones»: La Forma Profesional de Trabajar
Imagina que construyes un castillo de LEGO increíble. Un «flujo normal» es como tener todas las piezas sueltas por la habitación. Funciona, pero si quieres mover el castillo a otra casa, es un caos.
Un «flujo en una solución» es como meter todas las piezas de tu castillo, junto con las instrucciones y cualquier muñeco especial, dentro de una caja de mudanza etiquetada. Es mucho más ordenado, seguro y fácil de transportar. Esa «caja» es la solución.
Usar soluciones es la forma correcta y profesional de trabajar en Power Automate, y aquí te explico por qué.
1. Adaptadores Universales en lugar de Enchufes Fijos (Connection References)
Esta es la ventaja más importante.
- Flujo Normal (Enchufe Fijo): Cada acción que se conecta a algo (como SharePoint) tiene un «enchufe» soldado directamente a la pared. Si mueves el flujo a otro sitio (de tu entorno de pruebas al entorno real), tienes que cortar y volver a soldar cada uno de esos enchufes. Es un trabajo manual y propenso a errores.
- Flujo en Solución (Adaptador Universal): El flujo no se conecta directamente, sino a través de un «adaptador» (una Connection Reference). Cuando mueves la «caja» a otro entorno, solo tienes que cambiar el enchufe del adaptador una vez, y todas las acciones que lo usan empiezan a funcionar automáticamente. ¡Es infinitamente más fácil y seguro!
2. El «Ctrl+Z» de tus Flujos (Control de Versiones)
Cuando trabajas en un flujo dentro de una solución, Power Automate guarda un historial de versiones, como hace Google Docs o Word. Si haces un cambio y rompes algo, puedes volver fácilmente a una versión anterior que sí funcionaba. Los flujos normales no tienen esta red de seguridad.
3. Etiquetas para Cada Entorno (Variables de Entorno)
Imagina que en tu entorno de pruebas usas un enlace a una web de «Pruebas» y en el entorno real, a la web «Real».
Con las soluciones, puedes usar una «variable de entorno», que es como una etiqueta Post-it. Dentro del flujo, haces referencia a la etiqueta (ej: «URL del Sitio»). Luego, en cada entorno, simplemente cambias el valor de la etiqueta sin tocar el flujo. Es súper útil para gestionar cosas como emails de administradores, claves de API o cualquier dato que cambie entre entornos.
4. El «Libro de Registro» Centralizado (Historial en Dataverse)
El historial de ejecuciones de los flujos en soluciones se guarda en Dataverse, la base de datos profesional de Power Platform. Esto te permite hacer un seguimiento mucho más detallado y a largo plazo de cuándo se ejecutó un flujo, si falló y por qué. Es como tener un libro de registro completo y auditable de todo lo que ha pasado.
5. Una Cinta Transportadora para tus Despliegues (Pipelines) 🏭
Las soluciones se integran con las «Pipelines» (tuberías de despliegue) de Power Platform. Esto es como tener una cinta transportadora de fábrica que mueve tu «caja» (solución) del entorno de desarrollo al de pruebas y luego al de producción, de forma automática, segura y controlada. Reduce errores humanos y agiliza enormemente el proceso de poner tus flujos en marcha.
6. La Caja Abierta vs. la Caja Precintada (Soluciones Gestionadas)
Las soluciones tienen dos «modos»:
- No Gestionada (Caja Abierta): Es la que usas en tu entorno de desarrollo. Puedes abrirla, añadir, quitar y modificar piezas libremente.
- Gestionada (Caja Precintada): Cuando mueves tu solución a los entornos de pruebas o producción, la exportas como «gestionada». Es como precintar la caja. Una vez allí, nadie puede modificar su contenido directamente. Esto es una práctica de seguridad fundamental para evitar que se hagan cambios «en caliente» en los entornos reales, asegurando que todo pase por el proceso de desarrollo correcto.
En resumen, aunque al principio pueda parecer un paso extra, trabajar con soluciones te ahorra tiempo, evita errores y te da un montón de herramientas profesionales que no están disponibles para los flujos normales. Es la base para construir automatizaciones robustas y fáciles de mantener a largo plazo.

Organiza tus flujos en ámbitos
Un ámbito (o scope en inglés) en Power Automate es como una carpeta para organizar las acciones de tu flujo. Cuando un flujo se hace grande y complejo, los ámbitos te ayudan a mantenerlo ordenado, agrupar tareas relacionadas y manejar errores de forma mucho más sencilla.
Buenas Prácticas para Usar Ámbitos
Agrupa acciones relacionadas 📂
Usa un ámbito para meter juntas todas las acciones que realizan una tarea lógica. Esto mantiene tu flujo limpio y hace que sea fácil entender qué hace cada bloque de un solo vistazo. Por ejemplo, puedes tener un ámbito llamado «Procesar Factura» que contenga todos los pasos relacionados con la lectura y guardado de una factura.
Organiza y simplifica tu flujo
Los ámbitos te permiten crear una estructura visualmente clara. Puedes meter un ámbito dentro de otro para dividir tareas complejas en subtareas más pequeñas y manejables. Además, puedes contraerlos para ocultar los detalles y ver el flujo general, lo que facilita enormemente la lectura y la navegación.
Maneja errores de forma centralizada 🆘
Esta es una de las funciones más potentes de los ámbitos. Puedes configurar un ámbito para que, si cualquier acción dentro de él falla, se ejecute un «plan B».
En lugar de poner un manejo de error en cada acción individual, lo pones en el ámbito «padre». Esto te permite, por ejemplo, enviar una única notificación de error si algo sale mal dentro de un grupo de 10 acciones, simplificando enormemente la lógica de tu flujo.
No abuses de ellos
No todas las acciones necesitan estar dentro de un ámbito. Úsalos con sentido común solo cuando aporten claridad y organización a tu flujo. Crear un ámbito para cada acción individual haría tu flujo innecesariamente complejo.
Consejo: Al igual que con otras acciones, puedes y debes añadir notas o comentarios a tus ámbitos para explicar qué hace el grupo de acciones que contiene.

Simplifique los flujos en la nube descargando la lógica empresarial compleja.
En Power Automate, no debes incluir lógica de negocio compleja directamente en los flujos. Hacerlo puede ralentizar el rendimiento, dificultar la depuración y el mantenimiento, y complicar la escalabilidad. En su lugar, utiliza Power Automate para orquestar el flujo de trabajo y delega las tareas complejas a herramientas más especializadas.
Mantén tus Flujos Simples: Sé el Director de Orquesta, no el Hombre Orquesta
Piensa en Power Automate como el director de una orquesta. Su trabajo es dar las entradas, marcar el ritmo y coordinar a todos los músicos para que la sinfonía suene bien. El director no intenta tocar el violín, el piano y la trompeta a la vez.
Cuando metes lógica de negocio muy compleja en un flujo (como transformaciones de datos masivas o cálculos complicados), estás convirtiendo a tu director en un «hombre orquesta». Esto hace que el flujo sea lento, frágil y casi imposible de entender y mantener.
La clave es dejar que Power Automate haga lo que mejor sabe hacer —orquestar— y delegar las tareas complejas a los «músicos especialistas».
Alternativas para la Lógica Compleja
Aquí tienes varias opciones para sacar la complejidad de tus flujos y asignarla a la herramienta adecuada:
Complementos de Dataverse (Add-ins)
- ¿Qué es?: Son «ayudantes especializados» que viven dentro de Dataverse y son expertos en manejar grandes cantidades de registros de Dataverse.
- ¿Cuándo usarlos?: Cuando necesites procesar o mover miles de filas en Dataverse. En lugar de que el flujo vaya fila por fila (lo cual es lentísimo), le das una sola orden al «ayudante» y él hace todo el trabajo de forma interna y súper eficiente.
Conectores Personalizados (para Azure Functions, etc.)
- ¿Qué es?: Es como «contratar a un experto externo». Si necesitas un cálculo matemático complejo, una integración con un sistema antiguo o cualquier tarea que requiera código personalizado, creas una «función» en Azure (el experto) y la llamas desde tu flujo a través de un conector personalizado (el teléfono para llamar al experto).
- ¿Cuándo usarlos?: Cuando la tarea es demasiado compleja para las acciones estándar de Power Automate. El flujo simplemente dice «experto, haz tu magia» y espera el resultado.
Dataverse y Power Apps
- ¿Qué es?: Es «dividir el trabajo». El «cerebro» que contiene las reglas de negocio complejas reside en Power Apps (con sus reglas de negocio) y en Dataverse (con sus columnas calculadas y flujos de trabajo).
- ¿Cuándo usarlos?: Para la mayoría de los casos de negocio. Power Automate se convierte en el «mensajero» que inicia una acción, pero son Power Apps y Dataverse los que ejecutan las reglas y cálculos para asegurar que todo se haga correctamente.
Flujos de Datos (Dataflows)
- ¿Qué es?: Son una «fábrica de procesamiento de datos» (lo que se conoce como ETL: Extraer, Transformar y Cargar).
- ¿Cuándo usarlos?: Cuando trabajas con transformaciones de datos a gran escala. Por ejemplo, si tienes que leer un archivo Excel gigante con miles de filas, limpiarlo, validarlo y cargarlo en Dataverse, no uses un flujo. Un flujo de datos está diseñado específicamente para esa tarea masiva y lo hará de forma mucho más rápida y fiable.

Crea código reutilizable con flujos secundarios
En Power Automate, en lugar de construir un único flujo gigante y complejo, puedes dividirlo en partes más pequeñas y reutilizables llamadas flujos secundarios (o child flows).
Piensa en ello como cocinar una lasaña. En lugar de tener una única receta larguísima, tienes una receta principal (el flujo principal) que te dice cuándo usar otras recetas más pequeñas: una para la salsa boloñesa, otra para la bechamel y otra para la pasta (los flujos secundarios).
Beneficios de Usar Flujos Secundarios
Modularidad y Reutilización
Un flujo secundario es como una «sub-receta» que puedes usar en muchos platos diferentes. Si creas un flujo secundario para «Enviar una Notificación por Teams», puedes llamarlo desde tu flujo de aprobación de vacaciones, desde tu flujo de informe de gastos, etc., sin tener que construir esa parte una y otra vez.
Mantenimiento Sencillo
Si un día decides que quieres cambiar cómo se envían las notificaciones (por ejemplo, añadir un emoji), solo tienes que editar el flujo secundario «Enviar una Notificación por Teams» una vez. Automáticamente, el cambio se aplicará en todos los flujos principales que lo utilizan. ¡Te ahorra un montón de trabajo!
Escalabilidad y Organización
Los flujos grandes son difíciles de leer y de modificar. Dividir el trabajo en flujos más pequeños y enfocados hace que todo sea más limpio, ordenado y fácil de escalar. Si necesitas añadir una nueva funcionalidad, a menudo solo tienes que crear un nuevo flujo secundario y «enchufarlo» al principal.
Colaboración en Equipo
Permite que diferentes personas del equipo trabajen en paralelo. Una persona puede estar perfeccionando el flujo secundario de «Obtener Aprobadores» mientras otra trabaja en el flujo principal de «Solicitud de Compra».
Consejo: Para que todo funcione correctamente, tanto el flujo principal como todos sus flujos secundarios deben estar creados dentro de la misma solución.

Optimice los flujos con ejecución paralela y concurrencia.
Para que tus flujos sean más rápidos y eficientes, puedes usar la ejecución en paralelo y la simultaneidad para que Power Automate haga varias cosas a la vez, en lugar de una detrás de otra.
Ejecuta Tareas en Paralelo 🍳
La ejecución en paralelo es como cocinar con varios fuegos a la vez. En lugar de preparar primero la pasta, luego la salsa y después las verduras, uno detrás de otro, puedes poner cada cosa en un fuego y cocinarlas simultáneamente. El plato estará listo mucho antes, cuando todos los componentes terminen de cocinarse.
¿Cuándo usarlo? Úsalo para tareas que no dependen entre sí y que tardan un poco en completarse. Por ejemplo:
- Enviar varias solicitudes de aprobación a la vez.
- Crear o actualizar registros en diferentes sistemas (Dataverse, SharePoint, etc.) al mismo tiempo.
- Obtener datos de varias fuentes a la vez para luego unirlos.
- Inicializar varias variables al principio del flujo para no tener que hacerlo de una en una.
Evita las Acciones «Saltadas»
Ten cuidado con las acciones que se «saltan» en las ramas paralelas, especialmente en los condicionales Switch. Si tienes muchas acciones dentro de cada caso del Switch, la mayoría de ellas se marcarán como «saltadas» porque solo se ejecutará una de las ramas. Esto puede hacer que el flujo sea confuso y consuma recursos innecesariamente.
La solución: En lugar de poner muchas acciones dentro de cada caso del Switch, llama a un flujo secundario. Es mucho más limpio que se «salte» un único flujo secundario a que se salten 20 acciones individuales.
Procesa Listas en Tiempo Récord (Control de Simultaneidad) 🛒
Por defecto, cuando un flujo tiene que hacer algo con una lista de elementos (un bucle «Aplicar a cada uno»), lo hace de uno en uno, de forma secuencial.
La simultaneidad (o concurrency) te permite procesar varios elementos de la lista a la vez.
Analogía: Piensa en la cola de un supermercado.
- Sin simultaneidad (por defecto): Hay una sola caja abierta y el cajero atiende a los clientes uno por uno.
- Con simultaneidad: El supermercado abre varias cajas a la vez. Puedes decidir cuántas abrir (el «grado de simultaneidad», de 1 a 50) y los clientes de la cola se reparten entre ellas, avanzando mucho más rápido.
¿Cuándo usarlo? Es perfecto para tareas masivas como:
- Enviar un correo electrónico individual a una lista de muchos destinatarios.
- Actualizar miles de registros en Dataverse o SharePoint.
- Crear muchos usuarios nuevos en Microsoft Entra ID.
Ojo: Abrir 50 «cajas» no siempre es la opción más rápida. Hay un pequeño coste de «gestión» por cada tarea paralela, así que tienes que encontrar el número óptimo para tu caso. A menudo, un valor entre 10 y 20 es más que suficiente.
Importante: La simultaneidad solo funciona en el bucle principal. Si tienes un bucle «Aplicar a cada uno» dentro de otro, el de dentro siempre se ejecutará de uno en uno.

Trabaja solo con datos relevantes
Para que tus flujos de Power Automate sean rápidos y eficientes, deben trabajar solo con los datos que realmente necesitan. Es como ir al supermercado a por los ingredientes para una tarta: no compras el supermercado entero, solo coges la harina, los huevos y el azúcar que te hacen falta.
Procesar datos innecesarios no solo ralentiza tu flujo, sino que también consume unos límites de uso que tiene Power Automate. Si tu flujo mueve demasiados datos constantemente, Microsoft primero lo ralentizará y, si el problema persiste, podría llegar a desactivarlo.
Filtra los Datos desde el Principio (en el Desencadenador)
La mejor forma de ser eficiente es filtrar los datos antes de que entren en tu flujo. Es como decidir a qué pasillo del supermercado vas a ir antes de empezar a llenar el carro.
- En Dataverse: Usa expresiones de filtro (OData) en el propio desencadenador. Por ejemplo, si solo te interesan los clientes de una ciudad, puedes decirle que se active únicamente «cuando se cree un cliente donde la ciudad sea igual a ‘Madrid’«.
- En SharePoint: Aprovecha las vistas. Puedes crear una vista en tu lista de SharePoint que ya filtre los registros y muestre solo las columnas que necesitas. Luego, en el desencadenador del flujo, simplemente le dices que trabaje con esa vista. Es como pedirle al personal del súper un «kit para ensalada» ya preparado.
Sé Selectivo en Cada Paso (en las Acciones)
Si no pudiste filtrar todo en el desencadenador, todavía puedes ser selectivo en cada acción del flujo. Ahora que ya estás en el pasillo correcto, eliges solo los productos que quieres.
Tanto en Dataverse como en SharePoint, tienes opciones muy parecidas dentro de las acciones como «Obtener filas» u «Obtener elementos»:
- Seleccionar columnas / Limitar columnas por vista: En lugar de traer las 50 columnas de una tabla, le dices «solo tráeme las columnas ‘Nombre’, ‘Email’ y ‘Teléfono'».
- Filtrar filas / Consulta de filtro: Añades un filtro extra. Por ejemplo, «de todos los pedidos, solo quiero los que tengan el estado ‘Activo’«.
- Recuento de filas / Recuento superior: Limitas el número máximo de registros. Por ejemplo, «tráeme como mucho los 100 primeros registros que cumplan el filtro». Esto es crucial para evitar que tu flujo intente procesar miles de filas si no es necesario.

Evita los anti-patrones
Los anti-patrones son «malos hábitos» al construir flujos. Son prácticas que a primera vista parecen una buena idea, pero que en realidad hacen que tus flujos sean lentos, ineficientes y propensos a fallar.
Evitar estos anti-patrones es clave para crear automatizaciones robustas y de alto rendimiento.
1. Evita los Bucles Anidados (Uno dentro de Otro) 🍝
Un bucle «Aplicar a cada uno» (For each) dentro de otro es uno de los mayores «asesinos» del rendimiento.
- El problema: El número de operaciones se multiplica exponencialmente. Si tienes un bucle de 10 elementos y dentro pones otro de 10, el flujo realizará 100 operaciones. Si fueran 100 elementos en cada uno, ¡serían 10.000 operaciones! Esto consume muchísimo tiempo y recursos.
- La analogía: Es como si tuvieras que hacer recados. Tienes una lista de 10 supermercados, y en cada uno tienes que comprar 10 productos. Un bucle anidado sería como ir al primer súper, comprar solo el primer producto, volver a casa, ir otra vez al mismo súper a por el segundo producto, y así 10 veces antes de pasar al siguiente supermercado. ¡Una locura!
- La solución (con Dataverse): Usa la «Expansión de consulta» (Expand Query). Es como decirle a Dataverse: «Cuando me des la lista de supermercados, tráeme ya incluida la lista de la compra de cada uno, todo en un solo viaje». Esto reduce cientos de llamadas a una sola.
2. Cuidado con los Bucles Infinitos 🔄
Un bucle infinito ocurre cuando un flujo se desencadena a sí mismo sin parar. Es como un perro persiguiéndose la cola.
- El problema: El flujo se ejecuta una y otra vez, consumiendo todos los recursos hasta que Microsoft lo ralentiza o lo desactiva.
- El ejemplo clásico: Creas un flujo que se activa «Cuando se modifica un elemento» en una lista de SharePoint. Si una de las acciones de ese flujo es modificar ese mismo elemento, se volverá a activar a sí mismo, creando un bucle eterno.
- La solución:
- Condiciones en el desencadenador: Añade una condición para que el flujo solo se active si se cumple un criterio específico. Por ejemplo: «actívate solo si el estado es ‘Pendiente'». Si tu flujo cambia el estado a «Completado», no se volverá a activar.
- Terminar el flujo: Usa la acción «Terminar». Al principio de tu flujo, comprueba si la modificación es una que no debería reactivarlo. Si es así, simplemente termina la ejecución en ese momento.
3. No Uses un Flujo como una Fábrica (Transformaciones de Datos Masivas) 🏭
Un flujo es como una cocina casera: es genial para tareas pequeñas y medianas. Pero si necesitas procesar un camión entero de tomates (un Excel con miles de filas) para convertirlo en kétchup (datos limpios en Dataverse), no lo haces en tu cocina. Para eso necesitas una fábrica industrial.
- El problema: Usar un flujo para transformar grandes volúmenes de datos es extremadamente lento e ineficiente.
- La solución: Usa Flujos de Datos (Dataflows). Son la herramienta de Power Platform diseñada específicamente para estas tareas masivas (lo que se conoce como ETL). La estrategia correcta es:
- Usa el flujo para dar la orden a la «fábrica» de que empiece a trabajar (iniciar la actualización del flujo de datos).
- Usa otro flujo que se active cuando la «fábrica» haya terminado su trabajo, para realizar acciones posteriores (como enviar una notificación).
No Actualices Registros Uno por Uno (Operaciones por Lotes) 💸
Si tienes que crear o actualizar miles de registros, usar un bucle «Aplicar a cada uno» para procesarlos de uno en uno es muy lento.
- El problema: Cada operación individual es una llamada separada al servidor, lo que genera mucho retraso.
- La analogía: Es como tener que pagar 1.000 facturas escribiendo 1.000 cheques individuales y enviándolos uno por uno.
- La solución:
- Paralelismo: Configura el bucle «Aplicar a cada uno» para que procese hasta 50 registros en paralelo (como tener 50 personas pagando las facturas a la vez).
- Operaciones por lotes («Batch»): Muchos conectores permiten agrupar muchas operaciones en una sola llamada. Es como hacer una única transferencia bancaria masiva que paga las 1.000 facturas de golpe.
- Operaciones masivas en Dataverse («Bulk»): Esta es la opción más rápida para Dataverse. Es como enviar un único archivo digital al banco con todas las instrucciones, que se procesa como una sola transacción. Es la máxima eficiencia.
Cuando un flujo o una aplicación llama a otro flujo (un flujo secundario), se queda esperando una respuesta. Si el flujo secundario tarda más de 120 segundos en terminar, la llamada «se corta» y da un error de tiempo de espera (timeout). Esto es un problema para procesos largos, como una aprobación que puede tardar horas o días.
La solución es usar respuestas asíncronas.
Analogía:
- Normal (Síncrono): Es como llamar a un restaurante para pedir una pizza y quedarte al teléfono esperando hasta que la pizza esté lista. Si tardan más de dos minutos, se te corta la llamada.
- Asíncrono: Es llamar al restaurante, hacer el pedido y que te digan: «Recibido, ya te hemos asignado un número de pedido. Puedes colgar y consultar el estado en nuestra web cuando quieras».
Cómo Funcionan las Respuestas Asíncronas
Cuando configuras un flujo para que responda de forma asíncrona, en lugar de hacer esperar al que lo llamó, le devuelve inmediatamente dos cosas:
- Un código de estado 202: Es el «OK, hemos recibido tu solicitud y nos ponemos a ello».
- Una URL de ubicación: Es el «número de seguimiento». Es un enlace que el flujo principal puede usar para consultar más tarde si el proceso ha terminado y cuál ha sido el resultado.
Esto permite que el flujo principal continúe con sus tareas sin quedarse bloqueado, mientras el flujo secundario trabaja en su proceso largo por detrás.
Cómo Configurar una Respuesta Asíncrona
Configurarlo es muy sencillo:
- En tu flujo secundario (el que va a tardar mucho), añade al final una acción de «Respuesta».
- Haz clic en los tres puntos (
...) de esa acción y selecciona «Configuración». - Activa el interruptor de «Respuesta asíncrona».
¡Y ya está! Con este simple cambio, tu flujo secundario ya no provocará errores de tiempo de espera en los flujos que lo llamen.

Usa Variables de Entorno
Las variables de entorno en Power Automate son como etiquetas Post-it reutilizables que puedes pegar en tus flujos. En lugar de escribir un dato directamente en una acción (como la dirección de un sitio de SharePoint), lo escribes en una de estas etiquetas y luego haces que tu flujo lea lo que pone en ella.
La gran ventaja es que puedes cambiar el valor de la etiqueta sin tener que modificar el flujo. Esto es súper útil cuando mueves tus automatizaciones entre diferentes entornos (desarrollo, pruebas y producción).
¿Por Qué Usar Variables de Entorno?
Imagina que tu flujo necesita conectarse a una base de datos. La dirección de la base de datos de «Pruebas» es diferente a la de «Producción».
- Sin variables de entorno: Tendrías que entrar en el flujo, buscar la acción correspondiente y cambiar la dirección a mano cada vez que lo mueves de un entorno a otro. Es un proceso manual, lento y propenso a errores.
- Con variables de entorno: Creas una variable llamada
URL_Base_Datos.- En el entorno de Pruebas, el valor de esa variable es
https://pruebas.miempresa.com. - En el entorno de Producción, el valor es
https://real.miempresa.com.
- En el entorno de Pruebas, el valor de esa variable es
Tu flujo siempre hace referencia a URL_Base_Datos. Nunca tienes que editar el flujo; solo cambias el valor de la «etiqueta» en cada entorno.
Beneficios clave:
- Separas la configuración de la lógica: Tu flujo (la lógica) no cambia, solo los datos de configuración.
- Simplificas los despliegues: Mover flujos entre entornos es mucho más fácil y seguro.
- Facilitas el mantenimiento: Si una dirección URL cambia, solo la actualizas en un sitio (la variable de entorno) y todos los flujos que la usan se actualizan automáticamente.
Buenas Prácticas al Usar Variables de Entorno
Usa nombres claros y consistentes 🏷️
Nombra tus variables de forma que se entienda qué contienen. Por ejemplo, Email_Administrador_Soporte es mucho mejor que Dato1.
Usa los valores por defecto con cabeza
Al crear una variable, puedes darle un «valor por defecto». Este valor se usará como respaldo si no defines uno específico en un nuevo entorno. Asegúrate de que sea un valor sensato.
Documenta tus variables 📝
Cuando crees una variable, aprovecha el campo de «descripción» para explicar para qué sirve y qué tipo de valor espera. Esto ayuda a que otros miembros del equipo (y tu «yo del futuro») entiendan cómo usarla.
Evita guardar datos sensibles 🔒
No guardes contraseñas, claves secretas u otra información muy sensible directamente en las variables de entorno. Para eso, es mucho más seguro usar un «almacén de secretos» como Azure Key Vault e integrarlo con tus flujos.

Gestión de Errores
Manejar los errores de forma robusta es clave para que tus flujos sean fiables y no fallen de forma inesperada. Piensa en ello como si fueras un piloto de avión: no solo sabes volar en condiciones perfectas, sino que tienes un plan para cada posible emergencia
1. Ten un Plan de Desvío (Configura «Ejecutar después de») ✈️
Para cada acción en tu flujo, puedes definir qué debe pasar a continuación no solo si tiene éxito, sino también si falla, si se agota el tiempo de espera o si se omite. Esto te permite crear «rutas alternativas» o planes de desvío.
Por ejemplo, si la acción «Actualizar una fila» falla, puedes crear una ruta alternativa que se active solo en caso de fallo para enviar un correo de notificación.
2. Accede a la «Caja Negra» del Flujo (Función workflow()) 📝
La función workflow() te da acceso a toda la información sobre la ejecución actual del flujo, como si fuera su «caja negra». Te proporciona detalles como el nombre del flujo, el entorno y un ID único para esa ejecución específica.
Esto es súper útil para registrar errores. Puedes crear un enlace directo a la ejecución que ha fallado y enviarlo en un correo de notificación, para que quien tenga que arreglarlo pueda ir directamente al problema con un solo clic.
3. Usa «Cajas de Contención» para Errores (Ámbitos Try-Catch) 📦
En lugar de gestionar los errores de cada acción por separado, puedes agrupar varias acciones en un ámbito (una «caja»). La estrategia más común es el patrón «Try-Catch»:
- Ámbito «Try» (Intentar): Metes todas las acciones principales de tu proceso en esta «caja».
- Ámbito «Catch» (Atrapar): Creas una segunda «caja» justo debajo.
- Configuras el Plan B: Le dices al ámbito «Catch» que se ejecute solo si el ámbito «Try» ha fallado.
Dentro del ámbito «Catch», puedes poner todas las acciones para manejar el error: registrar los detalles en una lista de SharePoint, enviar una notificación por Teams, etc. Es una forma increíblemente limpia y ordenada de centralizar el manejo de errores.
4. Inténtalo de Nuevo Automáticamente (Directiva de Reintentos) 🔁
A veces, un servicio externo falla de forma temporal por un problema de red o porque está ocupado. En lugar de que tu flujo falle a la primera, puedes decirle que vuelva a intentarlo automáticamente.
La mejor estrategia es la «exponencial»: el flujo espera un poco antes del primer reintento, luego espera un poco más para el segundo, luego más para el tercero, y así sucesivamente. Esto le da tiempo al servicio externo para recuperarse sin sobrecargarlo con reintentos constantes.
5. Realiza un Aterrizaje de Emergencia (Acción «Terminar») 🛑
Si ocurre un error crítico del que el flujo no puede recuperarse, lo mejor es detenerlo de forma controlada. La acción «Terminar» te permite parar la ejecución inmediatamente.
Puedes configurarla para que marque el estado del flujo como «Erróneo» y añadir un mensaje personalizado explicando por qué se ha detenido. Esto evita que se ejecuten acciones posteriores que podrían causar más problemas.
6. Registra el Incidente y Avisa a la Torre de Control 🚨
Para tener un sistema robusto, siempre debes registrar los errores y notificar a las personas adecuadas.
- Registrar: Usa una acción para guardar los detalles del error (qué ha fallado, cuándo, en qué flujo) en un sitio centralizado, como una lista de SharePoint o una tabla de Dataverse.
- Notificar: Envía un correo electrónico o un mensaje de Teams a los dueños del proceso o al equipo de soporte, incluyendo el enlace directo a la ejecución que ha fallado.
Además, Power Automate ya envía notificaciones por defecto al propietario del flujo cuando ocurren fallos críticos, como una conexión rota.
Solucionar problemas de flujos en la nube
Cuando un flujo falla, solucionar el problema suele ser un proceso lógico. Piensa en ello como si fueras un detective investigando qué ha salido mal.
Pasos para Solucionar Problemas 🕵️♂️
- Revisa el historial de ejecuciones: Este es tu primer paso. Ve al historial del flujo y busca la ejecución que ha fallado. Power Automate te mostrará exactamente en qué paso se ha producido el error y, a menudo, te dará un mensaje explicando el porqué.
- Comprueba las conexiones: Un fallo muy común es que una conexión haya caducado o no tenga los permisos necesarios. Asegúrate de que todas las conexiones que usa tu flujo están autenticadas y tienen permiso para hacer lo que les pides. Es como verificar que tienes la llave correcta para abrir una puerta. 🔑
- Verifica los datos de entrada: ¿Los datos que le estás pasando al flujo son correctos? A veces, un campo vacío o un formato de fecha incorrecto puede hacer que todo falle.
- Revisa si algo ha cambiado en el entorno: ¿Alguien ha cambiado el nombre de una lista de SharePoint? ¿Se ha modificado una columna en Dataverse? Un pequeño cambio en los sistemas con los que interactúa tu flujo puede ser la causa del problema.
- Aplica un manejo de errores robusto: La mejor forma de solucionar errores es anticiparse a ellos. Usa directivas de reintentos para fallos temporales y configura rutas alternativas para cuando una acción falle, como se explica en la guía de manejo de errores.
Entendiendo los Códigos de Error 📦
Los códigos de error son pistas muy valiosas. Piensa en ellos como la razón que te da una empresa de mensajería cuando un paquete no se puede entregar.
Errores del tipo 4xx: El Problema está en tu «Paquete»
Estos errores suelen indicar que hay algo mal en la configuración de tu flujo. Son responsabilidad tuya y, por lo general, fáciles de arreglar.
- 400 – Solicitud incorrecta: «Has escrito mal la dirección en el paquete». Significa que una acción o un desencadenador está mal configurado.
- 401 – Acceso denegado: «No tienes la llave para entrar en el edificio de correos». La conexión que estás usando no está autenticada.
- 403 – Prohibido: «Tienes la llave del edificio, pero no del buzón al que intentas acceder». Tu conexión es válida, pero no tienes permiso para realizar esa acción específica.
- 404 – No encontrado: «La dirección que has puesto no existe». El recurso al que intentas acceder (una fila, un archivo, etc.) ha sido borrado o movido.
Errores del tipo 5xx: El Problema es del «Servicio de Mensajería»
Estos errores indican un problema en el servicio externo (SharePoint, Dataverse, etc.), no en tu flujo. Suelen ser temporales.
- 500 / 502 – Error del servidor: «La oficina de correos ha tenido un problema técnico». Lo mejor que puedes hacer es esperar un poco y volver a intentarlo más tarde, o comprobar el estado del servicio externo.
Comprenda los límites de la plataforma y evite la limitación del rendimiento.
Para que tus flujos funcionen bien y no fallen, es fundamental entender los límites que tiene la plataforma. Si un flujo supera estos límites, Microsoft primero lo ralentizará (lo que se conoce como throttling) y, si el problema persiste, podría llegar a desactivarlo.
Piensa en ello como si estuvieras en un parque de atracciones. 🎢
1. Tu Licencia es tu Tipo de Entrada
Tu licencia de Power Platform es como tu entrada al parque. Dependiendo del tipo de entrada que tengas (estándar, premium, etc.), tendrás derecho a «montar» en un número diferente de «atracciones» (ejecutar acciones) cada día.
Puedes ver qué «entrada» tienes en Configuración > Ver mis licencias.
2. Las Peticiones a la API son tus «Tickets» para las Atracciones 🎟️
Cada acción que ejecuta tu flujo es como usar un ticket para una atracción. Tienes un número máximo de «tickets» que puedes gastar en un periodo de 24 horas.
- ¿Qué consume un ticket? Prácticamente todo: el inicio del flujo (el desencadenador), cada acción (enviar un correo, actualizar una fila, inicializar una variable), etc.
- Tanto los éxitos como los fallos cuentan: Si intentas subir a una atracción y se estropea, ya has gastado el ticket.
- Cuidado con los flujos que se ejecutan mucho: Imagina un flujo que se activa «cuando llega un correo». Si tu intención es que haga algo solo cuando el correo es de tu jefe, el flujo igualmente se activará y consumirá un ticket con CADA correo que recibas, solo para comprobar si es de tu jefe o no.
3. Cada Atracción Tiene sus Propias Reglas (Límites de los Conectores) 🚦
Además de tu límite diario de «tickets», cada «atracción» (cada conector como SharePoint, Outlook, Dataverse, etc.) tiene sus propias reglas de uso.
Por ejemplo, el conector de SharePoint podría decir: «solo puedes pedirme cosas 600 veces por minuto». Si tu flujo intenta pedirle algo 601 veces en un minuto, el conector te «frenará» y te devolverá un error 429 – Demasiadas solicitudes, diciéndote que esperes unos segundos antes de volver a intentarlo.
Otros Límites a Tener en Cuenta
- Límites de simultaneidad (Concurrency): Es el número máximo de ejecuciones de un flujo que pueden estar funcionando a la vez, o cuántos elementos de una lista puedes procesar en paralelo. Es como el número de personas que caben en un vagón de la montaña rusa al mismo tiempo.
- Límites de ráfaga (Action Burst): No puedes ejecutar un número masivo de acciones en un periodo de tiempo muy corto. Es como la velocidad máxima a la que puedes correr por el parque. Si vas demasiado rápido, la seguridad te dirá que te calmes.
- Límites de diseño: Un flujo no puede ser infinitamente grande o complejo. Hay un límite en el número de acciones que puede tener. Es como el tamaño máximo de la mochila que puedes llevar al parque; si es demasiado grande, no te dejarán entrar.
En resumen: para crear flujos escalables, es crucial ser eficiente. Filtra tus datos, procesa solo lo necesario y ten en cuenta que cada acción es un recurso valioso que estás consumiendo.