Créer un outil de ticketing avec Teams et Power Automate – Partie 1

Dans pas mal d’entreprises, les fonctions support fonctionnent uniquement avec des boîtes mails pour répondre à des demandes d’utilisateurs. Ce fonctionnement est assez problématique, encore plus s’il s’agit d’une boîte mail partagée. Certains mails peuvent être manqués, des réponses en doublons peuvent être envoyées à d’autres, etc. Un système qui est loin d’être idéal et – qui plus est – peut frustrer les utilisateurs qui ont fait la demande initialement. De même, la traçabilité n’est pas aisée et on peut parfois tomber dans des chaînes de mails à n’en plus finir.

En fait, il est possible d’apporter une solution pratique à ce processus. C’est là que l’automatisation intervient parce qu’elle va être objectivement mesurable et permettre des gains de temps exponentiels.

Trouver le bon outil

Alors oui, la problématique mentionnée ci-dessus peut être résolue assez facilement avec un outil de ticketing adapté. Dans ce cas, on peut se pencher sur des outils comme Zendesk, Jira, Zoho

Cela étant, lorsqu’on souhaite instaurer une nouvelle pratique qui va bouleverser les habitudes, il est difficile de débarquer avec ses gros sabots pour installer un gros système de ticketing comme ceux mentionnés ci-dessus. Non seulement, il est nécessaire de convaincre le client d’acheter la licence dudit logiciel, mais il faut également s’appuyer sur la DSI du client pour installer ce logiciel.

En bref, avant même d’avoir commencé, on marche sur des œufs. Je l’ai parfois regretté (car pour avoir testé Zendesk, c’est une tuerie).

Du coup, si on ne peut pas se référer aux leaders du système, on commence à se dire qu’il va falloir mettre les mains dans le cambouis pour faire cette automatisation. A cette période, ma réflexion s’est orientée vers deux types d’outil :

  • Des solutions d’automatisation type Zapier, Integromat que j’avais utilisées lors de mon aventure en startup

  • Des solutions un peu plus robustes type RPA que j’utilise aujourd’hui

Les solutions d’automatisation

Je suis vraiment un partisan et un fan de la première heure des outils comme Zapier ou Integromat. Non seulement, parce que quand on les maîtrise a minima, les automatisations réalisées vont être hyper poussées. Et également parce que le nombre d’applications que l’on peut interconnecter est incroyable.

MAIS… L’inconnu fait peur. Travaillant pour des grands comptes, je sais que ces plateformes – ultra connues des startups – ne sont pas démocratisées dans les grandes entreprises ou alors n’ont pas bonne presse. Cela peut être un frein. Le risque, c’est de rentrer à nouveau dans des démarches d’habilitation qui prendront une éternité pour la grande entreprise en question.

La RPA

J’ai découvert la RPA il y a un peu plus d’un an et demi. Au même titre que l’automatisation, gros coup de cœur. Le système est un peu différent, mais le fondement reste le même : gagner du temps. A la différence de Zapier ou Integromat, des plateformes de RPA (comme Automation Anywhere, UI Path…) permettent de réaliser des robots dans un workflow spécifique. Ce système est robuste mais est néanmoins coûteux. Pour un système de ticketing, il aurait donc fallu mobiliser un ordinateur ou une machine virtuelle avec un robot qui fasse du tri de mails… Bref, peu intéressant. En revanche, cela aurait pu l’être si l’entreprise en question dispose déjà d’une licence chez un acteur de la RPA.

Mais dans le cas du ticketing, bof. Donc, il faut trouver autre chose.

En creusant un peu sur les applications que chaque salarié a à sa disposition, cela tombe sous le sens. S’il y a bien un mot qui n’effraie pas, c’est « Microsoft ». Microsoft équipe les postes d’énormes entreprises et ses applications sont connues de tous.

La suite Power

En regardant ce que Microsoft propose, on tombe sur la suite Power, à savoir :

  • Power BI

  • Power Apps

  • Power Automate

  • Power Virtual Agent

A titre personnel, je ne connaissais que Power BI en tant qu’outil de dataviz, mais je ne connaissais pas le reste. J’ai donc découvert Power Apps, Power Automate et Power Virtual Agent il y a un peu plus d’un an.

PowerApp permet de créer des applications-métiers (gestion de stocks, de codes-barres, de réservations…) grâce à un système de drag and drop. Comme j’ai eu l’occasion de me former à Bubble, PowerApp m’a rappelé pas mal de choses. Ces deux outils ont en commun d’être des solutions no-code, c’est-à-dire qui ne demandent aucune compétence spécifique, mais seulement une compréhension de la solution.

