Aperçu de la nouvelle fonctionnalité Workflows

Nous développons une nouvelle fonctionnalité Workflows, conçue pour prendre en charge des tâches complexes que notre outil d’Automatisations existant ne peut pas gérer. Ce nouvel éditeur d’automatisation visuel vous permet de créer des workflows multi-étapes avec des délais, des branches conditionnelles, des appels à des services externes et des actions IA directement dans votre espace d’administration.

Workflows est disponible sur les plans Business et Enterprise, pour les utilisateurs de l’hébergement Discourse.

Présentation de Workflows

Workflows remplace l’approche axée sur le script de l’extension d’Automatisations existante par un canevas visuel basé sur des nœuds que vous connectez pour créer une logique complexe et multi-étapes.

:books: Documentation

Nœuds

Il existe quatre grandes catégories de nœuds :

  • Déclencheurs : initient un workflow en réponse à des événements dans Discourse (par exemple, création d’un sujet, ajout d’un utilisateur à un groupe, etc.), à un planning prédéfini, à un webhook ou à une action manuelle.
  • Conditions : créent des branches dans le workflow basées sur une logique oui/non pour n’importe quelle donnée du workflow.
  • Actions : sont des événements déclenchés par le workflow, tels que l’envoi d’un message privé ou de message de chat, la publication d’une réponse, l’appel d’un point de terminaison HTTP, l’exécution d’un agent IA ou l’interrogation de Data Explorer.
  • Utilitaires : contrôlent le flux lui-même en définissant des délais, en itérant sur des éléments et en définissant des variables, et peuvent aider à documenter le workflow avec des notes adhésives.

Les paramètres de chaque nœud prennent en charge des valeurs littérales et des expressions dynamiques, vous permettant ainsi de référencer la sortie de tout nœud précédent, les variables du workflow ou le contexte d’exécution d’une étape antérieure dans une étape ultérieure.

Variables, tables de données et identifiants

Workflows inclut quelques outils supplémentaires pour faciliter la création et la gestion de leur sortie :

  • Variables : sont des paires clé/valeur stockées (par exemple, identifiants de groupe, identifiants de catégorie, etc.) facilement disponibles dans tous les workflows pour une configuration plus simple.
  • Identifiants : c’est l’endroit où vous pouvez stocker des configurations d’authentification réutilisables pour les nœuds de requêtes HTTP, afin de ne pas avoir à coller vos clés API dans vos workflows.
  • Tables de données : sont utilisées pour stocker et interroger les données d’exécution, afin que vous puissiez suivre les exécutions (par exemple, voir si un workflow a déjà été exécuté sur un sujet spécifique) et référencer facilement la sortie d’un workflow.

Journaux d’exécution

Chaque exécution de workflow génère un journal complet dans l’onglet Exécutions. Vous pouvez voir quels nœuds se sont exécutés, quelles données ils ont reçues, ce qu’ils ont produit et où un workflow s’est arrêté si quelque chose a mal tourné.

Utilisation de Workflows

Pour l’essayer, rendez-vous dans Changements à venir à /admin/config/upcoming-changes, trouvez l’élément Activer les workflows Discourse et mettez à jour le champ Activé pour… pour opter votre site pour cette fonctionnalité.

Une fois activé, vous trouverez Workflows sous Extensions → Workflows dans votre espace d’administration.

29 « J'aime »

Cela ressemble à n8n. Ce serait vraiment génial si cela fonctionnait de manière similaire.

3 « J'aime »

Cette fonction pourrait-elle servir d’alternative aux automatisations ? Ou peut-être être combinée avec elles ?

1 « J'aime »

Ces quatre dernières semaines, nous avons développé certaines intégrations et automatisations à l’aide de cette nouvelle extension, et tout ce que je peux dire, c’est qu’elle est absolument fantastique et qu’elle change la donne pour Discourse. C’est vraiment la meilleure nouvelle fonctionnalité depuis des années (et il y a déjà pas mal de fonctionnalités incroyables :heart_eyes:).

C’est le cas :slight_smile:

13 « J'aime »

Il remplacera probablement entièrement le plugin Automations à un moment donné, car les Workflows sont beaucoup plus flexibles

9 « J'aime »

C’est un concept vraiment fou. J’ai passé beaucoup de temps à créer des intégrations puissantes entre n8n et Discourse. C’est une initiative incroyable qui va dynamiser Discourse.

