Connect a Discord bot to your conductor for server-based monitoring and control.
- A Discord server where you have permission to add bots
- A conductor already created (
agent-deck conductor setup <name>)
- Go to discord.com/developers/applications and create a new application.
- Under the Bot tab, create a bot and copy the token.
- Enable the MESSAGE CONTENT intent in the Bot tab.
- Under OAuth2 -> URL Generator, select scopes
botandapplications.commands, then permissionsSend MessagesandRead Message History. - Use the generated URL to invite the bot to your server.
You need three IDs (enable Developer Mode in Discord settings to copy these):
- Guild (server) ID — right-click the server name -> "Copy Server ID"
- Channel ID — right-click the channel -> "Copy Channel ID"
- Your user ID — right-click your name -> "Copy User ID"
agent-deck conductor setup <name>Answer y at the Discord prompt and provide:
- Bot token
- Guild (server) ID
- Channel ID
- Your user ID
agent-deck session restart conductor-<name>In the configured channel, send a message to the bot. The conductor should receive it and respond within a few seconds.
The same constraint applies as with other channels: each conductor needs its own dedicated Discord bot. Do not share a single bot across multiple conductors.
The conductor only responds to messages from your user ID, similar to the Telegram user ID constraint. This prevents other server members from issuing commands to your conductor.
Discord credentials are stored alongside other conductor settings in the conductor's .env file.
The bridge daemon handles Discord alongside Telegram and Slack — all three can run simultaneously.
- Verify the MESSAGE CONTENT intent is enabled — without it the bot cannot read message text.
- Confirm the bot has Send Messages and Read Message History permissions in the target channel.
- Check that the channel ID in the configuration matches the channel you are typing in.
- Check bridge logs:
tail -f ~/.local/share/agent-deck/conductor/bridge.log
Check that only one bridge process is running. Multiple bridge processes competing for the same bot token can cause disconnections.
Verify that your user ID is correctly configured. The conductor should ignore messages from any user ID except the one provided during setup.