Partagez vos flux de travail

Poursuite de la discussion depuis Un aperçu de la nouvelle fonctionnalité Workflows :

Je suis vraiment enthousiaste à l’idée du lancement de Workflows. Je rêvais de cette fonctionnalité lorsque j’étais un modérateur de communauté actif, cherchant des moyens d’automatiser les processus communautaires tactiques et répétitifs.

Je suis très curieux de savoir à quoi vous utilisez Workflows (ou ce que vous comptez en faire, maintenant que vous en avez entendu parler !).

Je vais donner le coup d’envoi, mais j’admets avoir dû déléguer la construction effective de la chose à @zogstrip et @chapoi, car je n’ai pas les compétences nécessaires.

Workflow de rappel de mise à jour hebdomadaire
La seule chose que nous imposons à notre équipe est un point hebdomadaire pour que nous sachions qu’ils sont en bonne santé et heureux. Certaines personnes ne le font pas (pour diverses raisons) et il faut perdre du temps et de l’énergie à les relancer, ce à quoi nous avons trouvé une nouvelle solution.

Ce workflow vérifie le sujet de mise à jour et leur applique un CSS de plus en plus désagréable, plus ils tardent à le faire.

C’est incroyable à quel point c’est efficace !

11 « J'aime »

J’adore le CSS :laughing:! Pourrais-tu le partager si possible ?

2 « J'aime »

S’il te plaît, ne me dis pas que tu… veux le thème le plus laid que j’aie jamais créé ? :sweat_smile:

3 « J'aime »

Moi, si, vraiment :laughing:. Ça a l’air très… créatif :eyes:.

2 « J'aime »

C’est vraiment incroyable. Je le sais, parce qu’en essayant de tester quelque chose d’inconnu, j’ai involontairement placé moi-même dans le groupe 4 et j’ai dû essayer de déboguer le problème pendant que tout à l’écran continuait à flotter. :laughing: @zogstrip a été très patient.

2 « J'aime »

ce n’est pas super super évident depuis l’aperçu du workflow, donc voici comment ça fonctionne

partie 1 - boîte jaune

  • pour chaque post créé/édité dans la catégorie #updates, on vérifie s’il vient de l’auteur du sujet
  • si ce n’est pas de l’OP, on « abandonne »
  • si c’est de l’OP, on le passe dans un classifieur LLM qui renvoie du JSON indiquant si le post est une vraie mise à jour hebdomadaire (on n’exige pas de format spécifique) et pas une réponse au hasard à un autre post
  • puis on stocke ce résultat de classification dans un tableau de données
  • si le post est classé comme une mise à jour hebdomadaire, on immédiatement retire l’utilisateur de tous les groupes « en retard » (la boîte verte)

partie 2 - boîte bleue

  • chaque jour, à 6h UTC, on exécute une requête data explorer qui combine tous les congés, jours fériés et « dernière mise à jour hebdomadaire » pour placer les gens dans l’un des quatre groupes « en retard »

partie 3 - non montrée dans le workflow

  • on a un composant de thème personnalisé[1] qui vérifie si l’utilisateur actuel est dans l’un des groupes « en retard » et applique plus… d’énervement :sweat_smile:

  1. appliqué à tous nos thèmes ↩︎

5 « J'aime »

Nous exigeons l’utilisation de certaines balises, mais les membres ont l’habitude de publier dans des catégories inappropriées, ce qui nous fait perdre un temps précieux à déplacer les sujets vers la bonne place.

Un workflow très basique, exécuté à la création d’un sujet, vérifie les balises utilisées et change automatiquement la catégorie.

Un système aussi simple a permis de maintenir une certaine structure sans aucun effort.

2 « J'aime »

Je fais suite à un message que j’ai publié dans le fil de discussion d’origine sur les workflows. J’ai trouvé comment le configurer pour qu’il fasse ce que je souhaite. Bien sûr, il s’agit d’un test, mais voici ce qu’il fait :

Il s’agit d’un système de réengagement qui utilise l’IA pour, espérons-le, relancer la discussion et stimuler le réengagement aux moments où le site est peu actif.

Phase A : Localiser et résumer

Localiser les messages ayant plus de 30 jours et correspondant à un mélange des critères suivants :

- Des sujets populaires qui n’ont pas eu de message depuis un certain temps.

  • Des sujets qui reçoivent beaucoup de vues, mais qui n’ont pas eu de réponse depuis un certain temps.
  • Des sujets qui ont connu une certaine activité au cours de la dernière année, mais qui se sont ensuite arrêtés.

