Category Exclusion (Blacklist) for Automation Triggers

The Context

Currently, when configuring triggers in the Discourse Automation plugin (e.g., Post created, Topic created), we are presented with a “Categories” filter. This functions as a whitelist: the automation only runs in the specific categories selected.

The Problem

This whitelist approach creates friction and maintenance debt for communities that want to apply “Global” automations with only a few exceptions.

If I want an automation to run on all categories except for the #staff category:

  1. Initial Setup: I have to manually select every single public category.
  2. Maintenance: Every time we create a new category in the future, the automation will not run on it by default. Administrators have to remember to go back into the Automation settings and add the new category to the list.

Proposed Solution

I propose adding an “Exclude Categories” (Blacklist) field.

Desired Behavior:

  • If “Categories” is left blank and “Excluded Categories” is populated: Run on everything except the excluded ones.
  • This ensures future-proofing: Any new category created later will automatically inherit the automation without manual intervention.

Use Case Example

Scenario: Preventing “Bot Collision” in specific channels

The Goal: I have two distinct automations:

  1. Welcome Bot: Replies to new users in the #Introductions category to give them a forum rundown.
  2. Support Bot: Replies to topics in technical categories to ask for logs/details.

The Issue: I want the Support Bot to run everywhere except #Introductions. Currently, to prevent the Support Bot from replying to an introduction post (and confusing the new user with technical questions), I have to use the “Inclusion” list to select every single technical category manually.

The Fix: If I could simply set the Support Bot to Exclude: #Introductions, I could ensure the two bots never talk over each other, without having to maintain a massive list of allowed categories for the Support Bot.

1 Like