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
- Open your Discord server.
- Server Settings โ Roles.
- Find the KeepGrid role (created by the bot when it joins).
- Click it. The right panel shows current permissions with checkboxes.
- Toggle the flags you want to grant or revoke.
- 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
| Flag | What it's used for | Removable after install? |
|---|---|---|
Manage Channels1 << 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 Roles1 << 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 Guild1 << 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 Channels1 << 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 Messages1 << 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 Links1 << 14 = 16384 | Pinned welcome messages use embeds for readability. | Pairs with Send Messages during install. Removable after. |
Manage Messages1 << 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 Invite1 << 0 = 1 | Only if you explicitly request a shareable invite link during install. | Opt-in. Can be removed or never granted. |
Add Reactions1 << 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 "Missing Permissions" 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:
- The KeepGrid role doesn't have the flag for this specific action โ see the table above.
- The KeepGrid role is positioned BELOW the role it's trying to manage. Move KeepGrid up in the role hierarchy.
- 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.