Une fois qu’un sujet est trouvé, il déclenche l’agent « Résumé IA » de Discourse. Il demande à l’agent IA de rédiger un résumé. Il le fait en envoyant une requête HTTP POST à l’API de résumé. Une fois le résumé terminé, il enregistre l’existence du workflow dans un tableau de données.

(Cela s’exécute une fois par heure, mais potentiellement plus souvent).

Phase B : Évaluer le résumé pour le suivi

Un autre workflow planifié s’exécute indépendamment selon son propre horaire. Il vérifie dans le tableau de données les lignes qui ont été résumées, mais pas encore évaluées. Il prend un sujet du tableau de données, puis récupère les 5 à 10 messages les plus récents sur ce sujet.

Il passe à un agent IA qui gère le tri. Il prend une décision. Est-ce un sujet qui devrait être relancé ? Si oui, comment ? Il décide si le sujet doit être remonté (bump), ou si un message doit être publié pour réengager avec le sujet : poser une question, demander des précisions ou ne rien faire du tout.

Il met à jour le tableau de données avec la décision prise.

(Cela devrait s’exécuter environ aussi souvent que la Phase A, vous pourriez également le déclencher depuis la Phase A ou le combiner avec celle-ci.)

Phase C : Réengager avec le sujet

Un autre workflow planifié s’exécute selon son propre horaire, moins fréquemment. Sa première étape consiste à vérifier à quel point le forum a été actif récemment. Il le fait en vérifiant le nombre moyen de messages postés par heure au cours des 3 dernières heures. Il calcule ensuite la moyenne de l’activité du forum pour des périodes de 3 heures, le même jour et à la même heure au cours des 2 derniers mois. Si le site n’est pas aussi fréquent qu’il ne l’est habituellement à la même heure du même jour, il indiquera « nous pouvons faire un réengagement maintenant ».

Il récupère ensuite jusqu’à 10 opportunités de réengagement disponibles. Il les envoie à un agent IA et lui demande de sélectionner le meilleur candidat pour un réengagement dans la liste. L’IA décide et renvoie un topic_id. Le classifieur de la Phase B a choisi parmi 3 options : Remonter le sujet, publier un message de suivi, ne rien faire.

Le workflow effectuera un remontage (bump) du sujet, sauf si un message de suivi est désigné. S’il est destiné à un message de suivi, il prendra l’identifiant du sujet et récupérera les derniers messages de ce sujet. Il les transmettra à un agent IA qui déterminera quelle serait la meilleure réponse pour réengager avec le sujet. Il dispose de garde-fous pour garantir une réponse très basique, qui reste dans le sujet et qui ne donne pas de recommandations ni de commentaires. Il demande principalement une mise à jour, demande si l’auteur du message d’origine a des nouvelles sur quelque chose qui s’est passé, etc. Il publie la réponse, puis met à jour le tableau de données avec la date de complétion.

J’espère que je n’ai pas simplement dupliqué une fonctionnalité cachée de Discourse dont je ne savais pas l’existence ! Cela a pris quelques essais et erreurs, mais j’ai réussi à le faire.

6 « J'aime »

Voici quelques exemples de scripts pour générer des rapports hebdomadaires que nous utilisons pour tenir notre équipe informée des différentes activités sur Meta. Chacun est associé à un sujet dans la catégorie du personnel où les résultats sont publiés.

Je pense qu’ils devraient être assez génériques, si vous souhaitez les essayer sur votre propre site. Il vous suffira de modifier l’ID du sujet où les résultats sont partagés dans le dernier nœud, pour le remplacer par un sujet de votre propre catégorie du personnel.

(Il est possible que vous deviez effectuer des modifications manuelles avant l’importation. Je les ai remplacés manuellement par TOPIC_ID après l’exportation pour éviter les accidents.)

Rapport hebdomadaire de modération
fichier : weekly-moderation-report.json (21,4 Ko)

  • Inclut des tableaux listant :
    • le résumé de la modération (nombre de diverses actions de modération)
    • le nombre de signalements traités par différents utilisateurs
    • le nombre de signalements effectués par différents utilisateurs
    • la liste des publications signalées avec les métadonnées associées
    • les avertissements émis
    • les notes d’utilisateur ajoutées

Rapport hebdomadaire des paramètres du site
fichier : weekly-site-settings-report.json (3,3 Ko)

  • Inclut un tableau listant les paramètres du site modifiés
    • nom du paramètre
    • qui l’a modifié et quand
    • ancienne valeur, nouvelle valeur

