Power Automate : Suivez les traitements de flux dans votre model-driven app

Administrateurs Power Platform, vous automatisez des processus avec Power Automate dans votre application? Savez-vous suivre les traitements de flux déclenchés? Voici comment permettre le suivi et informer les utilisateurs de l’état des flux.

L’essor de la Power Platform et des flux (flows) permettent d’effectuer des opérations de plus en plus complexes à travers plusieurs systèmes. Un seul clic peut déclencher une multitude d’opérations. Du point de vue de l’utilisateur, c’est difficile de suivre ces traitements. Les flux sont déclenchés, mais l’utilisateur ne sait pas vraiment ce qui se passe en arrière-plan.  Cependant, pour avoir le détail d’une erreur il faut aller dans l'application Power Automate pour voir les flux qui roulent. Encore là, il faut savoir lequel d’entre eux a été déclenché.

Connaître l'état des flux : essentiel pour les utilisateurs

Votre collègue Gilbert est en charge de la facturation. Donc, il réalise des actions complexes au moyen d'une application basée sur Power Automate, que vous avez conçue. Mais une fois qu'il a déclenché l'action, il ne connaît pas l'état des traitements.
  • L'action est-elle déjà complétée?
  • Est-elle toujours en cours de traitement?
  • Y a-t-il eu une erreur durant le déclenchement de l'action?
S'il pouvait répondre à ces questions, il s'éviterait de relancer inutilement une action. À titre de comparaison, c’est comme si l’utilisateur du système lançait une bouteille à la mer sans savoir si elle va arriver à destination. A-t-elle rencontré des problèmes? S'est-elle cassée en heurtant un rocher? Bref, c'est comme si l'utilisateur avait déclenché une fusée sans savoir si elle a bien été lancée, si elle est arrivée à destination ou si elle a explosé en plein vol.

Comment suivre l'état des flux déclenchés?

Alors,  comment effectuer le suivi de ces opérations (ou flux) et donner à l'utilisateur une visibilité sur les traitements déclenchés? En fait, l’idée est de créer une entité qui va regrouper les informations sur le flux déclenché. Ainsi, l’utilisateur saura ce qui se passe tout en restant dans le contexte d'une application pilotée par modèle (Model-driven app). Donc, voici les étapes qui permettent de garder la trace des traitements déclenchés. De plus, elles permettent de présenter à l’utilisateur un message à chaque étape du processus. Lorsque le traitement est en cours :

Power Automate - Traitement en cours

Quand le traitement est terminé :

Power Automate - Traitement terminé

Si le traitement est en erreur :

Power Automate - Traitement en erreur

Les ingrédients de la recette

Afin d’atteindre ce résultat, il vous faudra:  

  • Une entité, pour le suivi des flux;
  • Un Cloud flow, pour y inclure la logique d’affaires du traitement (conditions, actions, etc.);
  • Du Javascript, pour afficher l’alerte sur le statut de la requête au sein de la model-driven app.

1. Créez une entité pour les traitements asynchrones

Commencez par créer une nouvelle entité, que nous appellerons « Requêtes ». Cette entité sera la base pour le suivi des traitements déclenchés.

a. D'abord, créez des champs pour stocker les informations suivantes :

  • Type de processus
  • Statut de la requête (active, en traitement, complétée, en erreur);
  • Environnement : EnvironmentId;
  • Identifiant du Flow : FlowId;
  • Identifiant du traitement : RunId;
  • URL du traitement « Flow Run ».   Le champ URL est un champ calculé avec la formule suivante : https://flow.microsoft.com/manage/environments/EnvironmentId/flows/{FlowId}/runs/{RunId}.

b. Ensuite, créez une requête lorsque le processus est déclenché

Lorsque l'utilisateur déclenche un processus (ex: Gilbert clique sur le bouton « Facturer »), utilisez un workflow ou un plugin pour créer une requête avec les paramètres nécessaires au traitement.

2. Créez un cloud flow pour le traitement de la requête

Maintenant, il s'agit de créer un cloud flow (flux de cloud), afin de permettre le traitement de la requête.

a. Le flux est déclenché lorsque la requête est créée

Le flux se déclenche à la création ou à la mise à jour de la requête. Filtrez le déclencheur en fonction du statut de la requête et du type de requête.

b. Maintenant, ajoutez une étape Scope pour regrouper le traitement de la requête

À l'intérieur du scope, ajoutez une étape de type Parse JSON. Utilisez la fonction workflow() pour récupérer les informations du traitement (flux du cloud).

Parse Json

c. Mettez à jour la requête pour y ajouter les informations du flux et indiquer qu’elle est en traitement

  • Environnement Name
  • Flow ID
  • Run ID
  • Statut : En traitement

d. Ajoutez les étapes du traitement

Le contenu de cet étape dépend du type de processus déclenché. Par exemple, un traitement que vous pourriez faire dans Power Automate ici est de calculer les montants de chaque facture. Vous pourriez ensuite les envoyer par courriel.

e. Ajoutez une étape pour mettre à jour le statut et indiquer que le flux est complété avec succès

f. Ajoutez une branche parallèle pour indiquer si le flux est en erreur

Cliquez sur Ajouter une branche parallèle.

Dans cette branche, mettez à jour le statut de la requête pour échec.

Configurez le « Configure Run after », pour mettre à jour le statut des requêtes si le traitement a échoué.

3. Dans l’application model-driven app, créez un javascript

Finalement, utiliser le code javascript vous permettra d'afficher une alerte selon le statut de la requête. Désormais, lorsque le flux est déclenché, l’utilisateur est averti que le traitement est en cours.

Aussi, l’utilisateur est averti lorsque le traitement est complété.

De même, l’utilisateur est averti lorsque le traitement est en erreur.

Enfin, lorsque le traitement est en erreur, cliquez sur la requête associée.  

Puis, cliquez sur l’URL du flux pour accéder directement au détail de l’erreur.

Conclusion

Bref, en quelques étapes simples, il est possible de garder l’historique des traitements dans l’application et de présenter à l’utilisateur l’état du traitement à chaque étape. Ainsi, vos utilisateurs pourront suivre ce qui se passe et pourront facilement rapporter les erreurs.  Enfin, il  serait même possible de créer un tableau de bord permettant de présenter les statistiques sur les traitements déclenchés et les traitements en erreur. Cet article est une initiative de notre expert Abdoul Baldé.

À lire aussi

Déduire l'URL d'exécution d'un flux

Vous aimeriez en savoir plus?

Notre équipe peut vous accompagner avec des conseils personnalisés, des formations ou de nouvelles solutions adaptées à vos besoins. Optimisez l’utilisation de vos technologies et vos processus quotidiens : contactez l’un de nos experts.