8 « J'aime »

Je fais des tests avec ça en ce moment, et je pense qu’il faudrait créer une nouvelle catégorie dans ce forum pour les workflows.

J’aimerais aussi savoir comment envoyer un message de chat à un utilisateur plutôt qu’à un canal.

3 « J'aime »

Il n’est pas encore possible d’envoyer un message de chat à un utilisateur, uniquement à des canaux

Mike Tyson's 'Real Thoon' Meme

6 « J'aime »

J’adore les nouveaux flux de travail — c’est un véritable tournant, et ils peuvent également être couplés à des services comme n8n.

J’ai remarqué que la limite de débit est souvent atteinte — comment peut-on la modifier ?
Ensuite, je ne sais pas pourquoi, mais parfois le système s’arrête simplement de fonctionner, et la seule façon de le relancer est de désactiver la fonctionnalité, puis de la réactiver via les “changements à venir”.

Vos avis ?

2 « J'aime »

Ça fait plutôt haut de gamme. Qui pourrait citer quelques cas d’utilisation ?

1 « J'aime »

Imaginez pouvoir créer un flux qui, en fonction du niveau de confiance des utilisateurs, permet des comportements dynamiques, comme ajouter un utilisateur à un troisième groupe lui donnant accès à une nouvelle catégorie s’il est membre de ces deux groupes simultanément.

Ce genre de comportements dynamiques est difficile à mettre en œuvre avec Discourse vanilla

4 « J'aime »

Une meilleure approche serait de refactoriser tous les sélecteurs de groupes en expressions d’intersection, d’union et de complément ! :smile: (je rigole)

Vous pouvez faire n’importe quoi en appelant l’API Discourse depuis un workflow :grinning_face:

2 « J'aime »

J’aimerais savoir dans quelles situations il convient de continuer à utiliser les Automations + requêtes, et quand il faut réellement utiliser les Workflows. Prenons l’action suivante comme exemple :

Envoyer des messages privés aux utilisateurs dont le ratio lectures/publications dépasse 250:1 (et qui finiront par tomber dans le groupe “délisté”, aussi connu sous le nom de “lurkers”)

Quel outil est le plus efficace et/ou recommandé pour ce cas précis ? Quand dois-je utiliser les Automations + requêtes, et quand dois-je utiliser les Workflows ?

Je comprends que les Workflows permettent des décisions de branchement et permettent ainsi des diagrammes dynamiques ; pour commencer, j’aimerais savoir ce que pensent les utilisateurs expérimentés des cas plus simples.

Je recommande d’utiliser les Workflows, même pour des processus simples, pour plusieurs raisons :

  • Si vous décidez un jour que le processus simple doit évoluer ou changer, les Workflows sont beaucoup plus flexibles et peuvent s’adapter à vos besoins
  • Si vous décidez un jour que vous souhaitez créer un autre processus influencé par celui-ci, les Workflows vous permettent de les connecter entre eux
  • Les Workflows vous offrent une meilleure visibilité sur les exécutions du processus, ce qui facilite le dépannage
7 « J'aime »

Ce que @lindsey a dit, et aussi, si vous avez des cas d’utilisation que vous pouvez réaliser avec l’automatisation mais pas avec les workflows, faites-le nous savoir s’il vous plaît.

6 « J'aime »

Ça serait vraiment sympa d’avoir une rubrique dédiée au partage de workflows ! Cela permettrait d’aider la communauté, de mieux comprendre toutes les mécaniques et surtout de donner de nouvelles idées pour de futurs projets. C’est juste une idée :sweat_smile:

Pour information: je trouve le module workflow très réussi, puissant et intuitive :+1:

3 « J'aime »

Vous devriez faire entendre votre voix sur :

3 « J'aime »

J’aimerais savoir si c’est possible lorsque le statuts événement est complet il renomme automatiquement le nom de l’événement en ajoutant “complet”. Cela permettrait aux utilisateurs de voir directement les événements complet dans l’aperçu année par exemple cela évite de cliquer sur l’événement pour savoir si il reste des places. Sinon pour aller plus loin afficher le nombre de places dans le nom de l’événement. Après c’est mon ressenti pour améliorer l’utilisation auprès de mes utilisateurs :sweat_smile: