How to deal with multiples 'titles' on Automation

AI-generated summary

The discussion centers around how Discourse handles multiple automated ‘title’ assignments when a user qualifies through various badge groups. satonotdead is looking for a way to determine a definitive title and establish a hierarchy, as user levels and trust levels are tied to badge completions. PaidToAnswer explains that the highest priority badge group with a title assigned determines the final title.

Several methods for establishing a hierarchy are outlined:

  • SQL Badge Queries: Controlling priority through query order, revoking lower-priority titles with SQL, and using IF NOT EXISTS logic.
  • Automation UI: Assigning titles only to the most important badges or using custom automation (plugins/scripts).
  • Group Prioritization: Discourse prioritizes based on manual user selection (which overrides) or the internal order of badge groups, influenced by badge creation or SQL logic.

When a user qualifies for multiple automated ‘title’ assignments (via badge groups), how is the definitive title determined?

Is it possible to establish a hierarchy among these, perhaps through the order of SQL queries or within the automation UI?

This is crucial for our overall user levels and trust levels, which are set by the progressive completion of specific badges (challenges in our community).

Any advice or help will be very appreciated.

The highest priority badge group with a title assigned determines the definitive title.

and Yes, it is possible to establish a hierarchy of titles:

:small_blue_diamond: 1. SQL Badge Queries
You can control priority by:

Ordering queries logically in the automation script or schedule.

Using SQL to revoke lower-priority titles if a higher-priority one is awarded.

Adding logic like IF NOT EXISTS (SELECT FROM …) to ensure exclusivity.

:small_blue_diamond: 2. Automation UI (Discourse Admin > Badges)
While the UI doesn’t support direct drag-and-drop reordering, you can:

Assign titles to only the most prestigious badges.

Use custom automation (via plugin or external script) to enforce a hierarchy.

:small_blue_diamond: 3. Group Prioritization
If multiple badge groups assign titles, Discourse prioritizes based on:

Whether the user manually selects a title (this overrides).

Otherwise, first match by internal order, which can be influenced by badge creation or SQL logic.