Back to Blog

How to Set Up Auto Roles in Carl-bot (and Fix Them)

PeakBot Team·How we write these·November 9, 2026·8 min read
By the PeakBot Team — powering 10000+ Discord communities
Key Takeaways
  • Any bot, Carl-bot included, has to follow two Discord rules before it can hand out a role:
  • If your server has Community turned on, you can use Discord's Rules Screening.
  • Some servers give bots a separate role, such as "Bots," so they're grouped in the member list and kept out of the human join role.
  • Go through these in order:
  • PeakBot keeps every role automation on one dashboard page.
  • Usually Carl-bot's role sits below the role it's trying to give, or it's missing Manage Roles.

To set up auto roles with Carl-bot, first create the role in Discord. Then drag Carl-bot's own role above it in Server Settings > Roles, add the role to Carl-bot's autorole settings on the carl.gg dashboard, and save. When it doesn't work, the cause is usually one of three things: the role order, a missing Manage Roles permission, or Discord's Rules Screening. Try it with a second account before you rely on it.

Checked on each bot's own site or docs on 3 November 2026. We make PeakBot. Nobody paid to be in this post.

This guide covers roles given when someone joins. If you want members to pick their own roles by clicking a button or reacting, that's a different setup. Our reaction roles troubleshooting guide covers it.

What an auto role needs from Discord

Any bot, Carl-bot included, has to follow two Discord rules before it can hand out a role:

  1. It needs the Manage Roles permission. Discord describes this permission as one that "allows management and editing of roles."
  2. Its highest role has to sit above the role it gives. Discord's permissions documentation says a bot "can grant roles to other users that are of a lower position than its own highest role." A role's position in the list sets its rank. @everyone is at the bottom.

These two rules don't depend on each other. A bot can have Manage Roles and still fail if its role sits below the one it's trying to give. That's the most common reason an autorole "does nothing." For more on how roles and permissions fit together, read how to set up Discord roles and permissions.

Part 1: Set it up in Discord

  1. Create the role. On desktop, open Server Settings > Roles > Create Role. Name it something like "Member" or "Newcomer." Give it only the permissions you'd give a stranger. Never give a join role Administrator.
  2. Find Carl-bot's role. When you invited Carl-bot, Discord gave it a role with its name. You'll see it in the same Roles list.
  3. Check that Carl-bot's role has Manage Roles. Click the role, open its permissions and make sure Manage Roles is on.
  4. Drag Carl-bot's role above the join role. In the Roles list on desktop, drag Carl-bot's role so it sits higher than the role you made in step 1. If you plan to give several join roles, put Carl-bot above all of them.
  5. Save changes. Discord shows a save bar at the bottom of the settings window. If you close it without saving, the new order is lost.

The mobile app's role menus aren't laid out the same way as desktop, and they change between versions. If you can't reorder roles on your phone, do this step on desktop or in the browser at discord.com.

Part 2: Add the role in Carl-bot

  1. Sign in at carl.gg with your Discord account and pick your server. You need Manage Server on that server for it to appear.
  2. Open the autoroles section of the dashboard. Some third-party guides point to sidebar locations that are a few years old. Carl-bot's menus have changed since then, so trust the live dashboard over any screenshot, this post included. If you can't find the section, check the documentation linked from carl.gg.
  3. Add the role you created. Pick it from the role list. If it's greyed out or missing, Carl-bot's role is probably below it. Go back to Part 1, step 4.
  4. Look at the options next to the role. If the dashboard lets you choose who gets the role (people or bots) or set a delay, decide now. The two sections below explain why both are worth your attention.
  5. Save. Then make sure the server picker at the top still shows the right server. Saving to the wrong server is an easy mistake if you run more than one.
  6. Try it. Join with a second account, or ask a friend to join, and check that the role shows up. Remember that autoroles only fire when someone joins. Members who were already there won't get the role, so give it to them by hand.

Prefer commands? Type / in a channel and pick Carl-bot in the command picker to see its current role commands. Older guides show commands with a ! prefix. Your server's prefix may be different, so go by what the picker shows.

Delayed auto roles and Rules Screening

If your server has Community turned on, you can use Discord's Rules Screening. People who haven't accepted the rules yet can't talk, react or DM server members. Discord's Rules Screening FAQ explains how it works.

The catch: Discord's Help Center says that giving a role to a new member skips screening. So a join role that's given instantly can let people get in without accepting your rules. You have three ways around it:

  • Add a delay to the autorole, if your Carl-bot dashboard offers one. That way the role arrives after the person has had time to accept the rules.
  • Give the role after a check, not on join. A verification step, where the member clicks a button and then gets a role, does the same job without a timer.
  • Use Discord's own Apply to Join if you want to approve each person. See Discord's server member applications article.

Pick one of these. Don't stack all of them, or new members will hit three gates in a row and leave.

Bot-only roles

Some servers give bots a separate role, such as "Bots," so they're grouped in the member list and kept out of the human join role. Most bots already get their own role from Discord when you invite them. A shared "Bots" role is about tidiness and channel permissions, not something the bots need to work.

If Carl-bot's autorole settings let you split people from bots, use that split. If they don't, a new bot can end up with your "Member" role. You can take it off by hand: right-click the bot in the member list on desktop and open Roles.

Why Carl-bot's auto role isn't working: a checklist

Go through these in order:

  • The join role sits above Carl-bot's role. Move Carl-bot's role higher.
  • Carl-bot's role is missing Manage Roles. Turn it on.
  • The role is a managed role. Roles that belong to a bot or an integration, such as the Server Booster role, can't be given out by a bot.
  • The member is still pending Rules Screening. They haven't accepted the rules yet, or a delay hasn't finished.
  • A delay is set and you checked too soon. Wait for it to run out, then look again.
  • The setting was saved to a different server, or wasn't saved at all.
  • Carl-bot isn't in the server or isn't online. Check the member list.
  • Another bot is removing the role. Verification or security bots sometimes strip roles from new accounts. Check their logs.
  • The member joined before you set it up. Autoroles only run on new joins.

If you use Carl-bot for greetings too, the same role-order and permission problems can break welcome messages. See our Carl-bot welcome message guide.

How PeakBot does join roles

PeakBot keeps every role automation on one dashboard page. Auto roles on join, self-assign roles and if/then rules all live there, and they're part of the Free plan, which has no time limit.

  1. Sign in at peakbot.pro and pick your server.
  2. Open Roles in the sidebar and add the role you want new members to get.
  3. In Discord, drag PeakBot's role above that role. The same hierarchy rule applies to every bot.
  4. Save, then try it with a second account.

There's no command for this. Join roles are set up on the dashboard. Step-by-step help is in the wiki page give new members a role automatically.

To handle the Rules Screening problem with PeakBot, use the Verification page instead of a timer. New members get an unverified role, click a button on a panel (you can add optional questions), and then get the verified role. Anyone who never verifies can be kicked automatically. Our wiki doesn't list a timed delay for join roles. If a delay is exactly what you want, check your current bot's settings.

Pricing differs if you plan to use level roles too. Carl-bot's leveling and level role rewards need Premium, which costs $7.99/month for one server (see carl.gg). PeakBot's XP and level roles are on Free. Voice XP, multipliers and decay need a paid plan, starting at Starter for $5.75/month. If Carl-bot already runs your server and the autorole works, you don't need to switch just for join roles.

Frequently Asked Questions

Why isn't Carl-bot giving roles to new members?

Usually Carl-bot's role sits below the role it's trying to give, or it's missing Manage Roles. After that, check for Rules Screening, a delay you forgot about, a setting saved to the wrong server, or another bot removing the role. The checklist above goes through them in order.

How do I make Carl-bot give a role after a delay?

Look for a delay option next to the role in Carl-bot's autorole settings on carl.gg. The menus change over time, so go by the live dashboard and Carl-bot's own documentation rather than old screenshots.

Can Carl-bot give a different role to bots when they join?

Check the autorole settings on the dashboard for a people-or-bots option. If you don't see one, give bots their role by hand when you add them. Most bots also get their own role from Discord on invite.

Does an autorole work with Rules Screening?

It works, but Discord's Help Center says giving a role on join skips screening. An instant join role can therefore let people skip your rules. Use a delay or a verification step, or turn the join role off if Rules Screening is your only gate.

How do I stop roles coming back when someone rejoins?

The join role is meant to be given again on every join, rejoins included. If someone gets other roles back, such as staff or muted roles, a role-restore setting in one of your bots is the likely cause. Check Carl-bot's settings on carl.gg and any other bots in the server.

How do I turn off Carl-bot autoroles?

Remove the role from the autorole list on the carl.gg dashboard and save. Members who already have the role keep it, so take it off by hand or delete the role in Server Settings > Roles if you no longer need it.

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