# Discord

Connect private bot-DM commands, reply forms and approval buttons.

The Discord adapter uses your dedicated application and signed HTTP interactions. It does not require privileged Gateway intents or an enterprise plan.

## Create the application

1. Create a dedicated app in the [Discord Developer Portal](https://discord.com/developers/applications). Keep privileged intents off.
2. Note its application ID and public key; create or retrieve its bot token. Never use a personal Discord account token.
3. Choose **Integrations → Discord → Add connection** in Beepgrid and save those values in the indicated configuration and secret fields.
4. Open the generated setup guide. Set its exact HTTPS **Interactions Endpoint URL** in Discord and confirm that Discord's signed PING succeeds.
5. Register the supplied `/beepgrid` command descriptor at the supplied command endpoint. Use the provided installation URL for the dedicated app. The supported setup uses `bot` and `applications.commands` with zero guild permission bits.

The adapter does not register commands or modify an existing Discord app automatically. Follow the generated descriptor instead of enabling broader contexts or privileges.

## Link the person

Have the intended person interact with the bot. An authorized administrator links the immutable application ID and Discord user ID to that Beepgrid person, then adds the exact user as a destination. Grant contact and decision rights separately.

## Send and reply

Use **`/beepgrid message` in the bot DM** to start a conversation. Use **Reply** to open and submit a response form. Opening the form alone does not send a reply.

Test a diagnostic round trip and a harmless approval using **Approve** or **Deny**. Confirm the returned person and conversation in Beepgrid.

## Supported behavior

Ordinary DM text, guild-channel messages, Gateway listeners and native file transfer are outside this release. Files stay in the authenticated workspace. Delivery also depends on the user's Discord DM settings.

Disconnecting in Beepgrid stops callbacks and queued sends. It does not uninstall the application from Discord. After changes, run a fresh test instead of relying on old connection evidence.
