Power Automate : lire l'historique des exécutions et trouver les erreurs
Comment lire correctement l'historique des exécutions dans Power Automate et trouver la cause d'une exécution échouée.
Modèle Try-Catch dans Power Automate : utilisez les scopes et Configure run after pour intercepter, consigner et signaler les erreurs de façon maîtrisée.
Un plantage au milieu d'un flux est agaçant ; un plantage que personne ne remarque est dangereux. Power Automate ne dispose pas d'un Try-Catch intégré comme un langage de programmation classique, mais en combinant les scopes avec le paramètre Configure run after tu construis toi-même exactement ce modèle. Le résultat est un flux qui, en cas d'erreur, ne s'interrompt pas simplement mais réagit de façon maîtrisée, consigne l'erreur et t'avertit en cas de doute.
Dans cet article, nous te montrons pas à pas comment construire des scopes Try, Catch et Finally, comment configurer correctement leurs conditions d'exécution après, et comment accéder au message d'erreur réel en cas d'échec. La base de tout cela provient de la documentation officielle de Microsoft, plus précisément du guide sur la gestion robuste des erreurs et de l'aperçu des scopes dans les flux cloud.
Dans les langages de programmation, tu interceptes une exception avec un bloc Try-Catch : le code s'exécute dans la partie Try, et une erreur bascule automatiquement dans la partie Catch. Power Automate fonctionne différemment : chaque action possède une condition d'exécution après, qui est réglée par défaut sur « a réussi ». Si une action précédente échoue, l'action suivante est simplement ignorée et l'ensemble du flux s'interrompt, sauf configuration contraire de ta part.
C'est exactement là qu'intervient le modèle Try-Catch : tu regroupes ta logique réelle dans un scope, tu ajoutes un second scope pour la gestion des erreurs et tu configures sa condition d'exécution après pour qu'il ne s'exécute qu'en cas d'erreur dans le premier scope. Tu obtiens ainsi structurellement le même comportement qu'un Try-Catch, mais configuré via l'interface plutôt que par le code.
Pour un modèle complet de gestion des erreurs, tu crées trois scopes à la suite :
Tu ajoutes chaque scope via Ajouter une action en recherchant « Scope », décrit en détail dans le guide Créer et utiliser des scopes. Veille à donner des noms pertinents aux scopes ; « Try », « Catch » et « Finally » sont compréhensibles en un coup d'œil et rendent le flux lisible aussi pour les collègues qui le reprendront plus tard.
Voici comment configurer la condition d'exécution après pour le scope Catch :
Ainsi, le scope Catch ne s'exécute plus que lorsque le scope Try ne se termine pas proprement. Pour le scope Finally, tu procèdes de la même façon, mais tu coches les quatre cases, y compris « a réussi ». Ce scope s'exécute alors dans tous les cas, quelle que soit la façon dont se termine le scope Try. Important : au moins une case doit toujours rester cochée, la condition ne peut pas être enregistrée complètement vide.
Un scope Catch qui sait seulement que quelque chose s'est mal passé, mais pas quoi, ne t'aide guère à résoudre le problème. Pour accéder au message d'erreur précis, tu utilises dans le scope Catch l'action Filtrer le tableau combinée à la fonction d'expression result(), qui renvoie le statut et la sortie des actions précédentes. À partir de cette réponse filtrée, tu extrais le code et le texte de l'erreur et les places par exemple dans une action Créer un tableau HTML, que tu envoies par e-mail ou stockes dans une liste de journal d'erreurs sur SharePoint ou Dataverse.
De plus, la fonction workflow() fournit des métadonnées sur l'exécution actuelle du flux, comme l'ID de l'environnement et du flux. Combinée à l'action Composer, tu construis ainsi un lien direct vers l'exécution en échec, que tu intègres dans la notification. Ainsi, ce n'est pas seulement l'information « une erreur s'est produite » qui arrive dans la boîte de réception, mais directement le chemin vers l'endroit où tu peux la corriger.
Si tu souhaites intégrer ce modèle de manière fiable dans un flux de production plus important, ou si tu n'es pas sûr de l'endroit où un scope Catch est vraiment nécessaire dans ton processus, le conseil Power Automate de NordFlux peut t'y aider. Tu gardes le contrôle total sur ton flux et tes données, nous t'aidons uniquement pour une mise en place propre.
Techniquement non, fonctionnellement oui. Power Automate ne dispose pas d'un concept d'exception intégré qui fait automatiquement basculer une action vers un chemin d'erreur. Mais via la condition d'exécution après d'un scope, tu obtiens le même comportement : le scope Catch ne s'exécute que si le scope Try échoue, tout comme un bloc catch en cas d'exception.
Non. Si tu regroupes tes actions dans un scope Try, un seul paramètre Configure run after pour l'ensemble du scope suffit, au lieu de sécuriser chaque action individuellement. C'est précisément l'un des avantages pratiques des scopes par rapport à de nombreuses conditions d'exécution après individuelles au niveau de l'action.
Le scope Catch s'exécute alors aussi lorsque le scope Try a réussi, ce qui va à l'encontre du principe même d'un chemin d'erreur. Pour un véritable scope Catch, retire systématiquement la coche de « a réussi » et n'active que « a échoué », « est ignoré » et « le délai d'expiration a été dépassé ».
Oui, les deux se complètent bien. Une stratégie de nouvelle tentative dans les paramètres de l'action essaie d'abord de réexécuter automatiquement une action ayant échoué temporairement, idéalement avec des intervalles croissant de façon exponentielle. Ce n'est que si l'action échoue encore après toutes les tentatives que ton scope Catch entre en jeu via la condition d'exécution après.
Ouvre l'exécution du flux concernée dans l'historique d'exécution et développe le scope en échec. Comme un scope ne signale vers l'extérieur qu'un statut global unique, tu ne verras le message d'erreur précis accompagné du marquage rouge qu'au niveau de l'action individuelle à l'intérieur du scope.
Fondateur de NordFlux. Sept ans d'expérience, du web et du SEO jusqu'à l'automatisation à l'échelle d'un groupe, aujourd'hui pragmatique pour les PME et avec une souveraineté des données allemande.
Certifications
Comment lire correctement l'historique des exécutions dans Power Automate et trouver la cause d'une exécution échouée.
Pourquoi Power Automate renvoie l'erreur 429 et comment corriger le throttling de façon ciblée grâce au contrôle de la concurrence et au batching.
Configure run after paraît simple au premier abord, mais en pratique beaucoup de schémas Try-Catch échouent sur des détails comme le bloc finally ou la lecture réelle de l'erreur. NordFlux intègre à vos flux une gestion des erreurs robuste, qui réagit proprement même en cas de panne inattendue.