MissionControlHQMissionControlHQResources
ArticlesDocs
Get early access→
Integrations
Email & Productivity
  • Gmail
  • Outlook
  • Google Docs
  • Google Sheets
  • Excel
  • Notion
  • Confluence
  • Airtable
  • Todoist
  • Google Tasks
  • Canva
Communication
  • Slack
  • Microsoft Teams
  • Discord
  • WhatsApp
  • Webex
Scheduling & Meetings
  • Google Calendar
  • Zoom
  • Calendly
  • Cal.com
  • Google Meet
  • Eventbrite
Marketing & Social
  • Mailchimp
  • Google Ads
  • Facebook
  • LinkedIn
  • YouTube
  • Reddit
  • Dub
CRM & Support
  • HubSpot
  • Salesforce
  • Attio
  • Capsule CRM
  • Intercom
  • Zendesk
  • Gorgias
  • Zoho Desk
  • Gong
File Storage
  • Google Drive
  • Dropbox
  • OneDrive
  • Box
  • SharePoint
  • Google Photos
E-commerce & Payments
  • Stripe
  • Square
Finance & Time
  • Harvest
  • Zoho Books
  • Zoho Invoice
  • FreshBooks
  • Fathom
Analytics
  • Google BigQuery
Dev & Project Management
  • GitHub
  • GitLab
  • Bitbucket
  • Linear
  • Jira
  • Asana
  • ClickUp
  • Trello
  • Monday.com
  • Basecamp
  • Wrike
  • Productboard
  • Figma
  • Miro
  • Sentry
  • PagerDuty
  • Supabase
  • DigitalOcean
Resources/Integrations/Discord

Communication

🎮 Discord integration

Access levels: Read-only · Full bot · Verified July 15, 2026

PreviousMicrosoft TeamsNextWhatsApp

Connect Discord once and every agent in your squad can work in it for you, with exactly as much access as you decide to give, and a receipt for every call it makes.

What your squad can do in Discord

  • Look things up, get application command permissions; get batch application command permissions; get current user application entitlements, and more.
  • Do real work, update user application role connection, and more.
  • Run it on a schedule: any of the 28 available tools below can be part of a scheduled task or a mission.

How to connect

  1. In your dashboard, open Integrations and find Discord.
  2. Click Connect and pick an access level (we recommend Full bot): this is the ceiling for every agent.
  3. Sign in to Discord in the window that opens and approve. You land back on the Integrations page with the account live.

You can change an account's access level any time under Manage. It applies instantly, no re-authorization. If the connection ever expires, the card shows Reconnect; one click re-authorizes the same account with the same settings.