En cherchant, je finis par tomber sur un tutoriel qui explique comment créer un outil de ticketing en 8 heures. Sauf… que le rendu graphique est absolument horrible (voir capture ci-dessous).

https://sites.google.com/view/all-power-platform/ebook-how-to-create-a-helpdesk-app-in-8-hours-with-powerapps-flow-and-powe

Ne maîtrisant pas nécessairement cet outil, je n’éprouve pas l’envie d’apprendre à refaire le design… Je laisse donc tomber cette option.

Les pérégrinations continuent et me mènent à Power Virtual Agent. Pas adapté car il s’agit d’un outil de création de chatbots.

On tombe enfin sur un outil particulièrement intéressant  : Microsoft Power Automate.

“Game changer”

Pourquoi “game changer” ? Parce que cet outil est puissant, flexible et s’inscrit autant dans une petite organisation que dans une grande organisation. En apprenant que Microsoft Power Automate est inclus de base dans la suite Office 365, cela permet d’ôter beaucoup de barrières à l’entrée.

Microsoft Power Automate est un outil hybride entre Zapier et RPA. Pourquoi ?

Parce qu’au même titre que Zapier, Microsoft Power Automate dispose d’un workflow où l’on peut glisser les éléments que l’on souhaite automatiser. La plateforme a, en plus, l’avantage de proposer des intégrations natives entre tous les logiciels de la suite Office ainsi que d’autres acteurs connus (Trello, Slack…).

Et, côté RPA, Microsoft Power Automate possède une version Desktop que l’on peut installer et qui prend le contrôle de l’ordinateur pour effectuer les saisies comme un être humain pourrait le faire.

Maintenant qu’on a trouvé l’outil, on a juste à choisir les applications Microsoft que l’on va éprouver :

  • Microsoft Teams

  • Microsoft Planner

  • Microsoft Outlook

  • Microsoft Excel

Ces applications nous aideront donc à répondre à la question suivante : comment construire un système de ticketing avec Microsoft Teams et Microsoft Power Automate ?

Explications

Pourquoi ces applications ?

Microsoft Teams, car depuis le confinement, cette application ne fait que de s’améliorer. Elle se substitue aujourd’hui à Microsoft Lync ou Skype pour Entreprise. On voit que Microsoft souhaite en faire un hub de la vie professionnelle, ne serait-ce que pour toutes les intégrations disponibles.

Microsoft Planner, car nous allons abandonner les emails classiques et privilégier des tickets (« cartes » dans le jargon Microsoft Planner) pour tenter de nous rapprocher des modèles du genre.

Microsoft Outlook, car vous le verrez, l’email sera la source de toute notre automatisation.

Microsoft Excel, pour tous les aspects de reporting.

Création du système de ticketing

Pour la création de ce système, nous allons avoir besoin d’un certain nombre d’éléments :

  • Une adresse mail X

  • Une équipe Teams

  • Un Sharepoint (généralement créé en même temps que l’équipe Teams)

1.   Préparation du flux

Pour préparer cette automatisation, nous allons créer notre premier flux sur Microsoft Power Automate. On choisit de créer un flux automatisé :

Aucun texte alternatif pour cette image

Chaque flux automatisé possède ce que l’on nomme un déclencheur. Sans ce déclencheur, les actions imputées à l’automatisation ne pourront pas se produire. Dans le cas présent, nous allons choisir l’action « When a new email arrives ».

C’est-à-dire qu’à chaque fois qu’un email arrivera sur la boîte mail créée, l’automatisation va se déclencher. Une fois le flux créé, nous arrivons sur la page avec le workflow de création :

Aucun texte alternatif pour cette image

Déroulez le bandeau « A l’arrivée d’un nouvel email » et sélectionnez la boîte de réception :

Aucun texte alternatif pour cette image

Pour parachever la préparation de notre flux, nous allons inclure d’emblée trois actions :

  • « Initialiser la variable » (x2)

  • « Get user profile »

Deux variables, pourquoi ? Car elles nous permettront de stocker deux informations importantes : l’objet du mail ainsi que la date de réception du mail.

Ces actions sont à créer de la sorte :

Aucun texte alternatif pour cette image

Aucun texte alternatif pour cette image

Le temps de s’habituer à l’interface, mais quand vous cliquez sur Value, un écran comme celui-ci-dessous apparaît :

Aucun texte alternatif pour cette image

