GuildPilot Beta
Content and engagement

Publish a button or select menu that lets members add, remove or toggle approved Discord roles while respecting the bot's role hierarchy.

How to create self-assignable roles with GuildPilot

Self-role controls let members manage approved Discord roles without staff intervention. GuildPilot supports role buttons and select menus in Embeds and Smart Panels, with add, remove and toggle behavior.

Smart Panel - Self roleReal dashboard
GuildPilot Smart Panel button editor with the Self role action selected
A Smart Panel button becomes self-assignable when its action is Self role and a manageable role is selected.Open full size

Before you start

  • Create the member roles in Server Settings → Roles.
  • GuildPilot needs Manage Roles.
  • Move the active GuildPilot bot role above every role it must assign.
  • Do not select managed integration roles; Discord does not allow bots to assign them.

Warning: Do not expose staff, administrator or permission-sensitive roles through a self-role control. GuildPilot enforces Discord hierarchy, but you decide which assignable roles appear.

Create self-assignable roles

1. Prepare the role hierarchy

In Discord, open Server Settings → Roles. Drag the active GuildPilot role above the member roles you will offer and save the Discord order.

2. Open an Embed or Smart Panel

In GuildPilot, create or edit an Embed or Smart Panel. Choose the destination channel where members should find the role control.

3. Add a self-role action

For an Embed, select Add button, then choose Self role. For a Smart Panel, add a Button or Select menu and choose the self-role action.

4. Choose the role behavior

Select the role and choose Add role, Remove role or Toggle role. Toggle adds the role when absent and removes it when already assigned. Give the control a label that names the outcome.

5. Publish and verify

Publish the message, then open it in Discord with a normal member account.

Use Toggle role for opt-in interests and notification roles. Use separate add or remove controls only when the action must be explicit. Group related roles in a select menu when a row of buttons would be difficult to scan.

Test the setup

  1. Use a normal member account below the GuildPilot role.
  2. Select the role control once and confirm that Discord assigns the expected role.
  3. For a toggle action, select it again and confirm that the role is removed.
  4. Remove any remaining test role from the account.

What a successful setup looks like

The member receives the selected role immediately, and the action affects only the server where the panel was published. No moderator command is required.

Common problems

GuildPilot cannot assign the role

Cause: The bot lacks Manage Roles or its highest role is below the target role.

Fix: Open Server Settings → Roles and move the active GuildPilot role above every offered role.

No assignable roles appear

Cause: Discord returned no ordinary roles below the bot, or the cached role list is stale.

Fix: Create an ordinary role, correct the hierarchy, then use Settings → Refresh Discord data and reopen the builder.

The control assigns the wrong outcome

Cause: The saved action is Add role, Remove role or Toggle role rather than the behavior you expected.

Fix: Reopen the saved message, change Role action, and republish it.

Ready to configure it?

Open your GuildPilot dashboard

Choose your Discord server, follow this guide with the live settings beside you, and save only when the preview looks right.