A la découverte de Microsoft Flow

Posted by

Avec l’arrivée de D365, beaucoup d’applications ont été greffées autour de l’ERP. J’avais évoqué les grands principes de D365 dans mon précédent article et notamment les nouveaux outils disponibles en dehors de l’ERP. Aujourd’hui, intéressons-nous à Microsoft Flow, qui est un service permettant de paramétrer des flux dynamiques entre divers outils de D365 en temps réel.

Alors j’ai ouvert le capot pour tester, et vous montrer un cas concret, permettant par exemple de créer des enregistrements dans OneDrive, OneNote ou même D365 for Operations à partir de flux Twitter : c’est très prometteur.

Présentation de l’interface

Tout d’abord, il faut se connecter à la plateforme Office 365. De là, on voit toutes les fonctionnalités auxquelles on accède modélisées par des tuiles (des carrés). Parmi celles-ci, notons celle appelée « Dynamics 365 » qui nous intéressa plus tard (avec le logo D), et pour aujourd’hui intéressons-nous à Flow.

 

 

Une autre façon d’y accéder est de passer directement par le site de flow.

En s’y connectant, on retrouvera la même interface que ci-dessous.

 

On distingue 3 parties :

La partie basse de la fenêtre d’accueil qui liste les flux paramétrés : on a l’accès direct au bouton d’activation/désactivation du flux, ainsi que le bouton de modification (le crayon), de suivi d’historique du flux (le « i ») et la possibilité de le supprimer (caché derrière les « … »).

La barre noire en haut qui permet de naviguer sur tous les menus principaux, et surtout d’accéder à de la documentation (blogs, forums, tutoriels de présentation, communauté flow, etc).

 

C’est également dans cette barre noire à droite qu’on aura les notifications des échecs et réussites des flux.

La partie du milieu en gris (« Mes flux ») est le point d’entrée pour créer un nouveau flux soit depuis une page blanche (« Créer entièrement ») ou bien d’un modèle existant (« Créer à partir d’un modèle »). Il existe une bonne panoplie de modèles qu’on peut trier et afficher via différents critères. Ces modèles sont un bon point d’entrée pour effectuer ses premiers pas sous Microsoft Flow. Voici un exemple de la liste des modèles qu’on obtient lorsqu’on va sur « Créer à partir d’un modèle ».

 

Paramétrage d’un flux

J’ai testé le flux suivant : parti d’un modèle existant (les 3 premières étapes en anglais) qui permet de déclencher certaines actions quand un tweet est publié, je l’ai personnalisé légèrement.

 

Le scénario modélisé est le suivant : dès qu’un tweet est publié contenant le hashtag #Flow, on récupère les informations du tweet (contenu, auteur, etc) ; puis un email est envoyé à une personne, un fichier est créé sous OneDrive, récupérant les informations du tweet ; enfin, une page est créée dans une section OneNote avec les informations du tweet également.

Pour la première étape, il suffit simplement de renseigner le texte recherché sur twitter. A noter qu’il faut que le créateur du flux possède un compte twitter, puisqu’il est demandé à cette étape-là de s’y connecter.

 

La seconde étape consiste à récupérer le nom de l’utilisateur twitter. Cette étape est disponible dans le modèle utilisé et n’a pas été changée.

La troisième étape concerne l’envoi par mail pour notification. On y indique le ou les comptes Outlook qui vont être destinataires pour l’envoi de mail. L’objet et le corps du mail sont également mis en forme.

 

Paramétrage d’une étape

Actuellement, il existe 179 actions disponibles lors de la création d’une étape. La plupart sont gratuites et certaines sont accessibles qu’avec la souscription Premium de Microsoft Flow.

 

Il est possible de connecter une étape à un outil Microsoft bien évidemment (Microsoft Dynamics 365 for Operations, Microsoft Dynamics 365 for Sales, Power BI, Excel, OneDrive, OneNote, Yammer, etc) mais également des services externes (Pinterest, Dropbox, Facebook, Twitter, Instragram, Google, SalesForce, etc). On peut aussi y intégrer des connections à des bases de données (SQL Server, DB2, etc).

A ce jour, on ne dénombre pas moins de 93 services disponibles.

 

