Power Automate
Emilien  

Simplifier & contrôler le processus de création d’équipe Teams en entreprise

Il est souvent compliqué de gérer efficacement les différentes demandes de création d’équipes Teams qui peuvent être faite auprès d’une DSI, notamment lorsque la création de manière autonome des équipes a été désactivée (ce qui est d’ailleurs fortement recommandé afin d’éviter la multiplication des équipes Teams à tout-va).

L’idée est de centralisée les demandes au sein d’une simple liste SharePoint, et d’utiliser par la suite Power Automate afin d’automatiser le processus de création de l’équipe Teams tout en assurant un contrôle grâce aux fonctionnalités d’approbation.

Dans cet article, je vous propose de vous exposer le fonctionnement que j’ai pu mettre en place à différentes reprises pour des clients.

Première étape : concevoir la liste SharePoint de « support »

Cette liste « support » va permettre de recueillir les demandes de création d’équipes. Les collaborateurs pourront accéder à cette liste, effectuer la demande d’équipe qui ensuite rentrera dans le processus général d’approbation et de création dans Teams.

Les colonnes que je propose ici peuvent bien sûr être modifiée en fonction des besoins exprimés.

Nom de la colonneType de colonne
Titre que j’ai renommé « Nom de l’équipe Teams » pour simplifier la compréhension des utilisateursTexte
DirectionRecherche (basée sur une autre liste qui liste les services de l’entreprise)
TeamInfoTexte
OwnerPersonne
MembersPersonne (plusieurs autorisées)
ApproversPersonne
ApprovalCommentPlusieurs lignes de texte
StatusChoix avec 3 entrées : Pending, Approved, Rejected.
Choix par défaut : Pending

Une fois cette liste prête, il est temps de passer dans Power Automate pour démarrer la création du flux. Pour rappel, on peut accéder à Power Automate via l’url : https://make.powerautomate.com.

Deuxième étape : Créer le flux Power Automate permettant la création automatisée d’une équipe Teams.

L’idée étant d’automatiser au maximum le processus de demande de création, je me suis basé sur un déclencheur SharePoint du type « Quand un élément est créé », j’ai ensuite récupéré les éléments de la direction métier dans laquelle l’équipe Teams se rattache (ce qui est facultatif) avant de créer mes différentes variables et de rentrer dans la création de l’équipe Teams via approbation à proprement parlé.

Voila très rapidement ce que donne le flux :

Je vais passer les premières étapes du flux, pour démarrer mes explications à partir de l’approbation de la demande, en effet les premières étapes étant très basiques, je pense qu’elles peuvent être passées 🙂

Processus d’approbation de la demande de création d’une équipe Teams

Voici la vision détaillée que je vais essayer d’expliquer pour le processus d’approbation de la demande :

La première étape consiste à récupérer la valeur du champ « Direction » de ma liste support, en fait cette valeur va me permettre de retrouver les informations sur l’approbateur pour la direction métier en question. J’avais au préalable créé une liste SharePoint qui contenait le nom de ma direction, un quadrigramme et la nom de la personne en charge de l’approbation pour cette direction métier.

Du coup, grâce à la direction métier, je récupère le l’adresse email du modérateur « Moderator Email » dans la copie d’écran et je formate mon message de demande de d’approbation dans une action Power Automate « Démarrer et attendre une approbation » :

Lorsque le flux s’exécute, le processus va se mettre dans une sorte de pause en attendant que le résultat de la demande d’approbation lui soit transmise. Ensuite, lorsque la réponse de l’approbation arrivera elle sera stockée dans la variable « ValidationStatus » (que j’utiliserai plus tard), les détails de la réponse sont également mis de côté pour être stocké ensuite dans SharePoint comme suivi de la demande.

Dans mon cas, je ne conserve que l’adresse email de l’approbateur et l’éventuel commentaire qu’il peut laisser.

Création de l’équipe Teams en fonction du retour d’approbation

Dans un premier temps en fonction de la valeur que j’ai stocké précédemment dans la variable « ValidationStatus« , je gère si l’approbation est OK ou KO ; si « ValidationStatus » est égal à « Approve » je vais créer l’équipe, sinon dans mon cas, je mets juste à jour l’item SharePoint pour sauvegarder que la création a été refusée.

Ensuite, je vais rappeler SP pour récupérer à nouveau ma ligne de demande, je pourrais me passer de cette étape, mais je préfère l’avoir au cas où l’approbateur aurait fait un changement dans la demande de création.

J’ai instancié mes variables avant de me lancer dans dans une nouvelle boucle basée de nouveaux sur les valeurs de la Direction qui ont pu être renseignée. Au niveau de la boucle je récupère donc les éléments nécessaires au formatage de mon nom d’équipe et à la description de cette dernière. Une fois l’équipe créée je stocke dans une nouvelle variable son identifiant pour l’utiliser par la suite.

J’ai mis ensuite un petit retardateur de 15 secondes afin de laisser le temps au système de bien tout créer et que « la propagation » se fasse correctement ; cela permet d’éviter quelques erreurs quand les actions s’enchainent un peu trop rapidement.

J’ai ensuite 2 boucles de traitement, la première va ajouter le ou les propriétaires de l’équipe et la seconde viendra ajouter les membres. Que ce soit pour les propriétaires ou pour les membres, on utilise les éléments que l’on a récupéré de la liste SharePoint et on utilise l’attribut « Email » pour ajouter la personne dans la bonne option.

Option : Suppression du compte qui a créé l’équipe des propriétaires

Dans mon cas, le compte qui créer l’équipe Teams n’a pas forcément d’utilité à rester dans les propriétaires de l’équipe, du coup, j’ai dans mon flux Power Automate, une portée dédiée à cela.

Je récupère via une action « Utilisateurs d’Office 365 » > « Obtenir le profil de l’utilisateur (V2)« , les informations de ce compte de création, ce qui m’intéresse c’est son ID pour l’utiliser ensuite dans l’appel HTTP qui va aller le supprimer.

Pour la suppression, j’utilise l’action « Envoyer une requête HTTP V2 » rattachée aux « Groupes Office 365 » :

Et voici l’URL à appeler via la méthode DELETE :

https://graph.microsoft.com/v1.0/groups/ID DE L’EQUIPE TEAMS/owners/ID DE L’UTILISATEUR ISSU DE SON PROFIL/$ref

https://graph.microsoft.com/v1.0/groups/@{variables('TeamID')}/owners/@{outputs('Get_user_profile_(V2)')?['body/id']}/$ref

Mise à jour de l’élément SharePoint pour le suivi des demandes

Le flux arrive à sa fin, la dernière étape que j’ai instanciée, consiste à mettre à jour l’élément de la liste SharePoint, notamment le statut de la demande ‘Approved » et les informations recueillies lors de l’approbation de la demande de création de l’équipe Teams.

Voici le processus que j’ai utilisé dans mon cas, il est sûr que ce dernier peut être ajusté pour fonctionner dans de nombreuses situations en entreprise.

J’espère que cette base de travail pourra vous être utile.

Laisser un commentaire