Back to Blog

How to Automatically Assign a Role When Someone Joins Discord

Peak Team·June 22, 2026·9 min read
By the PeakBot Team — powering 500+ Discord communities
Key Takeaways
  • These three things sound similar but solve different problems, and mixing them up is the most common reason setups go wrong.
  • A join role does real work behind the scenes:
  • Before you click anything, decide what the role does.
  • With your role created, add a bot that supports auto-roles and point it at that role.
  • A role on join is more useful when the member also knows what just happened.
  • You have two real ways to apply a role on join, and it is worth knowing which fits you.

How to Automatically Assign a Role When Someone Joins Discord

To auto-assign a role when someone joins Discord, add a bot like PeakBot, open its welcome or auto-role settings, and pick the role you want every new member to receive. From then on, the bot applies that role automatically the moment a person joins your server, with no manual action needed.

A join role (also called an auto-role) is one of the most useful things you can set up in a Discord server. It guarantees every new member starts with the right permissions, the right visible channels, and the right place in your member list, without you or your moderators touching anything. This guide covers what an auto-role actually is, how to set one up for free, how to combine it with a welcome message, and what to do when it stops working.

Auto-roles vs reaction roles vs onboarding roles

These three things sound similar but solve different problems, and mixing them up is the most common reason setups go wrong.

Auto-roles (join roles) are applied automatically to every new member the instant they join. The member does nothing. This is what you want for a base "Member" role, a "Verified" placeholder, or a role that simply unlocks your general channels.

Reaction roles are self-assigned. You post a message, members click a reaction or button, and they pick up a role themselves, things like pronoun roles, game roles, color roles, or ping/notification roles. They choose; the bot reacts. If that is what you actually need, see our guide on how to set up reaction roles in Discord.

Discord Onboarding roles are Discord's own native feature (Server Settings to Onboarding). New members walk through a short setup where they tick interests and get roles based on their choices. It is built into Discord and needs no bot, but it is a guided opt-in flow, not a silent "everyone gets this role on join."

For a plain "give every new person this one role automatically," an auto-role from a bot is the cleanest answer. The other two are for member choice and guided setup.

Why owners want a role applied on join

A join role does real work behind the scenes:

  • Channel gating. You can hide most of your server from @everyone and only reveal channels to a "Member" role. The auto-role grants that role on join, so newcomers see the full server immediately, while restricting the default @everyone view for safety.
  • A clean baseline. Everyone starts identical. No member slips through with zero roles and broken permissions.
  • Verification flow support. Many servers give a temporary "Unverified" role on join, then swap it for "Verified" after a captcha or rules agreement. The auto-role is the first half of that.
  • Member list organization. Roles with a color and "display separately" sort your member sidebar. Auto-roles keep that list tidy from day one.
  • Anti-raid containment. Paired with anti-raid tools, a join role lets you lock down what a fresh account can do until it has been around for a bit.

Step 1: Decide which role new members should get

Before you click anything, decide what the role does. This is the part most people skip, and it causes problems later.

Ask yourself:

  • Should new members see everything right away, or go through verification first?
  • If you want verification, create two roles: one applied on join (for example "Unverified" or "New") and one granted after they pass a check ("Member" or "Verified").
  • If you want no friction, a single "Member" role applied on join is enough.

Then create the role in Discord under Server Settings to Roles. Give it a clear name, set its permissions, and set its channel visibility. A common base setup is: deny @everyone access to your main channels, and allow the "Member" role to see them. That way the auto-role is what actually unlocks the server.

One important rule: the bot's own highest role must sit above the role it is assigning in the role list. Discord will not let a bot grant a role that ranks higher than its own. We will come back to this in the troubleshooting section because it trips up almost everyone at least once.

Step 2: Set up the join role for free

With your role created, add a bot that supports auto-roles and point it at that role. Here is the flow using PeakBot, which includes auto-role in its free welcome system:

  1. Invite the bot to your server from peakbot.pro and authorize it. During the invite, keep the Manage Roles permission checked.
  2. Open the bot's dashboard and select your server.
  3. Go to the Welcome or Auto-role section. PeakBot groups auto-role with its welcome message settings, since they fire on the same event (a member joining).
  4. Toggle the auto-role on and pick the role you created in Step 1 from the dropdown.
  5. Save. That is it. The next person who joins receives the role automatically.

You can assign more than one role on join if you want (for example a "Member" role plus a default "Level 0" role), and you can do this without paying. Auto-role is part of PeakBot's free feature set, alongside unlimited reaction roles, XP and leveling, and AI moderation. There is no time limit and no trial countdown on the free tier.

If you are comparing options, some bots gate join roles or welcome customization behind premium. We break down how the popular ones stack up in our MEE6 alternatives guide.

Step 3: Combine auto-role with a welcome message

A role on join is more useful when the member also knows what just happened. Pairing the auto-role with a welcome message gives newcomers a landing point.

A solid combination looks like this:

  • The auto-role unlocks the server's channels the moment they join.
  • A welcome message posts in your general or welcome channel (or sends as a DM) introducing the server and pointing them to a rules or start-here channel.
  • Optionally, the welcome embed mentions any reaction-role channel where they can grab extra roles.

