Category Exclusion (Blacklist) for Automation Triggers

AI-generated summary

DevTeVe proposes adding an “Exclude Categories” (blacklist) option to the Discourse Automation plugin to complement the existing “Categories” (whitelist) filter. Currently, automations only run in explicitly selected categories, forcing admins to manually update the list every time a new category is created — especially problematic when aiming for global coverage with only a few exceptions (e.g., excluding #staff). The proposed blacklist would allow automations to run everywhere except specified categories, reducing maintenance overhead. For example, an automation could run on all categories except #introduction without requiring admins to list every public category. This would simplify setup and future-proof automations against new category creation. The feature would be especially useful for global automations like welcome bots or reply reminders that should apply broadly but exclude specific administrative or off-topic categories. DevTeVe emphasizes that this change would eliminate the need for manual updates and improve scalability for growing communities.

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