Automatisation de Discourse

:discourse2: Summary Discourse Automation lets you automate actions through scripts and triggers. Customisation is made through an automatically generated UI.
:open_book: Install Guide This plugin is bundled with Discourse core. There is no need to install the plugin separately.

Features

  • Easy automation of complex workflows
  • Triggers automations at specific dates, periodically, or on specific events
  • Provides automatically generated UIs to specify options for your automation

Configuration

Automations can be created and updated from Admin → Plugins → Automations, or directly from /admin/plugins/discourse-automation.

Available scripts

Guide Script Trigger(s) Description
:bookmark: Add user to group through custom field :black_small_square:Recurring
:black_small_square:First logged on
Adds a user to a group based on a Custom User Field
:bookmark: Append last checked by :black_small_square:After post cook Adds a ‘last checked by’ function to the bottom of the OP
:bookmark: Append last edited by :black_small_square:After post cook Adds a ‘last edited by’ note to the bottom of the OP
:bookmark: Auto Responder :black_small_square:Post edited/created
:black_small_square:PM created
Given a series of keywords and associated replies, automatically respond with the corresponding reply
Auto Tag topic :black_small_square:Post created/edited
:black_small_square:PM created
Automatically tag a topic
Close topic :black_small_square:Point in time
:black_small_square:Stalled wiki
Automatically close a topic
Create Post :black_small_square:Recurring
:black_small_square:Point in time
Creates a post
Flag post on Words :black_small_square:Post edited/created Flag a topic on creation/edition if it contains specific words
Gift Exchange :black_small_square:Point in time Simple implementation of the Secret Santa game
Group Category Notification Default :black_small_square:Category created/edited Automatically sets a group notification level for newly created subcategories
Make banner topic :black_small_square:Point in time Convert a topic into a banner notice
Pin Topic :black_small_square:Point in time Pin and Unpin a topic in the future
Random Assign
(Assign)
:black_small_square:Point in time
:black_small_square:Recurring
Randomly Assign a topic
Schedule a PM with data explorer results
(Data Explorer)
:black_small_square:Recurring Send a regular PM with the results of a data explorer query
Send Chat message
(Chat)
:black_small_square:Event started
:black_small_square:Recurring
Sends a Chat message to a Channel
Send PMs :black_small_square:First accepted solution (Solved)
:black_small_square:User badge granted
:black_small_square:User added to group
:black_small_square:Stalled wiki
:black_small_square:Recurring
:black_small_square:User promoted
:black_small_square:API call
:black_small_square:User removed from group
Send PMs with support for placeholders
Suspend User By Email :black_small_square:API call Suspend a user for a specified duration
Topic required words :black_small_square:Topic Enforce the presence of at least one of the specified words in the posts of a topic
:bookmark: Triage posts using AI (Discourse AI) :black_small_square:Post created/edited Enhance the management and moderation of forum posts by automating the process of classifying posts
User Global Notice :black_small_square:Stalled topic
:black_small_square:First accepted solution (Solved)
Displays a global notice on the site for a specific user
:bookmark: User Group Membership through Badge :black_small_square:Recurring
:black_small_square:User first logged in
Automatically add users to a group based on their earned badges
Zapier webhook :black_small_square:User promoted
:black_small_square:User added to group
:black_small_square:User badge granted
:black_small_square:User removed from group
Calls a Zapier webhook

Available triggers

Note that due to their nature, each script only supports certain triggers. For example it wouldn’t make sense for a script enforcing the content of a post to trigger when a user is added to a group.

All of the available triggers are mentioned in the “Available scripts” table above.

Most of the triggers are self-explanatory, but here are a couple that may need a little more detail:

Trigger Description
After post cook Triggers after a post is rendered for display
API Call Triggers when a certain API endpoint is called
Stalled wiki Triggers when a wiki hasn’t been edited for a while
Stalled topic Triggers when a topic has not received replies after a certain time
Topic Triggers when a reply is made to a topic

If you need any clarification on any others please feel free to ask below. :slight_smile:

More scripts and triggers to come!

Custom Automations

You can also create custom Automations. :partying_face: Check out our developer’s guide for more information - Create custom Automations


:discourse2: Hosted by us? This plugin is available on our Business and Enterprise plans. Automation | Discourse - Civilized Discussion

Last edited by @tobiaseigen 2025-07-16T20:41:38Z

Check documentPerform check on document:
73 « J'aime »

Pour information, j’ai mis à jour le message initial avec un tableau de toutes les automatisations existantes et leurs déclencheurs associés. :+1:

(J’espère également ajouter d’autres guides, car celui pour « Ajouter un utilisateur à un groupe… » a l’air un peu seul :slight_smile:)


Quelques autres tutoriels ont été ajoutés pour Setting up the ‘Append last edited by’ automation et Setting up the 'Append last checked by' automation. :tada:

Et un tout nouveau script, Adhésion au groupe d’utilisateurs par badges. :partying_face: Celui-ci est tout frais sorti, donc si vous l’essayez, faites-nous savoir comment vous vous en sortez. :+1:

