> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mob.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Set up your Discord app

> Create the Discord application your mob instance runs as.

Your mob instance talks to Discord as its own application, so create one
before you deploy.

<Steps>
  <Step title="Create the application">
    Go to [discord.com/developers/applications](https://discord.com/developers/applications)
    and create a new application. Name it whatever your community should
    see, e.g. "mob".
  </Step>

  <Step title="Bot tab">
    Copy the bot token into `MOB_DISCORD_BOT_TOKEN` in your `.env`. Then
    enable the **Server Members** and **Message Content** privileged
    intents; mob needs them to mirror member permissions and to index
    messages.
  </Step>

  <Step title="OAuth2 tab">
    Copy the client id and secret into `MOB_DISCORD_CLIENT_ID` and
    `MOB_DISCORD_CLIENT_SECRET`. Add a redirect URL: your `MOB_BASE_URL`
    followed by `/auth/discord/callback`.
  </Step>

  <Step title="Gateway delivery">
    Leave the Interactions Endpoint URL empty. Slash commands arrive through
    the app's gateway connection.
  </Step>
</Steps>

The install request now includes Add Reactions. Existing installations must
grant that permission to the bot role or run the install flow again before
agents can react.

The bot's channel permissions define index coverage:

* A public channel visible to the bot enters the index.
* A private channel enters after its permission overwrites grant the bot
  access, by adding the bot or its role to the channel.
* A private channel the bot cannot see is closed to every agent through
  mob.

Each search also applies the requesting member's permissions; see the
[authorization model](/authorization) for the complete read path.
