How to set up reaction roles on Discord
Updated · Bots
For roles members pick when they join, use Discord's native Onboarding customization questions; they are free, need no bot and appear before members reach your channels. Use a bot like Carl-bot for reaction roles (or role buttons and select menus) when members need to change roles later, such as notification pings or cohort tags.
| Method | Needs a bot? | When members see it | Best for |
|---|---|---|---|
| Onboarding customization questions | No (Community servers) | On join, and later via Channels & Roles | Interests, member type, region, cohort |
| Reaction roles (emoji on a message) | Yes (e.g. Carl-bot) | Whenever they visit the roles channel | Pings, opt-in channels, pronouns |
| Role buttons | Yes (bot that supports buttons) | Whenever they visit the roles channel | Clear labeled choices, fewer misclicks |
| Select menus (dropdown) | Yes (bot that supports them) | Whenever they visit the roles channel | Long lists like time zones or regions |
| Paid or verified roles | Integration (Linked Roles, Whop, LaunchPass, Twitch, YouTube) | After purchase or account link | Access tiers; never self-assigned |
Option 1: Onboarding questions (native)
Members can change these answers later from Channels & Roles at the top of the channel list. Full walkthrough: Discord onboarding setup.
- Enable Community in Server Settings.
- Open Server Settings > Onboarding and set your Default Channels.
- Add customization questions, for example 'What brings you here?' or 'Which cohort are you in?'.
- For each answer, choose the roles and channels it grants.
- Preview as a new member, then enable.
Option 2: Reaction roles with a bot
- Create the roles first in Server Settings > Roles. Give opt-in roles no extra permissions.
- Invite the bot from its official site (Carl-bot: carl.gg).
- Drag the bot's role above every role it should hand out. This is the usual reason reaction roles 'do nothing'.
- Create a #roles channel where members can view and react but not send messages.
- Use the bot's dashboard or setup command to post the role message and map each emoji (or button) to a role.
- Test from a non-admin account; Administrators can see everything, so they are a bad test.
A roles template for community servers
Ordering matters: a role can only manage roles below it. More on this in Discord roles and permissions explained.
- Staff: Owner, Admin, Moderator, Support (manually assigned, top of the list).
- Bots: one role per bot, just below staff.
- Access: Member, Paid / Pro, Cohort roles (assigned by Onboarding, a paywall integration or staff).
- Self roles: Announcements ping, Events ping, interest roles, region / time zone (reaction roles or Onboarding).
- @everyone: the base permissions; keep it minimal.
Never use reaction roles for paid access
Anyone can click a reaction. Paid or verified access should come from an integration that adds and removes the role automatically, such as Whop or LaunchPass or Discord's own Server Subscriptions. See automatic role after purchase.
Quick answers
- How to set up reaction roles discord?
- Create the roles, invite a reaction-role bot such as Carl-bot, move its role above those roles, then use its dashboard to post a message that maps emojis or buttons to roles in a read-only #roles channel.
- How to make new members pick roles when they join discord?
- Use Onboarding customization questions (Server Settings > Onboarding on a Community server). Each answer can grant roles and channels before the member reaches the server.
- Why are my reaction roles not working?
- Most often the bot's role is below the role it is trying to give. Move it higher in Server Settings > Roles. Also check the bot has Manage Roles and can see the #roles channel.
- Is there a discord roles template I can copy?
- Yes: use a server template, which copies roles, their permissions and their order along with channels. It does not copy bots, so you re-add the reaction-role bot afterward.
What to do next
Get a server with the role list, order and Onboarding questions already built for your community type.
Related guides
Sources
- Discord Help: Server Onboarding
- Discord Help: roles and permissions
- Discord Help: Linked Roles
- Discord Help: server templates
- Carl-bot
Checked: . Discord changes features and menus often; if something looks different, the official help center is the source of truth. LaunchMyServer is not affiliated with Discord.