Cela permet de sélectionner la valeur à insérer. Comment le comprend-on ? Pour chaque mail reçu, ces variables vont stocker le sujet du mail ainsi que l’heure de réception de l’email. Ces valeurs sont fondamentales, car elles nous permettront de transformer les mails en tickets. La partie « Get user profile » nous permet d’attribuer le ticket à la personne concernée :

Aucun texte alternatif pour cette image

Pour cela, choisir « From » afin de récupérer l’adresse mail de l’émetteur.

2. Préparer la création du ticket

Vous avez dû le remarquer, lorsque des tickets sont créés, il est parfois nécessaire d’ajouter des pièces-jointes. Il faut donc gérer cet aspect. Pour ce faire, nous allons exporter le mail et le stocker sur un Sharepoint dédié et sécurisé (notamment si des données personnelles sont incluses, c’est important de le préciser).

On exporte le mail à l’aide du Message ID :

Aucun texte alternatif pour cette image

Ensuite, on utilise les données précédemment stockées pour déposer cet email sur un Sharepoint :

Aucun texte alternatif pour cette image

  • « Site Address » : l’adresse du Sharepoint (liée à l’équipe Teams dans certains cas)

  • « Folder Path » : dossier dans lequel vont être stockés les emails

  • « File Name » : variable « Objet mail » – « Date courrier ».eml

  • « File content » : corps du mail

Comme mentionné, le nom du fichier va être composé de l’objet du mail et de la date du courrier. La date est au format « dd/mm/yyyy hh:mm:ss », ce qui donne par exemple : 20/10/2021 13:05:08. Pourquoi une valeur aussi précise ? Tout simplement car ces mails vont être déposés dans un Sharepoint, et il faut absolument éviter de créer des doublons. Cette précision nous permet d’éviter cet écueil.

L’extension « .eml » est ajoutée, car c’est l’extension des emails. Le contenu du fichier est tout simplement le corps du mail.

Ensuite, nous créons un lien de partage pour ce fichier créé afin de l’utiliser ultérieurement.

Aucun texte alternatif pour cette image

  • « Site Address » : l’adresse du Sharepoint (liée à l’équipe Teams dans certains cas)

  • « Folder Path » : dossier dans lequel vont être stockés les emails

  • « Item Id » : l’ID du fichier que l’on vient de créer

  • « Link Type » : view only, c’est-à-dire qu’on peut juste voir le fichier

  • « Link Scope » : à définir selon votre convenance

Nous disposons à présent de tous les éléments pour créer des tickets.

3.   Création du ticket

Pour transformer un mail en ticket, il faut, cette fois-ci, basculer sur Microsoft Planner. Pour présenter Microsoft Planner en quelques mots, il s’agit d’un gestionnaire de tâches. Ces tâches peuvent être assignées à un collaborateur appartenant à une équipe Teams.

Dans notre exemple, c’est ce qui va nous permettre d’assurer le suivi des mails que l’on aura reçus. Qui plus est, on sera également en capacité d’extraire des KPI comme :

  • Temps de résolution moyen,

  • Nombre de tickets résolus,

  • Principaux sujets abordés,

  • Etc.

Dans Microsoft Power Automate, on sélectionne donc « Créer une tâche » :

Aucun texte alternatif pour cette image

Le « Group ID » et le « Plan ID » vont être extraits de l’équipe Teams que vous avez créée au préalable. Pour les autres champs, voici le détail :

  • « Title » : objet du mail

  • « Bucket ID » : il s’agit de l’endroit où vont arriver les nouveaux tickets créés

  • « Start Date Time » : date de réception du mail

  • « Assigned User Ids » : nous récupérons l’ID que nous avons précédemment collecté à partir de l’adresse mail de l’émetteur

Si vous ne disposez pas d’un Group ID et d’un plan ID, cela signifie que vous n’avez pas créé votre espace dans Teams. Pour ce faire, dans votre Equipe Teams, allez dans le canal « Général » ou créez un canal dédié. Ensuite, nous allons ajouter Microsoft Planner à notre espace Teams.

Aucun texte alternatif pour cette image

Si nécessaire, vous pourrez créer directement votre Group ID et Plan ID depuis cet espace.

Le ticket est maintenant créé. Il ne nous reste plus qu’une dernière étape : ajouter le mail en pièce-jointe au ticket créé. Pour ce faire, nous allons mettre à jour la tâche qui vient juste d’être créée :

Aucun texte alternatif pour cette image

