Programmer la diffusion de messages dans Teams – 1ère Partie
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leoL’objectif de ce tutoriel est de vous montrer comment mettre en place un système de publication programmé dans vos équipes Teams. Plûtot que d’envoyer une publication instantanée, je vous proposer de mettre en place une solution qui permet de définir la date et le jour de publication de vos messages dans vos équipes Teams.
Les éléments que nous allons utiliser et mettre en place.
- Une Microsoft List
- Un flux Power Automate
Cette première version, publiera mon message dans toutes les équipes pour lequel je suis soit membre, soit propriétaire.
Nous verrons dans des tutoriels suivants, comment cibler certaines équipes. Un peu de patiente !
Tout d’abord la mise en place d’une liste via Microsoft List
Création d’une liste « Vierge »
Il va falloir maintenant mettre en place les colonnes nécessaires à notre traitement
- Titre : Colonne existante, va nous servir pour définir le sujet de notre publication
- Contenu : Colonne de plusieurs ligne, avec du contenu enrichi (images, tableaux, hyperliens), colonne obligatoire
- Diffusion : Colonne de type Date et heure, incluant l’heure, colonne non obligatoire
- Traitement : Colonne de type texte, colonne non obligatoire, valeur par défaut « En attente »
Contenu
Diffusion
Traitement
Remarque : Nous venons de créer une Microsoft List dans notre espace personnel ! Pour rappel, chaque utilisateur de Microsoft 365 possède son propre site SharePoint : https://xxxxxxxxx.sharepoint.com/personal/arnaud_mytic_eu
Cet espace personnel, hébergeait déjà votre OneDrive, et maintenant vos listes Microsoft
Il est important de vérifier que les paramètres régionaux de cet espace sont correctement configurés, car nous allons jouer avec des dates de publication, et il serait dommage d’être face à un problème de fuseau horaire.
Voici le lien pour régler les paramètres régionaux de vos listes SharePoint et votre OneDrive
https://xxxxxx.sharepoint.com/personal/arnaud_mytic_eu/_layouts/15/regionalsetng.aspx
Création du flux de publication
On va donc créer un flux Planifié, à partir de zéro
Dans un premier temps, je défini la fréquence de mon flux, à une fois par jour, sur base de la date du jour et d’une heure arrondie !
Cette fréquence sera revue par la suite, en fonction de la précision que vous souhaitez pour l’envoi de vos publications.
Si je programme une publication pour demain à 09h35, si mon flux tourne une fois par jour à 11h00, mon message sera publié à 11h00 et non 09h35, donc 1h25 de décalage. Si je programme mon flux pour tourner toutes les heures, mon message sera publié demain à 10h00, donc 25 minutes de décalage. Si je programme mon flux pour tourner toutes les 10 minutes, mon message sera publié demain à 09h40, donc un décalage de 5 minutes. Etc …
Plus votre fréquence sera courte, moins de décalage vous aurez, mais n’oubliez pas que vous avez droit à 2000 exécution de flux par jour maximum. Il faut donc trouver un juste milieu entre le nombre d’exécutions inutiles et le décalage accepté. Une répétition toutes les 5 minutes occasionne 288 exécution journalière.
L’étape suivante est de définir les paramètres du fuseau horaire sur lequel votre flux doit tourner, pour correspondre au fuseau horaire défini sur votre liste !
Mon environnement Power Automate est défini dans la langue Française. Les termes utilisés sont donc francophone.
Lors de l’ajoute de mon action, je cherche sur le terme « Fuseau », et on me propose l’action « Convertir le fuseau horaire » du connecteur « Date/heure »
utcNow() est une expression qui retourne la date et l’heure système actuelle, au format universel.
On va donc convertir ce format sur un autre fuseau horaire pour le faire correspondre à celui de mon espace personnel, UTC+01 – Bruxelles
Et on va formater la valeur pour quelle corresponde à ce que les listes Microsoft supportent : yyyy-MM-ddTHH:mm:ssZ
Ensuite, je vais initialiser une variable de type chaine de caractères « DateTimeNow » pour sauvegarder la date et heure actuelle formatée correctement
Maintenant, il faut récupérer tous les éléments de ma liste Microsoft qui doivent faire l’objet d’une publication dans Teams.
Ma logique est donc de récupérer tous les éléments dont
- La colonne « Traitement » est égale à la valeur « En attente »
- La colonne « Diffusion » doit être plus petite ou égale à la date et heure actuelle
Rappel : Une Microsoft List est avant tout une liste SharePoint, je vais donc utiliser l’action « Obtenir les éléments » du connecteur « SharePoint »
- L’adresse du site : Il attend l’url de votre espace personnel , dans mon cas https://xxxxxxxxx.sharepoint.com/personal/arnaud_mytic_eu
- Nom de la liste, quand vous allez introduire manuellement l’adresse du site, il devrait vous proposez les Microsoft List disponibles : Publications Teams
- Requête de filtre : On va introduire une requête pour récupérer uniquement les éléments à traiter : Traitement eq ‘En attente’ and Diffusion le ‘{x}DateTimeNow’
{x}DateTimeNow est ma variable contenant la date et heure actuelle formatée sur le bon fuseau horaire !
Je limite aussi le nombre de résultat remontés à 1000
A ce stade-là, je vous invite à sauvegarder votre flux !!!!
Voici un aperçu globale du flux
L’action « Obtenir les éléments » va me remonter une collection d’éléments qui répondent à mon filtre. Il y a peut-être un élément, peut-être plusieurs, peut-être aucun. Quoiqu’il en soit, je dois les traiter un par un, et je vais donc avoir besoin d’effectuer une boucle itérative sur chaque élément remonté.
Je dois lui dire de boucler sur les valeurs remontée par l’action précédente
Toutes les actions suivantes vont se faire au sein de la boucle « Appliquer à chacun »
La première action est de récupérer le détail de l’élément en cours dans une itération. Cet élément pour rappel est un élément de ma liste Microsoft, donc un élément SharePoint.
- L’adresse du site : Il attend l’url de votre espace personnel , dans mon cas https://xxxxxxxxx.sharepoint.com/personal/arnaud_mytic_eu
- Nom de la liste, quand vous allez introduire manuellement l’adresse du site, il devrait vous proposez les Microsoft List disponibles : Publications Teams