01
Scenario this guide covers
AudienceExternal Discord server administrators
Registration pathCustom Discord application with bot user and OAuth2
- The agent needs to join servers and send messages as a bot
- Server administrators must authorize the bot installation
02
Choose managed or custom
Composio lists Discord as a managed OAuth2 toolkit. Exact managed scopes were not verified in this research pass.
Choose custom when: Use your own registration when you need custom bot branding, specific privileged intents, or plan to apply for the App Directory.
03
Before you start
A Discord accountAlways
DeveloperA Discord server where you can test the botAlways
DeveloperManage Server permission on target serversWhen inviting the bot to external servers
Server administrator04
Permissions in plain language
botAdds the bot user to a server with selected permissionsRequired for any bot that needs to operate inside a Discord server.
StandardSource ↗applications.commandsRegister and manage Slash CommandsNeeded for interactive / commands in servers and DMs.
StandardSource ↗identifyRead user profile information (username, avatar)Useful when using Login with Discord to identify the authorizing user.
StandardSource ↗guildsList servers the authorizing user belongs toNeeded to let a user pick which of their servers to configure.
StandardSource ↗05
Your setup path
Create a Discord application
Go to discord.com/developers/applications, click New Application, name it, and accept the Terms of Service.
Expected result: An application with a client ID on the General Information page.Open official page ↗Official source · DiscordAdd a bot user and configure intents
Navigate to the Bot tab, click Add Bot, copy the token, and enable any Privileged Gateway Intents you need (Presence, Server Members, Message Content).
Expected result: A bot token stored securely in your environment variables.Open official page ↗Official source · DiscordGenerate the OAuth2 invite URL
In the OAuth2 > URL Generator tab, select the bot and applications.commands scopes, then choose the specific bot permissions your agent needs.
Expected result: A shareable URL that installs the bot with the correct permissions.Open official page ↗Official source · DiscordTest in a development server
Open the generated URL, select your test server, authorize, then exercise the agent's core actions.
Expected result: A working bot responding to commands in your test server.Official source · DiscordApply for verification (if 100+ servers)
In the Developer Portal, submit a verification request describing your bot, its privileged intent usage, and Terms of Service / Privacy Policy URLs.
Expected result: Discord reviews and approves verification, typically within a few business days.Open official page ↗Official source · Discord06
Review and waiting
Bots in 100 or more servers must apply for verification to continue growing.
Prepare this evidence
- Description of privileged intent usage
- Terms of Service URL
- Privacy Policy URL
07
When you get blocked
The bot cannot join any more servers.+
Likely cause: Unverified bots are capped at 100 servers.
Recovery: Apply for verification through the Developer Portal.
Official help ↗The bot cannot read message content.+
Likely cause: Message Content is a privileged intent that must be explicitly enabled.
Recovery: Enable the Message Content Intent in the Bot settings and justify its use during verification if needed.
Official help ↗08
Who does what
Can prepare
- Map agent actions to Discord bot permissions and scopes
- Generate the OAuth2 invite URL
- Draft slash command registration
Must complete
- Create the application and bot
- Secure the bot token
- Apply for verification if scaling past 100 servers
Decides
- Server administrators authorize the bot installation
- Discord reviews verification applications
09
Sources and limits
Discord OAuth2 documentationDiscord · checked 2026-10-21
↗02Discord Developer PortalDiscord · checked 2026-10-21
↗03How to Get Your App VerifiedDiscord · checked 2026-10-21
↗- No Discord application, bot, or verification was completed by this project.
- The 100-server verification threshold is based on Discord documentation; exact review times are community-reported.