Surtout, étant hébergé sur le cloud, la liste des nouveaux services et actions disponibles s’actualisera en temps réel, permettant au souscripteur de Microsoft Flow d’avoir accès aux dernières nouveautés.

Déroulement du flux

Voici comment le flux s’organise. Après avoir activé le flux, il n’a pas fallu attendre longtemps pour voir qu’un tweet avec le hashtag #Flow soit émis sur la toile. Quelques instants après la diffusion (compter de 1 à 3 minutes), un mail m’a été envoyé. Comme on peut le voir dans l’historique, plusieurs mails se sont enchainés rapidement et j’ai dû désactiver le flux.

 

Puis une page a été créée dans mon OneNote Online, dans la section que j’ai indiqué en paramètre dans le flux (je n’ai pas trouvé le paramètre, s’il existe, pour forcer un nom pour la page).

 

 Enfin, un fichier est créé par tweet dans mon OneDrive, listant le contenu du tweet, l’auteur, ainsi que toutes les informations paramétrées.

 

Historique

Depuis la page d’accueil de Microsoft Flow, il est possible de suivre facilement l’historique d’exécution d’un flux : en cliquant sur le bouton « i » entouré, on peut ensuite filtrer sur les flux exécutés, échoués, non exécutés.

 

Dans le détail, en cliquant sur chaque exécution du flux, on voit très facilement l’étape qui a planté (ici l’avant dernière, ayant pour conséquence que la dernière étape ne s’est pas exécutée).

 

En ouvrant l’étape, on peut voir le message d’erreur associé, l’interpréter (ou essayer) et corriger le paramétrage. Ce n’est pas toujours chose aisée mais nul doute que les forums dédiés apporteront pas mal de solutions.

 

Pour aller plus loin

Petite cerise sur le gâteau, j’ai voulu tester l’interaction avec D365O (comprendre Ax). J’ai donc créé une étape, choisi mon instance parmi les Ax qui étaient déployés depuis LCS, précisé le compte société via le DataAreaId et surtout l’entité concernée. Il y a des dizaines d’entités disponibles, ce sont sans doute les prémices du Common Data Model. A ce stade, j’ai l’impression qu’une entité est égale à une table Ax. Je n’ai pas trouvé les tables élémentaires comme les articles, les clients ou les fournisseurs… Néanmoins, j’ai pu simplement effectuer le mapping avec l’entité CustomerGroups, uniquement pour l’exemple.

 

Quelques instants plus tard, je postais un tweet :

 

 

Comme précédemment, j’ai reçu un mail, une page dans OneNote et un fichier OneDrive, sauf qu’en plus j’ai vu que l’auteur et la description de l’auteur du tweet avaient été créés en tant que groupe de clients dans Ax. Simple et efficace !

 

 

Pour conclure

L’interface est très épurée, et simple d’utilisation : c’est un vrai effort de fait par les designers car Microsoft Flow est accessible à tous.

Concernant l’aspect pricing et licencing, on est sur trois niveaux de licences : free, plan 1 et plan 2. Ce qui diffère va être le temps de réaction (de 1 à 5 min), les services disponibles et le nombre d’exécutions autorisées par mois et par utilisateur.

Quelques limites à noter : pour une étape connectée à un service, il faudrait parfois pouvoir aller plus loin et avoir plus d’options à paramétrer (ex : choix du nom de la page dans la section pour OneDrive).

Autre chose, j’ai eu une erreur lors de l’activation d’un flux lié au libellé de l’étape qui contenait des accents ou apostrophes, alors qu’il n’en faut pas : c’est dommage de ne pas avoir pensé aux langues qui en ont car par défaut les étapes sont initialisées nativement en français lorsque la langue de travail est le français, et comporte donc des accents…

Il faudrait également pouvoir avoir la main sur la récurrence d’exécution du flux, même si le principe de base de Microsoft Flow est de faire du temps réel.

Cependant, cela s’annonce très prometteur : avoir la capacité dans une seule plateforme de faire interagir en temps réel si facilement différents outils, avec aucune ligne de code, permet de projeter vers un avenir souple et évolutif pour les clients D365.

Yohann ROLLAND

2 comments

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *