How do you grant a role after Discord verification?
6
Configuration steps
5
Final tests
4
Errors solved
~7 min
Reading time
The answer
The short answer
For the bot to grant a role after verification on Discord, two conditions have to hold at once: the bot has the Manage Roles permission, and its highest role sits above the role it is meant to grant in the role list. Only then does the configuration matter — in Venon Security you name the role in the Role after verification field on Panel → Community → Onboarding and verification. If the role is not granted despite correct settings, in nine cases out of ten the cause is the role order, not the module.
The content is checked against the bot's configuration — last verified: 2026-08-06.
Context
What the problem is
The configuration looks right, the verification button works, and the role still does not appear. Discord does not let a bot manage roles equal to or above its own — and it does not say so plainly in the interface. That is the most common point where onboarding falls apart.
Without an extra bot
What you can do with Discord alone
- 01
Create an access role with no administrative permissions.
- 02
Server settings → Roles: drag the bot's role above the role it is meant to grant.
- 03
Check that the bot's role has the Manage Roles permission ticked.
- 04
Hide the channels from anyone without the access role — otherwise granting the role changes nothing.
Venon Security
What Venon Security adds
Verify grants the access role automatically once the gate is passed, and failures to grant it go into the logs.
Starter roles let you add further roles right after entry, optionally with a limited duration.
Optional roles are handled through Self-service roles, and time-limited access through Temporary roles or the /temporary-role command.
Configuration
Configuration step by step
0 of 6 steps
Set the role hierarchy
Discord server settings → RolesThis is the step everything else depends on. The bot will not grant a role that sits above its own in the list — not even with the Administrator permission.
- Drag the Venon Security role above the access role and every role granted automatically.
- The bot's role does not have to sit at the very top; it is enough that it is above the roles it manages.
- After every change to the role order, check the configuration again — integration roles can drop back to the bottom after the bot is re-invited.
Check the bot's permissions
Discord server settings → Roles → Venon SecurityThe Manage Roles permission is essential. If you use temporary roles and verification, Moderate Members is useful too.
- Manage Roles: required for granting and removing roles.
- Do not grant Administrator — it will not solve a hierarchy problem, and it raises the damage if the bot is compromised.
- Channel permission overrides can block visibility even when the role was granted correctly.
Name the role granted after verification
Panel → Community → Onboarding and verificationThis single field decides what a member gets once they pass the gate. The rest of the verification setup is covered in a separate guide.
- Role after verification: the access role you prepared earlier.
- Verification active has to be on, or the panel will not work.
- After changing the role, publish the panel again if you also changed the verification channel.
Add starter roles if you need them
Panel → Community → Onboarding and verification → Starter rolesStarter roles are useful when a new person should get something beyond basic access — a role marking fresh members, say, or temporary access on trial.
- The Role field names the role being added, and Duration (h) limits it in time.
- Leave the duration empty if the role is meant to be permanent.
- Do not duplicate the access role here — verification itself already grants it.
Separate optional roles from the access role
Panel → Automation → Self-service rolesThe access role governs access to the server, while interest roles govern notifications and the visibility of topic channels. Mixing them ends with one being impossible to remove without the other.
- Self-service roles let you publish a panel from which members pick roles themselves.
- The Temporary roles tab handles autoroles with a countdown and shows the active assignments.
- You can grant a role for a set time by hand with /temporary-role <user> <role> <duration> [reason].
Enable logging of role changes
Panel → Moderation → the Logs tabThe Roles log category shows whether a role was granted and by whom. Without it, diagnosing problems comes down to guessing.
- Enable the Roles category and point to its channel.
- Set a Log access role, so the channel is not visible to everyone.
The steps you tick are saved in your browser — you can come back and finish later.
Verification
How to check the configuration worked
- 1
A test account with no roles passes verification and receives the access role within seconds.
- 2
The Roles log category carries an entry about the role being granted.
- 3
Once the role is granted, the account sees the channels that were hidden before.
- 4
A starter role with a duration set disappears once it runs out — you can check that in Panel → Automation → Temporary roles.
- 5
Removing the access role by hand hides the channels again — that confirms the permissions rest on the role, not on individual overrides.
Diagnostics
When something does not work
The bot does not grant the role at all.
- Cause
- The bot's role sits below the target role, or the Manage Roles permission is missing.
- Fix
- Move the Venon Security role above the granted role and check its permissions. That resolves the vast majority of such reports.
The role is granted, but the member still cannot see the channels.
- Cause
- Permission overrides on the channel category take access away more strongly than the role grants it.
- Fix
- Set the permissions at the category level and let the channels inherit them. Check that @everyone does not have View Channel explicitly denied where the role grants it.
The role disappears after a restart or after the bot is re-invited.
- Cause
- Re-inviting creates a new integration role, which lands at the bottom of the list.
- Fix
- After every re-invite, check the role order and name the target role again in the panel.
A temporary role does not expire.
- Cause
- The bot lost access to the role, or the role was granted by hand outside the module.
- Fix
- Check in Panel → Automation → Temporary roles whether the assignment exists at all. Roles granted by hand outside the module have no countdown.
Honestly
What this configuration does not solve
The bot will never grant a role equal to or above its own — that is Discord's limitation, not a configuration one.
A role will not override an explicit denial in a channel's overrides. Channel permissions are resolved separately from roles.
Venon will not change roles granted by another bot or by an integration — every bot manages only what it granted or has access to.
Roles managed by integrations (a booster role or another bot's role, say) cannot be granted by hand by any bot.
Granting a role does not undo earlier penalties — a member under a timeout still will not be able to write.
Commands
The commands used in this guide
Read on
Related guides
How do you set up verification on Discord?
How to set up verification on Discord: the entry channel, the access role, the verification type, a minimum account age and a test on a second account.
Read the guideHow do you check Discord moderation logs?
How to check Discord moderation logs: the audit log, the bot's log categories, the penalty channel, the access role and data retention.
Read the guideHow do you protect a Discord server from a raid?
How to protect a Discord server from a raid: entry verification, AntiRaid thresholds, content protection and logs. Concrete settings, a test and the usual mistakes.
Read the guide
FAQ
FAQ – common questions
Why does the bot not grant a role despite having Manage Roles?+
Because the permission is not everything. Discord additionally requires the bot's highest role to sit above the granted role in the role list. Drag the bot's role up and try again — in most cases that solves it.
Can I grant several roles after verification?+
Yes. The verification module grants the access role, and further roles are set in the Starter roles section, optionally with a time limit. Interest roles are better published separately through Self-service roles.
How do you grant a role for a limited time?+
Use the /temporary-role <user> <role> <duration> [reason] command, or configure a role with a countdown in Panel → Automation → Temporary roles. The active assignments and the time left are visible in that same tab.
Should the role granted after verification carry any permissions?+
It should give access to channels only, not moderation permissions. Keep it as close to zero global permissions as you can — build all access on channel visibility.
Set this up in your own Venon Security panel
Every screen mentioned in the guide is in the web panel. You save the configuration by hand and see its state before anything takes effect on the server.
