Scénario

Ce flux demande à un utilisateur de qualifier les SIRET des tiers clients sans SIRET :

  1. Pour chaque client concerné, une demande d’approbation est envoyée à l’utilisateur par e-mail et via l’interface Approbations de Flow.
  2. L’utilisateur se charge alors de rechercher le SIRET du client :
    • Si un SIRET est trouvé, l’utilisateur le mentionne dans le commentaire de l’approbation et valide l’approbation : le SIRET est automatiquement mis à jour sur la fiche tiers du client.
    • Si le client n’a pas de SIRET (cas de client export ou particulier), l’utilisateur le mentionne dans le commentaire de l’approbation et refuse l’approbation. Le responsable reçoit alors un e-mail avec la notification du refus et l’explication. Le SIRET du client est modifié avec la valeur N/A pour éviter d’être proposé à la prochaine exécution du Flow.

Objectif

Cet exemple de flux a pour objectif de se familiariser avec l’utilisation de Power Automate et de l’api Sage 100 :

Installation

Installation classique via téléchargement du zip de l’application et import via la fonction Importer depuis la liste des flux.

Fonctionnement

Flux instantané

Le flux est de type Flux instantané, c’est à dire que le flux doit être déclenché manuellement. Comme il s’agit d’un exemple pédagogique, ce mode permet de contrôler plus facilement le comportement. Dans une utilisation réelle ce type de flux doit être de type Flux planifié avec un paramétrage de la fréquence d’exécution.

API Liste des sociétés

Recherche de la liste des sociétés associées à l’utilisateur courant (celui qui exécute le Flux). Ajout d’un filtre $filter pour limiter à la société BIJOU avec la syntaxe OData : $filter:name eq ‘BIJOU’.

Itération Pour chaque société (action Appliquer à chacun)

Par défaut, même si une action ne renvoie qu’un enregistrement (ici uniquement la société BIJOU), Flow insère automatiquement des blocs d’itération pour boucler sur chaque enregistrement renvoyé. Cette action regroupe la totalité des éléments décrits ci-dessous :

API Liste de tous les clients

Cette méthode nécessite le paramètre obligatoire company.id. En effet la liste des clients correspond toujours à la liste des clients d’une société. Le paramètre company.id est disponible via le menu Contenu dynamique dans la section Liste des sociétés.

Ajout d’un filtre $filter:siret eq ‘‘ pour renvoyer uniquement la liste des clients sans SIRET. Ajout d’une déclaration explicite des propriétés à renvoyer : $select:id,intitule,numero,adresse. Ajout d’un top à 3 pour limiter l’exemple à 3 clients et éviter ainsi de devoir traiter trop d’approbations lors des tests : $top:3.

Itération Pour chaque client sans SIRET (action Appliquer à chacun) Cette action inclut l’action décrite ci-dessous

API Modification d’un client

Cette méthode nécessite de renseigner l’id de la société parente et l’id du client via contenu dynamique. Le paramètre client.id est disponible dans la section Liste de tous les clients sans SIRET et company.id dans la section Liste des sociétés. L’objectif de cette modification est de taguer chaque client pour qu’il ne soit plus traité si le flux est exécuté de nouveau alors que l’utilisateur n’a pas traité l’approbation concernant ce client. Le Tag ici correspond à la valeur A qualifier renseigné dans la propriété client.siret.

Nouvelle Itération Pour chaque client sans SIRET (action Appliquer à chacun)

De nouveau boucle sur l’ensemble des clients de la liste des clients sans SIRET.

Cette action inclut l’ensemble des actions ci-dessous.

Envoi d’une approbation (action Start and wait for an approval)

Pour l’exemple, le destinataire de l’approbation est le même que celui qui exécute l’approbation (propriété e-mail de l’utilisateur). Ceci afin de simplifier le test en évitant de devoir se connecter sur un autre compte utilisateur.

En exploitation réelle, il faudrait définir en destinataire l’e-mail réel de l’utilisateur chargé de la qualification.

Le titre et la description de l’approbation utilisent les propriétés client.intitule, tiersAdresse.ville, client.numero pour préciser au destinataire quel client est concerné.

Contrôle Condition pour tester le résultat de l’approbation (Approve ou Reject)

Test de la propriété Response de l’approbation choisie via Contenu dynamique section Envoyer une approbation.

Comparaison avec la constante Approve.

En création d’un nouveau Flow suite à l’évolution des approbations apportée par Microsoft, la propriété Response n’existe plus, il conviendra alors d’utiliser la propriété Responses. Une boucle Appliquer à chacun est alors automatiquement insérée puisqu’une approbation est susceptible de pouvoir être validée par plusieurs intervenants. Dans cet exemple comme il n’y a qu’un approbateur, la boucle ne comporte qu’une réponse et l’utilisation reste similaire à celle de l’application mise à disposition.

Branche Si Oui de la condition Response égal à Approve

Nouvelle condition pour vérifier si le commentaire de l’approbation contient le SIRET.

Test de la propriété Comments de l’approbation pour savoir si la valeur n’est pas égale à null.

null doit être exprimé sous forme de fonction et non de chaîne de caractères. Depuis le contenu dynamique, sélectionner l’onglet Expression et saisir null dans la définition de la fonction. Après validation, le terme de comparaison doit apparaître sous la forme fx null.

Branche Si Oui de la condition commentaire contient le SIRET

API Modification d’un client

La propriété client.siret est affectée avec la propriété Comments de l’approbation afin de mettre à jour le SIRET sur la fiche du client.

Branche Si Non de la condition commentaire contient le SIRET

Action Envoyer un e-mail du connecteur Microsoft 365 Outlook.

Objet et corps de l’e-mail avec informations indiquant que le client a mal été qualifié.

API Modification d’un client

Affectation du client.siret avec la fonction fx null pour provoquer le renvoi d’une approbation pour le client lors de la prochaine exécution du flux.

Branche Si Non de la condition Response égal à Approve

API Modification d’un client

Affectation du client.siret avec la valeur N/A pour ne pas provoquer le renvoi d’une approbation pour ce client lors de la prochaine exécution du flux (cas par exemple d’un client particulier ou export qui n’aura jamais de SIRET).

Action Envoyer un e-mail du connecteur Microsoft 365 Outlook.

Objet et corps de l’e-mail avec informations précisant au responsable la raison du refus.

La propriété Comments de l’approbation est mentionnée dans le corps de l’e-mail pour que le demandeur puisse prendre connaissance de la raison du refus de qualification du SIRET.

Remarque / Conseil d’utilisation