Rapport hebdomadaire des niveaux de confiance
fichier : weekly-trust-level-report.json (9,8 Ko)

  • Inclut des tableaux listant :
    • le résumé (nombre d’utilisateurs proposés à chaque niveau de confiance au cours de la semaine passée)
    • la liste des utilisateurs ayant atteint le niveau de confiance 2 ou 3
8 « J'aime »

Nous utilisons actuellement les Workflows de manière assez étendue dans notre communauté Discourse, et ils deviennent un élément vraiment utile pour notre intégration et la gestion des événements.

Notre communauté compte plus de 9 000 utilisateurs inscrits et de nombreux groupes de soutien par les pairs, en ligne et en présentiel, donc l’automatisation nous aide beaucoup.

Voici quelques-uns des workflows que nous utilisons actuellement :

:waving_hand: Intégration personnalisée

Les nouveaux utilisateurs reçoivent des messages personnels automatisés après leur inscription.

Le contenu dépend des intérêts qu’ils ont sélectionnés lors de l’inscription (par exemple, les groupes de soutien par les pairs, les événements, notre café virtuel, le body doubling ou les échanges écrits).

Quelques jours plus tard, ils reçoivent un second message de suivi avec des informations supplémentaires et de l’aide pour bien démarrer.

:date: Rappels d’événements

Nous utilisons un workflow planifié qui vérifie toutes les 15 minutes les événements qui commencent dans environ 24 heures.

Les utilisateurs ayant sélectionné Participation ou Intéressé reçoivent un rappel personnel avec le titre de l’événement, la date, l’heure et un lien vers l’événement.

Nous avons également certains groupes avec leurs propres workflows de rappel, de sorte que le workflow général exclut ces utilisateurs pour éviter les rappels en double.

:laptop: Instructions contextuelles pour alfaview

Beaucoup de nos groupes de soutien par les pairs en ligne se réunissent via alfaview, tandis que d’autres événements ont lieu via Zoom ou en présentiel.

Nous vérifions donc le message de l’événement pour un lien alfaview.

Si un lien alfaview est présent, le rappel de 24 heures inclut automatiquement un guide pas à pas dépliable expliquant comment entrer dans la salle d’attente puis sélectionner la salle de réunion correcte, y compris une capture d’écran.

S’il n’y a pas de lien alfaview, le rappel normal est envoyé sans ces instructions.

Cela signifie que nous n’avons pas à maintenir des listes de groupes « en ligne » et « hors ligne ».

:door: Intégration aux visioconférences

Nous utilisons également des workflows de formulaires comme une courte étape d’intégration avant que les utilisateurs n’accèdent à nos salles de visioconférence pour la première fois.

Les utilisateurs reçoivent des instructions expliquant comment fonctionne notre structure de salles alfaview. Après les avoir lues, ils peuvent choisir s’ils souhaitent les voir à nouveau la prochaine fois.

S’ils choisissent de ne plus les voir, le workflow les ajoute à un groupe marqueur. Notre composante de thème utilise ensuite cette appartenance au groupe pour afficher le lien direct de visioconférence au lieu du formulaire d’intégration.

:bell: Notifications spécifiques aux groupes

Nous utilisons des workflows pour notifier les membres de groupes particuliers des nouveaux événements et des réunions à venir.

C’est particulièrement utile pour les groupes de soutien par les pairs où nous voulons que les membres reçoivent une notification, qu’ils visitent régulièrement le forum ou non.


Ce que j’aime particulièrement dans les Workflows, c’est que nous pouvons combiner des formulaires, des requêtes SQL, des groupes, des vérifications planifiées et des messages personnels.

Il reste quelques choses que j’aimerais voir à l’avenir. Un exemple serait une meilleure intégration avec les calendriers : idéalement, lorsque quelqu’un sélectionne Participation pour un événement, nous aimerions lui envoyer automatiquement un e-mail avec un fichier de calendrier .ics en pièce jointe.

7 « J'aime »

Cas d’utilisation vraiment intéressant, c’est sûrement quelque chose à réfléchir @j.jaffeux / @martin / @lindsey

Je me demande si cela relève des workflows ou d’une fonctionnalité intégrée aux événements Discourse ?

4 « J'aime »

Merci pour ce super retour d’expérience, c’est génial de voir comment vous utilisez les workflows et comment ils résolvent des problèmes concrets pour vos communautés :heart:

Le point sur les éléments pairs semble être une fonctionnalité de base, mais cela devrait être réalisable cette semaine grâce aux workflows. Nous préparons justement quelque chose dans ce sens.

6 « J'aime »