In PeakBot you can configure the welcome embed, an optional DM, and the auto-role from the same screen, so all three behaviors are wired to the join event together. For the full walkthrough of the message side, see how to set up a Discord welcome message. Keep the copy short and practical, a quick "here's where to start" beats a wall of text.

Bot-required vs Discord Onboarding default roles

You have two real ways to apply a role on join, and it is worth knowing which fits you.

Discord Onboarding default roles (no bot). In Server Settings to Onboarding, eligible community servers can set default roles that new members receive, plus the interest-based question flow. This is native, free, and requires no third-party bot. The trade-offs: your server must be a Community server, Onboarding has its own eligibility requirements, and the experience is a guided setup screen rather than a silent grant. It is a good fit for larger public communities that want members to self-select interests.

Bot-based auto-role. A bot applies the role instantly and silently on join, works on any server (Community or not), and combines naturally with welcome messages, verification, leveling, and anti-raid. This is the more flexible route and the one most owners reach for, especially when they want the role tied to other automations.

Neither is "better" universally. If you are a big Community server and like the interest-picker, Onboarding is excellent and built in. If you want a quiet, instant role on every join plus everything else a bot does, go with a bot.

Common auto-role failures and fixes

When an auto-role does not apply, it is almost always one of these:

The role is above the bot's role

Discord blocks a bot from assigning any role ranked higher than the bot's own highest role. Fix: in Server Settings to Roles, drag the bot's role above the role it is supposed to assign. This single issue causes the majority of "auto-role not working" reports.

The bot is missing Manage Roles

If the bot lacks the Manage Roles permission, it cannot grant anything. Fix: check the bot's role permissions and re-enable Manage Roles, then re-test with a fresh join.

Auto-role was never actually saved

It is easy to pick a role and forget to hit save, or to configure it on the wrong server. Fix: reopen the dashboard, confirm the toggle is on and the correct role is selected for the correct server, and save again.

A verification gate is intercepting the join

If you use Discord's built-in membership screening or a verification bot, the new member may be held before normal roles apply. Fix: confirm whether your verification flow is meant to apply the role itself, and avoid stacking two systems that both try to manage the join role.

Testing with an account that is already a member

You will not see the role get applied if your test account is already in the server. Fix: test with an alt account that has never joined, or have a friend join, so the join event actually fires.

One more thing worth knowing: auto-roles from a bot generally apply to humans only. Other bots you invite are typically excluded, which is normal and usually what you want.

Setting a join role free with PeakBot

PeakBot is a free, AI-powered Discord bot, and auto-role is part of its free welcome system, with no premium required. You set it up once in the dashboard, choose the role, and every new member gets it automatically from then on. Because PeakBot also handles welcome messages, reaction roles, XP and leveling, tickets, and anti-raid in the same bot, your join role can plug straight into the rest of your server's automation instead of living in isolation.

PeakBot replaces MEE6, Carl-bot, Dyno, and TidyCord with one bot and powers 500+ Discord communities. More than 30 features are free with no time limit. If you later want the AI Server Builder, which generates a complete custom server structure from a plain-English description in under 60 seconds, that is a Pro feature at $8.25/month or $69/year per server, but the auto-role itself stays free.

Honest note on the alternatives: Carl-bot has deep, flexible reaction-role tooling; Dyno is reliable and cheap at $4.99/month premium; MEE6 is widely known and beginner-friendly despite its $11.95/month premium. Any of them can apply a join role. PeakBot's edge is bundling auto-role with the rest of a modern free stack so you are not running four bots to do one server's job. You can see the full free list on the features page.

How do I auto-assign a role when someone joins my Discord server?

Add a bot with auto-role support (such as PeakBot), open its welcome or auto-role settings in the dashboard, and select the role you want new members to receive. The bot then applies that role automatically on every join. Make sure the bot has Manage Roles and that its role sits above the role being assigned.

Can I auto-assign a role without using a bot?

Yes, if your server is a Discord Community server. Go to Server Settings to Onboarding and set default roles there. It is native and free, but it runs as a guided setup flow and has eligibility requirements, so a bot is more flexible for an instant, silent role on join.

Why is my Discord auto-role not working?

The most common cause is role hierarchy: the bot cannot assign a role that ranks higher than its own. Move the bot's role above the target role in Server Settings to Roles. Also confirm the bot has Manage Roles, that you saved the setting on the correct server, and that you are testing with an account that is genuinely joining for the first time.

Is setting a join role free?

Yes. With PeakBot, auto-role is part of the free welcome system with no time limit and no trial. You only need Pro for advanced features like the AI Server Builder, not for assigning a role on join.

Can I assign more than one role on join?

Yes. Most auto-role systems, including PeakBot's, let you apply multiple roles at once, for example a base "Member" role plus a default leveling role. Just keep every assigned role below the bot's own role in the hierarchy.

Try PeakBot free on your server

Setup takes 30 seconds.

Free forever · Setup in 30 seconds

Ready to level up your server?

30+ features included free. Moderation, welcome messages, XP & leveling, tickets, reaction roles, and more.

See All Features