Multiple accounts: connect as many as you need (say, yours and a client's). One is primary. Agents use it unless a mission says otherwise.

Access levels

The level you pick at connect time is enforced on our side for every agent call: an agent can never do more than the level allows, no matter what it's asked.

LevelWhat it allows
Read-onlySee servers and read messages in accessible channels.
Full botJoin servers, read/send messages, register slash commands.Recommended

On top of the connection's level, every agent can be individually allowed, scoped down, or denied for this app from the Integrations page. Deny an agent and it doesn't even see the connection.

Every tool, in plain terms

The 28 tools agents use in Discord through Mission Control, and the lowest access level that includes each. Agents discover these themselves. You never have to name a tool; asking in plain language is enough.

ToolWhat it doesAccess level
Consume entitlement
DISCORD_CONSUME_ENTITLEMENT
Marks a one-time purchase consumable entitlement as consumed for a given application.Full bot
Delete test entitlement
DISCORD_DELETE_TEST_ENTITLEMENT
Deletes a currently active test entitlement for a given application.Full bot
Delete user application role connection
DISCORD_DELETE_USER_APPLICATION_ROLE_CONNECTION
Deletes the current user's application role connection for the specified application.Full bot
Edit application command permissions
DISCORD_EDIT_APPLICATION_COMMAND_PERMISSIONS
Edits the permissions for a specific application command in a guild.Full bot
Get application command permissions
DISCORD_GET_APPLICATION_COMMAND_PERMISSIONS
Retrieves the permissions for a specific application command in a guild.All levels
Get batch application command permissions
DISCORD_GET_BATCH_APPLICATION_COMMAND_PERMISSIONS
Retrieves permissions for all commands of an application in a guild.All levels
Get current user application entitlements
DISCORD_GET_CURRENT_USER_APPLICATION_ENTITLEMENTS
Retrieve entitlements for the current user for a given application.All levels
Get gateway
DISCORD_GET_GATEWAY
Retrieve a valid WebSocket (wss) URL for establishing a Gateway connection to Discord.All levels
Get guild template
DISCORD_GET_GUILD_TEMPLATE
Retrieve information about a Discord guild template using its unique template code.All levels
Get guild widget
DISCORD_GET_GUILD_WIDGET
Retrieve the guild widget in JSON format. Use when you need to get public information about a Discord guild's widget that can be displayed on external websites. The widget must be enabled in the guild's server settings.All levels
Get guild widget png
DISCORD_GET_GUILD_WIDGET_PNG
Retrieve a PNG image widget for a Discord guild.All levels
Get invite
DISCORD_GET_INVITE
DEPRECATED: Use DISCORD_INVITE_RESOLVE instead.All levels
Get my guild member
DISCORD_GET_MY_GUILD_MEMBER
Retrieves the guild member object for the currently authenticated user within a specified guild, including roles, nickname, join date, and permissions.All levels
Get my oauth2 authorization
DISCORD_GET_MY_OAUTH2_AUTHORIZATION
Retrieves current OAuth2 authorization details for the application, including app info, scopes, token expiration, and user data (contingent on scopes like 'identify').All levels
Get my user
DISCORD_GET_MY_USER
Fetches comprehensive profile information for the currently authenticated Discord user, including email if the 'email' scope is granted.All levels
Get openid connect userinfo
DISCORD_GET_OPENID_CONNECT_USERINFO
Retrieve OpenID Connect compliant user information for the authenticated user.All levels
Get public keys
DISCORD_GET_PUBLIC_KEYS
Retrieve Discord OAuth2 public keys. Use when you need to verify OAuth2 tokens or access public keys for cryptographic operations.All levels
Get sku subscription
DISCORD_GET_SKU_SUBSCRIPTION
Retrieves a specific subscription by ID for a given SKU.All levels
Get user
DISCORD_GET_USER
Retrieve information about a Discord user.All levels
Get user application role connection
DISCORD_GET_USER_APPLICATION_ROLE_CONNECTION
Retrieves the application role connection for the currently authenticated user for a specified application.All levels
Invite resolve
DISCORD_INVITE_RESOLVE
Resolve and retrieve information about a Discord invite code.All levels
Leave guild
DISCORD_LEAVE_GUILD
Leaves a Discord guild (server) on behalf of the currently authenticated user.Full bot
List my connections
DISCORD_LIST_MY_CONNECTIONS
Retrieves a list of the authenticated user's connected third-party accounts on Discord.All levels
List my guilds
DISCORD_LIST_MY_GUILDS
Lists the current user's guilds, returning partial data for each; primarily used for displaying server lists or verifying memberships.All levels
List sku subscriptions
DISCORD_LIST_SKU_SUBSCRIPTIONS
Lists all subscriptions for a given SKU. When using a Bot token, the user_id query parameter is required. Returns paginated subscription objects.All levels
List sticker packs
DISCORD_LIST_STICKER_PACKS
Retrieve all available Discord Nitro sticker packs.All levels
Modify current user
DISCORD_MODIFY_CURRENT_USER
Modifies the currently authenticated Discord user's profile.Full bot
Update user application role connection
DISCORD_UPDATE_USER_APPLICATION_ROLE_CONNECTION
Updates the application role connection for the currently authenticated user for a specified application.Full bot

What agents can't do in Discord (yet)

  • Anything not in the table above. The tools mirror what Discord makes available to connected apps. If Discord doesn't expose an operation, agents can't perform it either.
  • If something you need is missing, there's usually a path: add the service's API key under Settings → Custom integrations and your agents can call it directly. See custom integrations & secrets. You can also ask your lead agent to open a ticket describing what it needs.

Using it in missions

Just ask in plain language: “check Discord for …”, “create … in Discord”, “every Monday, … ”, and the agent finds the right tool, runs it, and reports back with a receipt in your Runs ledger. Anything outward-facing (sending, posting, publishing) that a mission didn't clearly authorize comes back to you as a ticket first.

Troubleshooting

Agent saysWhat's happeningFix
"Discord isn't connected"No active connection (or this agent is denied)Connect on the Integrations page; check the agent's per-app policy
"The connection has expired"Discord ended the authorization (they all do periodically)Click Reconnect on the account, same settings, one click
"I'm not allowed to do that"The action is above the account's access level, or the agent is scoped downRaise the level under Manage, or adjust that agent's policy
It did something unexpectedThe ask was ambiguous (e.g. matched an existing item)Be explicit, "create a NEW …", and give agents a working folder where relevant