Connect Discord to your agents

Wire your agents into Discord — same teammates, same agents, verified identity — so answers land in the servers and threads where your community already talks.

Plus: three pasted Admin-Agent runbooks — pick the first channel and Mentions-vs-All mode, draft a teammate-facing announcement that explains the 🙈 reaction, and sequence a rollout that handles Guild Install and Message Content Intent correctly.

Audience Admins · Everyone
Time ~8 min
Prerequisites An Auxot account with at least one custom agent ([Create an agent from scratch](/tutorials/create-an-agent-from-scratch)). **Manage Server** (or ownership) on the target Discord guild. Org admin access in Auxot to paste the bot token under **Settings → Agents**. Everyone who will @mention or DM the bot needs **Settings → Linked Accounts** and Discord’s per-server DM privacy enabled (Walkthrough Step 6).
You'll end up with One Discord bot connected to one agent, one channel binding (**@Mentions only** or **All messages**), teammates linking Discord once org-wide — plus a clear response to a 🙈 reaction (link your account) and Guild Install mistakes.

When a tutorial shows italic text in quotation marks, it usually mirrors a label or helper string inside Auxot. Product copy changes between releases — if something reads differently in your workspace, trust what you see on screen.

Callouts with a Worth knowing gold accent are meant as must-read context before you move on. Blockquotes that open with Tip are lighter, optional depth.

Why this matters

The agents you’ve configured in Auxot already sound like your business: descriptions, context files, and tools. Discord is where many teams run voice-adjacent chat, community support, and internal #asks. Every hop through a browser tab to paste the same question twice is friction someone eventually skips.

Discord wiring is per agent, same mental model as Slack (Connect Slack to your agents): you connect a bot token on the agent’s detail page, you pick channels and how noisy replies should be, then each teammate links Discord once under Linked Accounts so tools and identity match the Auxot user behind the keyboard.

Today, connect one agent to one Discord channel. The next time your team needs scheduled digests (Run an agent on a schedule) or cross-channel routing, the agent is already there: Discord posts and Auxot chat read the same Description because they are the same agent.

Nothing answers itself without a message or trigger you configured: Discord delivers text events; Auxot runs the agent when mentions or channel bindings call for it. Unlinked users who @mention the bot get a quiet 🙈 reaction instead of a flood of tool messages; the fix is to link the account, not to retry the prompt louder.


Quick start

  1. Create a Discord application + bot: Discord Developer Portal: new application, Bot tab, enable Message Content Intent, copy the bot token once.
  2. Invite with Guild Install: OAuth2 → URL Generator: scope bot, permissions View Channels, Send Messages, Read Message History, Add Reactions, and optional Attach Files: select Guild Install, open the URL, and authorize into your server.
  3. Sign in to Auxot as an admin: open the agent that should own this Discord presence.
  4. Connect Discord: Settings → Agents → (agent) → Discord → Connect, name the integration, paste the token, save until the bot shows online in Discord.
  5. Add a channel binding (optional but usual): pick the channel, Respond to: @Mentions only or All messages, save. Then have teammates finish Settings → Linked Accounts → Link My Discord Account.

Done? @mention the bot in that channel (or post in All messages mode), after linking, and you should see the same agent voice you get in Auxot chat.


The agent can do that?

Discord rollouts die on invisible defaults: intents off, User Install invites, DMs blocked by server privacy. Paste planning questions into Admin Agent chat first; you still click Connect Discord and approve OAuth yourself.

1. Pick the first agent + channel + mode

Chat → Admin Agent:

We're putting Auxot agents into Discord. Given the agents I have and where my Discord traffic actually lives, which agent should land in which channel first — and should the binding be @Mentions only or All messages? Call out Discord-specific risks (noisy public channels, moderation).

Why it’s non-obvious: All messages in a general channel multiplies token spend fast; Mentions-first keeps humans in control. The reply ranks pairs against the roster you implied: still your click on Add binding.

2. Announcement copy that mentions 🙈

I connected my "[agent name]" Auxot agent to Discord #[channel]. Draft a short announcement: how to @mention it, that teammates must link Discord under Auxot **Settings → Linked Accounts**, what the 🙈 reaction means (unlinked account), and what kinds of questions belong in this channel vs Escalations.

Why it’s non-obvious: 🙈 looks silly until explained: it’s the product telling someone link first. Front-loading that avoids moderators assuming the bot is “broken.”

