Auxot’s Discord integration ties one bot to one agent. After you connect the bot with a token, you add channel bindings on that agent’s page: each binding chooses a Discord channel, whether the bot replies to mentions only or all messages, and (for workflow channels) the workflow to run.
The bot connects outbound to Discord; you do not need to open inbound ports on your Auxot server.
This guide covers the Discord Developer Portal, inviting the bot with the right permissions, connecting it in Auxot under Settings → Agents, and linking your personal Discord account so tools and identity work correctly.
Before You Start
You need:
- A Discord account with Manage Server (or ownership) on the target server
- An Auxot org admin account to connect the bot and configure channels (everyday users only need Linked Accounts to link themselves)
- Your Auxot server running and reachable from the internet (or your desktop, for local trials)
Part 1: Create the Discord Application
Everything in Discord starts with an Application in the Developer Portal.
1. Open the Developer Portal
Go to discord.com/developers/applications and sign in.
2. Create a New Application
Click New Application in the top right. Give it a name — this is the internal name in the portal, not necessarily the bot’s display name in Discord. Click Create.
3. Add a Bot
In the left sidebar, click Bot.
Click Add Bot → Yes, do it!
Set the bot’s username — this is what people see in Discord (e.g. “Auxot”, “Company Bot”). Optionally upload an avatar.
4. Enable the Message Content Intent
Without this, the bot may receive message events but see empty content.
Still on the Bot page, under Privileged Gateway Intents, enable:
- ✅ Message Content Intent
Click Save Changes.
Why? Discord requires bots to declare message content access in the portal. If this is off, message bodies are stripped before they reach Auxot.
5. Copy Your Bot Token
On the Bot page, use Reset Token (or copy an existing token), then copy the token once.
Treat it like a password. Do not paste it into Discord chat, email, or tickets. Auxot stores it encrypted and does not show it again after you save.
Part 2: Invite the Bot to Your Server
1. Generate an Invite URL
In the Developer Portal: OAuth2 → URL Generator.
Scopes
- ✅
bot
Bot permissions — in the portal, enable only the checkboxes below (wording matches General Permissions and Text Permissions in the URL Generator):
General Permissions
- ✅ View Channels
Text Permissions
- ✅ Send Messages
- ✅ Read Message History
- ✅ Add Reactions
- ✅ Attach Files (optional — only if the bot should send attachments)
Integration Type
Select Guild Install. This installs the bot into a server (guild) so it can read channels, respond to messages, and manage reactions.
Do not select User Install. User Install ties the bot to its owner’s account only. Regular server members — including their DMs to the bot — will be blocked with “Your message could not be delivered.” Only the bot owner (the Discord account that created the application) retains access. If your bot responds to admins but not to regular users, and DMs fail for everyone except the server owner, a User Install invite is the most common cause. Re-invite the bot using a fresh URL generated with Guild Install only.
Copy the generated URL at the bottom of the page.
2. Invite the Bot
Open the URL, pick your server, and Authorize. Complete any CAPTCHA.
The bot appears in the member list but stays offline until Auxot connects it with the token.
Part 3: Connect the Bot in Auxot (per agent)
Discord is configured on the agent, not under a global “Integrations” admin page for bot setup.
1. Open the agent
In Auxot go to Settings → Agents, then open the agent that should own this Discord bot (the bot is that agent’s presence on Discord).
2. Open the Discord section
On the agent detail page, find the Discord card.
3. Connect
Click Connect Discord (or equivalent). Enter:
- Name — a label for this connection (e.g. “Production Discord”)
- Bot token — paste the token from Part 1
Save. Auxot starts the gateway connection; within a few seconds the bot should show online in Discord if the token and intents are correct.
To rotate a token: reset it in the Discord portal, then disconnect and reconnect in Auxot with the new token.
Part 4: Configure channels
Channel bindings live on the same agent detail page, in the Discord card.
View Channels permission
The channel picker calls Discord’s API with your bot token. If View Channels was missing from the invite, the list can be empty or Auxot may show an error. Re-invite the bot with View Channels enabled (or grant the bot’s role View Channels on the channels you need).
Add a channel binding
- Channel — choose from the dropdown (grouped by server). You do not need to copy numeric channel IDs.
- Mode — chat (agent conversation) or workflow (create work from messages), per your product UI.
- Respond to — Mentions only (good for busy channels) or All messages (good for dedicated bot channels).
Save the binding; it applies without restarting Auxot.
If the channel list is empty
- Confirm the bot is a member of the server.
- Confirm View Channels on those channels (re-invite or adjust roles).
- Retry after Discord outages.
The 🙈 (“see-no-evil”) reaction — what it means
If someone @mentions the bot in a server channel but their Discord account is not linked to an Auxot user, the bot does not run the agent on that message. Instead it adds a 🙈 (see-no-evil monkey) reaction on that message — a quiet signal that they need to link their account.
- This reaction is used when the bot is mentioned, including in mentions-only channels, so busy channels are not spammed with replies.
- Direct messages from an unlinked user receive a short explanation pointing them to Linked Accounts (see below).
Once the user completes linking, mentions and DMs are handled with full verified identity (tools, [context]-style profile in the thread, etc.).
Linking your Discord account (every user)
Linking is self-service and org-wide: you link once; every Discord bot in your organization can recognize you.
Where to go
Settings → Linked Accounts (sidebar label may show Linked Accounts rather than “Integrations” for this flow).
Before you start: every user must enable per-server DMs
Discord controls DM access per server, per user. Every person who wants to use the bots must enable this setting themselves — it is not something an admin can set for everyone.
Right-click the server icon → Privacy Settings → enable “Allow direct messages from server members.”
Without this setting on:
- The bot cannot DM you a verification code, so linking fails.
- You cannot open a new DM conversation with any bot in the server that hasn’t already messaged you.
If your org has multiple bots (e.g. Pete, Max, and Sawyer), this setting must be on for each user who wants to interact with any of them via DM. You only configure it once per server, but every individual member must do it for themselves.
Steps
- Click Link My Discord Account.
- Enter your Discord username so Auxot can find you in the server.
- Click Send Code. Auxot searches for your username via the bot and, once found, the bot DMs you a verification code in Discord.
- Open your Discord DMs — you should have a message from the bot with a code.
- Copy the code and paste it into the Linked Accounts page in Auxot, then click Verify.
After success the bot sends a short confirmation DM. From that point on you can chat with the agent in any channel the bot is in, or directly via DM.
Multiple bots in one server? Each bot is a separate Discord account. You need the per-server DM setting enabled to open a fresh DM conversation with each one. Once a bot has DM’d you (e.g. sent you a verification code), that conversation stays open — but bots that have never messaged you require the setting to be on for you to initiate.
Didn’t receive a DM?
- Make sure the bot has actually joined the server and that you share at least one server with it.
- Check your per-server DM privacy setting — this is the most common cause. Right-click the server icon → Privacy Settings → enable “Allow direct messages from server members”. This is a per-server setting, separate from your global Discord privacy settings. Without it, you cannot open new DM conversations with anyone in that server, including bots.
- Click Resend Code (or start the link flow again) — Auxot issues a fresh code; old pending codes are replaced.
Resend / new code
If you lose the code, click Resend Code from Linked Accounts. A new code is generated and DMd to you immediately.
Admins
Org admins can revoke linked identities where the product exposes that (e.g. admin tools or user management), so a user returns to the unlinked behavior until they link again.
How the Bot Behaves
Chat mode (typical channel)
- Resolves whether the Discord user is linked to Auxot (see 🙈 above if not, when mentioned in guild channels).
- Sends the message to the thread coordinator for that agent.
- Shows a typing indicator while the model runs.
- Posts the reply as a Discord reply when appropriate; long text is split into chunks.
The agent can use control tokens in its reply (see your server version for exact spelling); examples include:
| Pattern | Effect |
|---|---|
NO_REPLY | No Discord message is sent (conversation may still be stored server-side). |
REACT:👍 (Unicode emoji after REACT:) | Adds that reaction to the message that triggered the reply instead of (or before) sending text. |
Workflow mode
Typically: acknowledge with a reaction, create a work item, run the workflow, then reply and mark completion — exact details match your Auxot version.
Troubleshooting
Bot online but no reply in a channel
- Confirm a channel binding exists on the agent’s Discord section.
- If Respond to is Mentions only, you must @mention the bot.
- Confirm Message Content Intent is on in the Discord portal.
- Unlinked users get 🙈 when they mention the bot — link via Linked Accounts.
“Tools disabled” or no identity in prompts
Link the Discord user via Settings → Linked Accounts (not only by admin-created rows, unless your org uses that path).
Bot replies to the server owner but not to regular members, and DMs fail with “message could not be delivered”
The bot was likely invited with User Install instead of Guild Install. Re-generate the invite URL in OAuth2 → URL Generator with only Guild Install selected, then re-invite the bot to the server.
Bot stopped working after a portal change
Regenerating the token in Discord invalidates the old one. Reconnect in Auxot with the new token.
Verification code fails
Request a new code from Linked Accounts. Use the latest code; avoid extra spaces.
Security Notes
- Bot tokens are stored encrypted; the API does not return them after save.
- Verification codes are handled securely server-side; do not paste codes in public Discord channels.
- Tool access and org credentials are tied to verified Auxot identity — unlinked users should not get tool execution.
- Linking binds a Discord user id to one Auxot user for your org’s platform-identity model (prevents casual impersonation).