โ† All docs
Permissions ยท reference

Permission flags KeepGrid needs.

Each flag, what it's used for, when it's invoked, and whether it's safe to remove. For users hitting 403 on a Pro Fix Button โ€” start by checking the bot has the flag listed below.

How to check / change permissions

  1. Open your Discord server.
  2. Server Settings โ†’ Roles.
  3. Find the KeepGrid role (created by the bot when it joins).
  4. Click it. The right panel shows current permissions with checkboxes.
  5. Toggle the flags you want to grant or revoke.
  6. Save.

Pro Fix Buttons re-check permissions before every execution. If the bot is missing a needed flag, the Run Fix button stays disabled and the dashboard shows Missing: MANAGE_GUILD (or similar).

What each flag does

FlagWhat it's used forRemovable after install?
Manage Channels
1 << 4 = 16
Install: create channels & categories. Pro Fix Buttons: create #rules / #welcome / #whitelist-apply / staff channels. Lock down @everyone overwrites on info channels.For install + 7 of 10 Pro Fix Buttons. Removable after install if you don't use Pro Fix Buttons that need it.
Manage Roles
1 << 28 = 268435456
Install: create the 9-role hierarchy + faction roles. Position the bot's role correctly in the hierarchy.For install. Removable after install โ€” KeepGrid does not modify roles outside the install + re-install flow.
Manage Guild
1 << 5 = 32
Install: read basic guild info (name, icon). Pro Fix Buttons: raise verification level, set server description, enable Welcome Screen, enable Membership Screening (Rules Gate).For install + 5 of 10 Pro Fix Buttons. Removable after install if you don't use Pro Fix Buttons that need it.
View Channels
1 << 10 = 1024
See the channels the bot just created so it can apply permissions to them. Required for any read.Required during install. Removing breaks future re-runs and Pro scans.
Send Messages
1 << 11 = 2048
Post welcome message, server rules, how-to-join, ticket-instructions content into the channels we create.Required during install. Removable after โ€” pinned messages stay.
Embed Links
1 << 14 = 16384
Pinned welcome messages use embeds for readability.Pairs with Send Messages during install. Removable after.
Manage Messages
1 << 13 = 8192
Pin the welcome / rules / how-to messages so they stay at the top of their channels.During install only โ€” never edits or deletes user messages. Removable after.
Create Instant Invite
1 << 0 = 1
Only if you explicitly request a shareable invite link during install.Opt-in. Can be removed or never granted.
Add Reactions
1 << 6 = 64
Reaction-role setup in the welcome channel (opt-in feature).Opt-in. Removable.

What KeepGrid never asks for

  • Message Content intent โ€” KeepGrid does not request the privileged intent that would let it read message text. Ticket SLA tracking uses thread/channel metadata only.
  • Server Members intent โ€” KeepGrid does not maintain a member roster.
  • Voice State โ€” never tracked or recorded.
  • Direct Message access โ€” KeepGrid never DMs members and never reads DMs sent to the bot.
  • Administrator โ€” KeepGrid does not require Administrator. If you accidentally granted it, you can downgrade safely; the specific flags above are sufficient.

Re-inviting the bot with new flags

If you removed a flag and now need it back (e.g. you started using a Pro Fix Button that needs Manage Guild), the cleanest path is to re-invite the bot via the OAuth link from your dashboard. Re-inviting does NOT duplicate channels or roles โ€” the install is idempotent.

Alternative: edit the KeepGrid role in Server Settings โ†’ Roles and add the missing flag manually. Same result.

If you see &quot;Missing Permissions&quot; in the bot's audit log

Discord's native audit log records every KeepGrid call with an X-Audit-Log-Reason header (e.g. "KeepGrid fix ยท raise verification level (project xyz)"). If you see a 403 / "Missing Permissions" row in your Discord server audit log, the most common causes are:

  1. The KeepGrid role doesn't have the flag for this specific action โ€” see the table above.
  2. The KeepGrid role is positioned BELOW the role it's trying to manage. Move KeepGrid up in the role hierarchy.
  3. The target channel has an explicit @KeepGrid permission overwrite that denies the action. Edit the channel's permissions to remove the deny.

If none of those resolve it, email ops@keepgrid.net with the audit log row + your server id.

Related

Email ops@keepgrid.net if anything is wrong or missing.