10 « J'aime »

Maintenant, je me sens très très… pas stupide, mais presque. Où puis-je créer des automatisations ? Sous plugins, je ne peux qu’activer ou désactiver Automation.

3 « J'aime »

Après avoir activé le plugin, vous devriez voir un nouvel élément ici :

Il peut être nécessaire de rafraîchir la page pour le voir.

3 « J'aime »

Et maintenant, je me sens vraiment stupide :man_facepalming:

Merci.

1 « J'aime »

J’ai déjà été bloqué sur celui-ci :slight_smile:

Les réponses à ce sujet devraient probablement être configurées pour se supprimer automatiquement après 30 jours. Au moins cette réponse devrait l’être.

2 « J'aime »

Nous ne faisons plus cela pour les sujets de plugins #officiels. Trop de bonnes informations ont été perdues à cause des minuteurs de sujet. Nous les organisons maintenant manuellement et divisons toute discussion importante en sujets distincts et étiquetés (ainsi que nous encourageons les gens à commencer des sujets distincts dès le départ). :+1:

18 « J'aime »

Un message a été divisé en un nouveau sujet : Automatisation pour fermer les sujets résolus et poster une réponse modèle

:information_source: Discourse Automation est désormais inclus dans le cœur de Discourse, ce plugin n’aura donc plus besoin d’être installé séparément. :partying_face:

:discourse2: Hébergé par nos soins ? Ce changement ne vous affectera en rien. :+1: Si vous êtes sur les plans Business ou Enterprise, vous pouvez continuer à profiter de ce plugin sans vous soucier de quoi que ce soit.

6 « J'aime »

Existe-t-il un script d’automatisation qui peut changer de catégorie ? J’aimerais l’utiliser pour créer un système de « publication planifiée » plus flexible.

J’imagine que le script :

  • s’exécute périodiquement, et
  • vérifie les sujets dans une catégorie donnée qui ont un marqueur dans une réponse (comme, marqué comme résolu ou la réponse contient un certain texte, comme « PUBLIER »).
  • Si la date de cette réponse (ou le statut « résolu ») est antérieure à un décalage donné (par exemple, hier ou une semaine),
  • supprime toutes les réponses
  • déplace vers la catégorie donnée
  • facultativement, ajoute des étiquettes configurables

Une version plus sophistiquée pourrait rechercher une date/heure dans la réponse déclencheuse et publier si nous sommes maintenant après cette date/heure.

Elle pourrait également rechercher la catégorie cible dans ce message (avec la configuration du script pour les catégories cibles autorisées). Et d’ailleurs, les étiquettes.

3 « J'aime »

C’est faisable, mais rien de tel n’existe pour le moment.

1 « J'aime »

Bonjour, je ne comprends pas le cas d’utilisation de ce déclencheur. Il semble pouvoir envoyer un message privé, mais à qui ? Étant donné qu’un wiki peut être modifié par plusieurs utilisateurs. Merci.

Vous décidez dans l’interface utilisateur qui va recevoir le message privé.

1 « J'aime »

Existe-t-il un moyen de créer un script personnalisé ?

Ce sujet concerne la recherche d’un moyen de faire en sorte que les MP nécessitent une modération.

Donc, j’imagine

  • Déclencher la création de MP
  • Signalement automatique pour examen.

Je crois que oui :

Bien que cela nécessite quelques compétences en développement.

4 « J'aime »

C’est assez cool. Imaginez que l’OP du sujet que j’ai lié pourrait envisager de sponsoriser un script en fonction de la force avec laquelle ils ont besoin de cette fonctionnalité.

Merci Jammy pour votre réponse rapide. Comme toujours, une mine de connaissances.

2 « J'aime »

Salut, je ne comprends pas comment cela fonctionne. J’ai un champ utilisateur personnalisé qui peut prendre deux valeurs : Oui ou Non (liste déroulante). Mais lors de la création de l’automatisation, on me demande uniquement le nom du champ personnalisé, pas sa valeur. Comment puis-je déclencher l’automatisation pour ajouter cet utilisateur au groupe si je ne peux pas tester la valeur du champ personnalisé ? Merci.

La valeur du champ personnalisé doit correspondre au nom du groupe. Ainsi, si votre question est « que préférez-vous ? » et que vos réponses sont « chiens » et « chats », les noms complets des groupes doivent être « chiens » et « chats ». Vous ne pouvez pas les appeler « amoureux des chiens » et « amoureux des chats ».

Il y a un indice dans le guide lié

mais je n’avais pas compris au début non plus.

1 « J'aime »

Ok, je comprends maintenant, donc mon cas d’utilisation n’est pas possible : avoir un champ personnalisé auquel on peut répondre Oui ou Non car le nom du groupe doit être Oui ou Non… :roll_eyes:

1 « J'aime »

Puis-je « Étiqueter automatiquement les publications » en fonction des mots-clés du titre ou du corps de la publication ? Il semble qu’il ne puisse étiqueter automatiquement que des éléments basés sur le groupe ou la catégorie, ce qui n’est pas très utile dans mon cas.