Power Automate: leer el historial de ejecuciones y encontrar errores
Cómo leer correctamente el historial de ejecuciones en Power Automate y encontrar la causa de una ejecución fallida.
Patrón Try-Catch en Power Automate: usa scopes y Configure run after para capturar, registrar y notificar errores de forma controlada.
Un fallo en medio de un flujo es molesto; un fallo que nadie nota es peligroso. Power Automate no tiene un Try-Catch integrado como un lenguaje de programación clásico, pero combinando los scopes con el ajuste Configure run after puedes construir tú mismo exactamente este patrón. El resultado es un flujo que, ante un error, no se interrumpe sin más, sino que reacciona de forma controlada, lo registra y, en caso de duda, te avisa.
En este artículo te mostramos paso a paso cómo construir los scopes Try, Catch y Finally, cómo configurar correctamente sus condiciones de ejecución posterior y cómo llegar al mensaje de error real cuando algo falla. La base de todo esto la aporta la documentación oficial de Microsoft, en concreto la guía sobre el manejo robusto de errores y la descripción general de los scopes en los flujos en la nube.
En los lenguajes de programación capturas una excepción con un bloque Try-Catch: el código se ejecuta en la parte Try y un error salta automáticamente a la parte Catch. Power Automate funciona de otra manera: cada acción tiene una condición de ejecución posterior, que por defecto está establecida en «se ha realizado correctamente». Si una acción anterior falla, la siguiente acción simplemente se omite y todo el flujo se interrumpe, salvo que configures algo distinto.
Aquí es exactamente donde entra el patrón Try-Catch: agrupas tu lógica real en un scope, añades un segundo scope para el manejo de errores y configuras su condición de ejecución posterior para que solo se ejecute si falla el primer scope. Así obtienes, estructuralmente, el mismo comportamiento que un Try-Catch, solo que configurado a través de la interfaz en lugar de mediante código.
Para un patrón completo de manejo de errores, creas tres scopes consecutivos:
Cada scope lo añades a través de Agregar una acción y buscando «Scope», descrito en detalle en la guía Crear y usar scopes. Asegúrate de nombrar los scopes de forma clara; «Try», «Catch» y «Finally» se entienden de un vistazo y hacen que el flujo sea legible también para los compañeros que lo hereden más adelante.
Así configuras la condición de ejecución posterior para el scope Catch:
Con esto, el scope Catch solo se ejecuta cuando el scope Try no se completa correctamente. Para el scope Finally, procedes de la misma manera, pero marcas las cuatro casillas, incluida «se ha realizado correctamente». Así, este scope se ejecuta siempre, independientemente de cómo termine el scope Try. Importante: al menos una casilla debe permanecer siempre activa; la condición no se puede guardar completamente vacía.
Un scope Catch que solo sabe que algo salió mal, pero no qué, apenas te ayuda a solucionar el problema. Para llegar al mensaje de error concreto, utilizas en el scope Catch la acción Filtrar matriz en combinación con la función de expresión result(), que devuelve el estado y la salida de las acciones anteriores. A partir de esta respuesta filtrada, extraes el código y el texto del error y los colocas, por ejemplo, en una acción Crear tabla HTML, que envías por correo electrónico o guardas en una lista de registro de errores en SharePoint o Dataverse.
Además, la función workflow() proporciona metadatos sobre la ejecución actual del flujo, como el ID del entorno y del flujo. Combinada con la acción Componer construyes a partir de ahí un enlace directo a la ejecución fallida, que incluyes en la notificación. Así, no solo llega a la bandeja de entrada la información «se ha producido un error», sino directamente el camino hasta donde puedes solucionarlo.
Si quieres integrar este patrón de forma fiable en un flujo de producción más grande, o no estás seguro de dónde en tu proceso es realmente necesario un scope Catch, la consultoría de Power Automate de NordFlux puede ayudarte con ello. Mantienes el control total sobre tu flujo y tus datos; nosotros solo ayudamos con una implementación limpia.
Técnicamente no, funcionalmente sí. Power Automate no tiene un concepto de excepción integrado que haga que una acción salte automáticamente a una ruta de error. Pero a través de la condición de ejecución posterior de un scope logras el mismo comportamiento: el scope Catch solo se ejecuta cuando falla el scope Try, igual que un bloque catch ante una excepción.
No. Si agrupas tus acciones en un scope Try, basta con un único ajuste de Configure run after para todo el scope, en lugar de proteger cada acción individualmente. Esta es precisamente una de las ventajas prácticas de los scopes frente a muchas condiciones de ejecución posterior individuales a nivel de acción.
En ese caso, el scope Catch también se ejecuta cuando el scope Try tuvo éxito, lo cual contradice el propósito de una ruta de error. Para un scope Catch genuino, quita siempre la marca de «se ha realizado correctamente» y activa únicamente «ha fallado», «se omite» y «se ha superado el tiempo de espera».
Sí, ambas se complementan bien. Una política de reintentos en la configuración de la acción intenta primero volver a ejecutar automáticamente una acción que ha fallado temporalmente, idealmente con intervalos que crecen exponencialmente. Solo si la acción sigue fallando después de todos los reintentos entra en juego tu scope Catch a través de la condición de ejecución posterior.
Abre la ejecución del flujo afectada en el historial de ejecución y despliega allí el scope que falló. Dado que un scope solo informa un único estado agregado hacia el exterior, verás el mensaje de error concreto junto con la marca roja únicamente a nivel de la acción individual dentro del scope.
Fundador de NordFlux. Siete años de experiencia, desde la web y el SEO hasta la automatización a escala de grupo, hoy de forma pragmática para las pymes y con soberanía de datos alemana.
Certificaciones
Cómo leer correctamente el historial de ejecuciones en Power Automate y encontrar la causa de una ejecución fallida.
Por qué Power Automate genera el error 429 y cómo solucionar el throttling de forma específica mediante el control de concurrencia y el batching.
Configure run after parece sencillo a primera vista, pero en la práctica muchos patrones Try-Catch fallan en detalles como el bloque finally o la lectura real del error. NordFlux integra en sus flujos una gestión de errores sólida que reacciona correctamente incluso ante fallos inesperados.