Competitor Role Sync
Automatically assign a Discord role to confirmed participants in your competition. When someone joins, they get the role. When they leave or are dropped, it's removed. No manual role management needed.
How It Works
When you assign a competitor role to a competition:
- All currently confirmed participants with linked Discord accounts are queued for the role
- As new participants register and are confirmed, the role is added automatically
- When a participant withdraws or is dropped, the role is removed automatically
Role changes are processed in the background -- there may be a short delay (up to 30 seconds) between a status change and the Discord role being applied.
Prerequisites
Before setting up competitor role sync, make sure:
- Your Discord server is linked to your Tabletop League organization (via the
/setupbot command) - The bot has "Manage Roles" permission in your Discord server
- The bot's role is above the target role in your server's role hierarchy (Server Settings > Roles -- drag the bot's role higher than the role you want to assign)
- Participants have linked their Discord accounts on Tabletop League -- the sync only works for participants with a connected Discord account
Setting Up via Discord Bot
Use the /competitor-role slash command in your linked Discord server.
Assigning a Role
- Run
/competitor-rolewith your competition selected and the Set role action - A role picker appears -- select the Discord role you want to assign to competitors
- The bot validates it can manage that role (checks role hierarchy)
- Existing confirmed participants are immediately queued for the role
Viewing the Current Role
Run /competitor-role with the View current action to see which role is assigned (if any).
Removing the Role
Run /competitor-role with the Remove role action. The role configuration is cleared, and any currently assigned roles are queued for removal.
Syncing (Reconciling)
If roles get out of sync (e.g., someone manually removed a role, or the bot was temporarily offline), run /competitor-role with the Sync (reconcile) action. This re-queues all confirmed participants for role assignment.
Permissions
You need one of the following to use /competitor-role:
- Manage Server permission in Discord, OR
- The designated manager role configured during
/setup
Setting Up via Web UI
You can also configure the competitor role from the competition's manage area on the website.
- Go to your competition's Settings page
- Scroll down to the Admin Tools section
- In the Competitor Role Sync card:
- Select the Discord server (if your org has multiple linked servers)
- Enter the Discord role ID (the numeric snowflake ID of the role)
- Click Save
To find a role's ID in Discord: enable Developer Mode (User Settings > Advanced > Developer Mode), then right-click the role and select Copy Role ID.
What Gets Synced
| Participant Status Change | Role Action | |--------------------------|-------------| | Registration confirmed / approved | Role added | | Manually added by organizer | Role added | | Participant withdraws | Role removed | | Dropped by organizer | Role removed |
Only participants with a Discord account linked to their Tabletop League profile are affected. Participants without a linked Discord account are silently skipped.
Troubleshooting
Roles aren't being assigned
- Check bot permissions -- the bot needs "Manage Roles" in your Discord server
- Check role hierarchy -- the bot's highest role must be positioned above the competitor role in Server Settings > Roles
- Check Discord link -- participants need a Discord account linked on their Tabletop League profile
- Wait a moment -- role changes are processed every 30 seconds, so there's a short delay
"Missing Permissions" or "Missing Access" errors
The bot can't manage the selected role. This usually means:
- The bot's role is below the target role in the hierarchy -- move it higher
- The bot lost the "Manage Roles" permission -- re-check its role permissions
Role was manually removed from a user
Run /competitor-role with the Sync (reconcile) action to re-apply roles to all confirmed participants.
Changing the competitor role
Run /competitor-role with Set role again and pick a new role. The old role assignments are not automatically removed -- you'll need to remove the old role manually in Discord if desired.