AI + Automation Governance: Orchestrating Independent AI Triage Scripts

I also encountered the problem of not being able to orchestrate the execution of an Automation scripts with the spam detector. The offered workaround

The great news is that Discourse has now created a “Workflows” core plugin that facilitates the same types of applications as the “Automation” plugin, but in a far more powerful and flexible manner:

The orchestration requested here can be achieved if you use the the Workflows plugin to implement the systems that would have previously been implemented via the Automation plugin.


The purpose of my Automation was to raise flags on posts with certain characteristics that might indicate spam, but not definitively. The problem I encountered is that these same characteristics are often present in the spam posts flagged by the Discourse AI Spam detector system. This resulted in the Automation frequently raising redundant flags, creating pointless additional work for the moderators.


The “mash everything into a single Automation” workaround presented above was not applicable to my system because I intentionally separated the two systems:

  • The spam detector system’s job is to detect posts with a high likelihood of being spam.
  • My supplemental system’s job is to bring posts that have some possibly of being spam to the attention of the moderators.

Since the Discourse AI Spam detector has a special implementation in the Discourse framework (as opposed to purely operating on the Discourse AI framework provided to the forum admin), I did not have any interest in trying to replace it with an Automation.

Furthermore, it was not appropriate to merge my supplemental system into the spam detector (by adding instructions to the prompt). The spam system’s behavior of immediately hiding the post and silencing the author is appropriate as long as it is configured to operate with a high degree of accuracy. Conversely, my supplemental system is inherently prone to false positives, and thus its flags must not affect the subject user prior to human review.


The solution I was able to achieve after replacing the Automation with a Workflow:

  1. “Post created” trigger.
  2. “Wait” step to give time for the spam detector system to run.
  3. “Data Explorer” step to obtain post data:
  4. “Filter” step to determine whether to continue the workflow execution, based on the post data: