Automação do 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 curtidas

Apenas para constar, atualizei o OP com uma tabela de todas as Automações existentes e seus gatilhos correspondentes. :+1:

(Também espero adicionar mais guias, já que o guia para ‘Adicionar usuário ao grupo…’ parece um pouco solitário sozinho :slight_smile:)


Algumas outras demonstrações foram adicionadas para Setting up the ‘Append last edited by’ automation e Setting up the 'Append last checked by' automation. :tada:

E um script totalmente novo, Associação de Grupo de Usuários por Emblemas. :partying_face: Esse saiu quentinho, então se você experimentar, nos diga como foi. :+1:

10 curtidas

Agora eu me sinto muito, muito… não estúpido, mas perto disso. Onde posso criar automações? Em plugins, só consigo ativar ou desativar Automação.

3 curtidas

Após habilitar o plugin, você deverá ver um novo item aqui:

Pode ser necessário atualizar a página para visualizá-lo.

3 curtidas

E agora eu me sinto muito estúpido :man_facepalming:

Obrigado.

1 curtida

Eu também já fiquei preso nisso :slight_smile:

As respostas a este tópico provavelmente devem ser definidas para exclusão automática após 30 dias. Pelo menos esta resposta deveria.

2 curtidas

Não fazemos mais isso para tópicos de plugins #oficiais. Muita informação boa foi perdida para os temporizadores de tópicos. Agora nós os curamos manualmente e dividimos quaisquer discussões significativas em tópicos separados e marcados (além de encorajar as pessoas a iniciar tópicos separados para começar). :+1:

18 curtidas

Uma postagem foi dividida em um novo tópico: Automação para fechar tópicos resolvidos e postar uma resposta de modelo

:information_source: O Discourse Automation foi incluído no core do Discourse, portanto, este plugin não precisará mais ser instalado separadamente. :partying_face:

:discourse2: Hospedado por nós? Esta mudança não o afetará de forma alguma. :+1: Se você estiver nos planos Business ou Enterprise, poderá continuar aproveitando este plugin e não se preocupar com nada.

6 curtidas

Existe um script de automação que pode alterar a categoria? Gostaria de usá-lo para criar um sistema de “Publicação Agendada” mais flexível.

Imagino que o script:

  • Execute periodicamente e
  • Verifique tópicos em uma determinada categoria que tenham algum marcador em uma resposta (como, marcado como resolvido ou resposta contém texto específico, como “PUBLICAR”).
  • Se a data dessa resposta (ou status “resolvido”) for anterior a um determinado deslocamento (como, ontem ou uma semana),
  • Exclua todas as respostas
  • Mova para a categoria especificada
  • Opcionalmente, adicione tags configuráveis

Uma versão mais sofisticada poderia procurar uma data/hora na resposta de gatilho e publicar se for agora após essa data/hora.

Também poderia procurar a categoria de destino nessa postagem (com configuração de script para categorias de destino permitidas). E, nesse caso, tags.

3 curtidas

Isso é viável, mas nada assim existe no momento.

1 curtida

Olá, não entendo o caso de uso para este gatilho. Parece ser capaz de enviar uma mensagem privada, mas para quem? Já que uma Wiki pode ser editada por vários usuários. Obrigado.

Você decide na interface do usuário quem receberá a mensagem privada.

1 curtida

Existe uma maneira de criar um script personalizado?

Este tópico é sobre a pessoa que procura uma maneira de exigir moderação para mensagens particulares.

Então, eu imaginaria

  • Acionar Criação de MP
  • Sinalização automática para revisão.

Eu acredito que sim:

Embora isso exija algumas habilidades de desenvolvimento.

4 curtidas

Isso é muito legal. Imagine que o Op no tópico que eu linkei possa considerar patrocinar um script, dependendo de quão fortemente eles precisam dessa funcionalidade.

Obrigado Jammy pela resposta rápida. Como sempre, uma fonte de conhecimento.

2 curtidas

Olá, não entendi como isso funciona. Tenho um campo de usuário personalizado que pode aceitar dois valores: Sim ou Não (menu suspenso). Mas ao criar a automação, sou solicitado apenas o nome do campo personalizado, não o seu valor. Como aciono a automação para adicionar este usuário ao grupo se não consigo testar o valor do campo personalizado? Obrigado.

O valor do campo personalizado deve corresponder ao nome do grupo. Portanto, se sua pergunta for “o que você prefere?” e suas respostas forem “cachorros” e “gatos”, os nomes completos dos grupos devem ser “cachorros” e “gatos”. Você não pode chamá-los de “amantes de cachorros” e “amantes de gatos”.

Há uma dica no guia vinculado

mas eu também não entendi de primeira.

1 curtida

Ok, entendi agora, então meu caso de uso não é possível: ter um campo personalizado que você pode responder Sim ou Não porque o nome do grupo deve ser Sim ou Não… :roll_eyes:

1 curtida

Posso “Marcar Posts Automaticamente” com base em palavras-chave no post ou título do post? Parece que ele só pode marcar automaticamente com base em grupo ou categoria, o que não é muito útil para o meu caso.