3. Sequence multi-agent Discord safely

Lay out a three-week Discord rollout for my Auxot agents — which agent, which channel, Mentions vs All, and what Description polish ([Give your agent its job description](/tutorials/give-your-agent-its-job-description)) should happen before go-live. Flag agents that should stay Auxot-only.

Why it’s non-obvious: Parallel launches multiply failure modes (wrong intent, wrong invite type). Chunking keeps debugging recognizable: you still flip bindings week by week.


Go deeper

Slack vs Discord: same goal, different developer-portal steps

Slack’s tutorial is Connect Slack to your agents. Discord differs mainly in Discord Developer Portal steps:

  • Message Content Intent must be on or bodies arrive empty.
  • Invites must use Guild Install: User Install breaks regular members (classic “owner sees replies, nobody else does”).
  • Linking uses bot DMs: each user enables Allow direct messages from server members on that guild.

You may attach Slack and Discord to the same agent: each integration row is independent.

@Mentions vs All messages

@Mentions only: bot replies when pinged. Fine for mixed human channels.

All messages: bot replies to every message in the bound channel. Use dedicated #bot-* rooms; costs spike in busy channels.

Per product behavior: @mentions work in any channel the bot can read; bindings add All messages control or workflow routing (see manual). Match binding mode to how loud you want jobs.

Troubleshooting
  • Bot offline after saving token: token typo, missing intents, or stale token after Discord reset. Regenerate token, reconnect in Auxot.
  • Empty replies / bot “sees nothing”: Message Content Intent off in the portal. Enable, save, reconnect if needed.
  • Owner gets DMs, members see “message could not be delivered”: User Install invite. Regenerate URL with Guild Install only, re-authorize.
  • 🙈 on mentions: sender not linked. Settings → Linked Accounts → Link My Discord Account (and DM privacy on the server).
  • Channel list empty in Auxot: bot lacks View Channels on those channels; private channels need explicit role overrides for the bot role.
  • Linking never DMs a code: double-check per-server Privacy Settings → Allow direct messages from server members. Retry Send Code.
Variations & edge cases
  • Workflow bindings: Discord bindings can target workflow mode for intake-style automation; chat-shaped tutorials still start with chat mode for clarity. Details stay aligned with Discord Integration.
  • Scheduled tasks: Run an agent on a schedule can post to Default channel / Error channel once this integration exists.
  • Token rotation: reset in Discord, disconnect/reconnect in Auxot with the fresh secret (Manage your Credentials mindset).
  • Multiple Discord servers: additional integrations on the same agent if your deployment supports multiple connections (same pattern as Slack multi-workspace in Connect Slack to your agents).

Walkthrough

Step 1: Application, bot token, intents

  1. Open discord.com/developers/applicationsNew Application → name it → Create.
  2. Sidebar Bot → Add Bot.
  3. Under Privileged Gateway Intents, enable Message Content IntentSave Changes.
  4. Reset Token / copy token once: treat like a password.

Step 2: OAuth invite (Guild Install)

  1. OAuth2 → URL Generator.
  2. Scopes: bot.
  3. Permissions: View Channels, Send Messages, Read Message History, Add Reactions, and optionally Attach Files.
  4. Integration type: Guild Install: copy URL, visit, pick server, authorize.

Step 3: Private channels (if needed)

If @everyone cannot see a channel, grant the bot role View Channel on that channel (Edit Channel → Permissions → add bot role).

Step 4: Connect inside Auxot

  1. **Settings → Agents → (your agent)`.
  2. Discord card → Connect Discord.
  3. Name + paste token → save until Discord shows the bot online.

Step 5: Channel binding

  1. Still on the agent page → Add binding (wording may read Add Channel).
  2. Pick server + channel from dropdowns.
  3. Mode chat for conversational use (unless you intend workflow intake; see manual).
  4. Respond to: @Mentions only (start here) or All messages (dedicated lanes only).

Step 6: Linked Accounts (every user)

Each teammate:

  1. Discord: right-click server icon → Privacy Settings → enable Allow direct messages from server members (required for verification DMs).
  2. Auxot: Settings → Linked Accounts → Link My Discord Account.
  3. Enter Discord username, Send Code, paste DM code, Verify.

Step 7: Smoke test

In the wired channel, after linking, @BotName hello: expect an Auxot-quality reply in-thread. If you see 🙈, finish linking first.


What’s next

Reference