Vous devriez maintenant commencer à comprendre le principe de connexion des blocs. Pour mettre à jour cette tâche, il faut indiquer :

  • « Task ID » : l’ID de la tâche précédemment créée

  • « Description » : adresse mail de l’émetteur (nous en aurons besoin plus tard)

  • « References Alias – 1 » : Mail

  • « References Resource Link – 1 » : Sharing link -> il s’agit du lien de partage Sharepoint que nous avons précédemment créé

  • « References Type of Reference » : Other

Nous allons peaufiner le flux que nous venons de créer avec un dernier détail. Nous ajoutons une pause de 5 secondes entre la création de la tâche et la mise à jour de la tâche. Pour ce faire, nous allons chercher l’action « Delay » et la compléter ainsi :

Aucun texte alternatif pour cette image

Pourquoi ajouter ce laps de temps ? Parfois, les automatisations vont tellement vite qu’à peine la tâche créée, l’automate va souhaiter la mettre à jour avec le lien de partage Sharepoint. Cependant, si des lenteurs subsistent sur Teams par exemple, cela peut faire planter le flux. Ce délai de 5 secondes nous permet de fiabiliser l’automatisation.

Nous arrivons au terme de cette première phase d’automatisation. Pour rappel, nous avons donc automatisé :

  • La transformation d’un mail en ticket avec les bonnes informations

  • L’upload du mail sur Sharepoint

  • L’ajout du mail en tant que pièce-jointe au ticket Planner

Si vous avez suivi ce tuto jusqu’ici, bravo ! Voici le rendu final ticket d’un ticket créé avec ce système :

Aucun texte alternatif pour cette image

Il ne nous reste maintenant plus qu’à ajouter la touche finale : avertir le demandeur initial une fois que son problème a été traité.

4.   Clôturer le ticket

Pour gérer la clôture du ticket, nous ajoutons une petite automatisation supplémentaire nous permettant d’avertir le demandeur initial par mail que son ticket a été traité.

Pour cela, créer une nouvelle automatisation avec cette fois-ci ce déclencheur :

Aucun texte alternatif pour cette image

« Quand une tâche est complétée », (c’est-à-dire quand la progression est passée à « Terminée »), un mail va être envoyé. Nous sélectionnons le « Group Id » et le « Plan Id » :

Aucun texte alternatif pour cette image

Ensuite, pour avoir accès à tous les détails de la tâche résolue, nous allons en obtenir les détails :

Aucun texte alternatif pour cette image

Nous disposons maintenant de toutes les informations pour envoyer le mail de résolution. Dans ce cas, sélectionnez « Send mail » ou « Send mail from a shared mailbox » en fonction de l’adresse mail que vous aurez créée. Ce bloc est à compléter comme suit :

Aucun texte alternatif pour cette image

  • « Original mailbox address » : adresse mail créée

  • « To » : il s’agit de l’adresse mail de l’émetteur que nous avons stockée dans la description lors l’automatisation précédente

  • « Subject » : le titre de la tâche complétée

  • « Body » : dans le corps du mail, vous indiquez ce que vous souhaitez. Le value title est un champ dynamique qui va systématiquement reprendre le nom de la tâche résolue. La saisie dans ce champ est donc libre.

Et… une de plus ! En peu de temps, nous sommes parvenus à créer deux automatisations pour créer un mini-système de ticketing qui nous permet de ne plus accumuler les mails dans une boîte aux lettres, mais de les traiter de manière efficace grâce un à un système de ticketing.

Nous aurons eu besoin de trois logiciels : Microsoft Outlook, Microsoft Teams et Microsoft Planner.

Pourtant, j’avais mentionné Microsoft Excel… qui nous sera utile pour cette deuxième partie de ce tutoriel ! En effet, c’est sympa d’avoir un système de ticketing fonctionnel, mais comment évaluer les gains de temps et la charge ? Avec Excel, évidemment…

Cette nouvelle automatisation sera donc le lieu de nouvelles connexions entre Teams, Planner, Excel et Outlook. Elle sera un peu plus compliquée, mais diablement efficace.

En attendant, n’hésitez pas à me contacter si vous avez des questions sur cette automatisation ou des idées d’automatisations un peu plus complexes. 😊

Besoin d'une automatisation complexe ?

Arrêtez dès maintenant de perdre du temps avec des tâches manuelles et confiez-nous votre projet d'automatisation. Keerok se tient à votre disposition pour concevoir une solution adaptée à vos besoins.
Vincent

Vincent

Keerok agency founder