BA-IT
Tous les articles
Power Automate 30 novembre 2024 2 min

Power Automate : un vrai TRY-CATCH pour vos workflows en production

Un flow qui échoue silencieusement pendant trois semaines, personne ne le sait — jusqu'au client qui appelle. Voici un pattern TRY-CATCH réutilisable pour reprendre la main.

Pourquoi ce pattern change la donne

Les erreurs en production passent souvent sous le radar. L'admin découvre l'incident sans contexte, le développeur apprend le problème par un utilisateur. Un vrai TRY-CATCH permet de détecter l'échec dès qu'il se produit, de notifier les bonnes personnes avec les bonnes informations, et de fournir un lien direct vers l'exécution fautive.

Structure générale

  1. Un Scope « TRY » qui contient toute la logique métier.
  2. Un Scope « CATCH » qui ne se déclenche qu'en cas d'échec, timeout ou skip du TRY.
  3. Dans le CATCH : capture des métadonnées, reconstruction du lien vers l'exécution, notification, terminaison propre.

1. Le scope TRY

Créez un Scope nommé TRY et placez-y toutes les actions du workflow — sauf les déclarations de variables, qui doivent rester à l'extérieur pour être visibles depuis le CATCH.

2. Le scope CATCH conditionnel

Ajoutez un second Scope nommé CATCH. Dans « Configure run after » du CATCH, cochez has failed, is skipped et has timed out pour le TRY. Décochez is successful. Résultat : le CATCH ne s'exécute que si quelque chose s'est mal passé.

3. Récupérer les métadonnées du workflow

Dans le CATCH, ajoutez une action Compose qui appelle la fonction workflow(). Elle renvoie un objet JSON contenant l'ID du flow, l'ID de l'environnement et l'ID de l'exécution en cours.

// Inputs de la Compose
@{workflow()}

4. Parser le JSON

Ajoutez une action Parse JSON qui prend en entrée la sortie de la Compose précédente. Le schéma vous donnera accès à trois valeurs clés :

  • tags.environmentName — l'ID de l'environnement
  • name — l'ID du flow
  • run.name — l'ID de l'exécution

5. Construire le lien vers l'exécution

Reconstruisez l'URL de l'exécution fautive dans une nouvelle Compose. C'est ce lien qui fait gagner un temps fou à l'admin.

https://make.powerautomate.com/environments/{environmentId}/flows/{flowId}/runs/{runId}

6. Notifier les admins

Ajoutez une action « Send an email (V2) » configurée ainsi :

  • To : une variable d'environnement contenant la liste des admins (ne codez jamais l'adresse en dur).
  • Subject : nom du flow + type d'erreur, par exemple « GET items SharePoint — Erreur ».
  • Body : un message clair + le lien vers l'exécution reconstruit à l'étape précédente.

7. Terminer le workflow proprement

Dernière action du CATCH : Terminate avec le status Failed et un message d'erreur explicite. Ainsi l'échec remonte correctement dans l'historique et déclenche vos alertes existantes.

Ce que vous y gagnez

  • Notification immédiate avec tout le contexte utile.
  • Un lien cliquable qui amène l'admin directement sur l'exécution fautive.
  • Un statut d'échec propre dans l'historique — plus de faux positifs verts.
  • Une base réutilisable : le même CATCH sert dans tous vos flows métier.

En résumé

Le TRY-CATCH prend vingt minutes à mettre en place et vous fait gagner des heures dès le premier incident. Sur un tenant Power Automate en production, c'est un standard, pas une option.

Un projet Power Platform en tête ?

Cadrage, audit, développement ou déblocage d'urgence — parlons-en.