Skip to main content
Updated Sep 7, 2026

Discord

Verified against the Discord Developer Portal, August 2026.

What you'll learn
  • How to create a Discord bot in the current Developer Portal and invite it to your server
  • Which permissions and intents AutoTalk actually needs
  • What the AutoTalk setup flow looks like, including the billing acknowledgement
  • What message types, options, and moderation actions are supported
  • How to fix the errors people actually hit during setup

The Discord channel connects a Discord bot to one of your Discord servers. AutoTalk hosts the connection: messages from your server's text channels arrive in your Inbox, and replies are posted back by the bot.

When to use this channel

  • Your community lives on a Discord server
  • You want employees or AI agents to answer or moderate Discord chat from AutoTalk
  • You want Discord conversations alongside your other messaging channels

Before you start

You need a Discord account and a server where you have the Manage Server permission — Discord only lets a server member with that permission authorize a bot.

Step 1: Create the application

  1. Open discord.com/developers/applications and sign in.
  2. Click New Application (top right).
  3. Enter a name, tick the Developer Terms of Service / Developer Policy checkbox, and click Create.

The "Create a new app" dialog with a Name field, the Developer Terms of Service checkbox, and Cancel / Create buttons

Discord may show a "Wait! Are you human?" captcha at this point — complete it and the app is created.

The app is created with a bot user already attached. There is no separate "add a bot" step.

Step 2: Mint the bot token

  1. In the left sidebar, open Bot.
  2. Under Token, click Reset Token.
  3. Confirm in the "Reset Bot's Token?" dialog by clicking Yes, do it!.
  4. If your Discord account has 2FA, a separate Multi-Factor Authentication prompt follows — enter your code and Submit. This is a second gate, not part of the previous dialog.
  5. Copy the token immediately and keep it somewhere safe.

The Token section of the Bot page: "For security purposes, tokens can only be viewed once, when created" with a Reset Token button

The token is displayed exactly once

Discord never shows an existing token — that's why there's no Copy button. If you navigate away without copying it, you have to reset again.

Resetting also invalidates the previous token immediately. If a Discord channel is already running on that bot, it stops receiving messages until you paste the new token into the channel and re-enable it.

Step 3: Turn on the Message Content Intent

  1. Still on the Bot page, scroll to Privileged Gateway Intents.
  2. Turn on Message Content Intent.
  3. A "Careful — you have unsaved changes!" bar appears at the bottom — click Save Changes. The intent is not applied until you do.

The Privileged Gateway Intents section with Presence Intent, Server Members Intent and Message Content Intent toggles

AutoTalk only needs Message Content Intent. Presence Intent and Server Members Intent can stay off.

Skipping this is the most common silent failure

Without this intent Discord still delivers every message event — but with the text stripped out. The channel connects, conversations appear in your Inbox, and every message is empty.

Discord only requires a review for privileged intents once your bot reaches 10,000 users. Below that, flipping the toggle is enough.

Step 4: Invite the bot to your server

4a. Check the installation contexts

Open Installation in the left sidebar. Under Installation Contexts, make sure Guild Install is ticked, and untick User Install — AutoTalk doesn't use it, and leaving it on adds an extra prompt in step 4c.

Installation Contexts with User Install and Guild Install checkboxes, both ticked

4b. Add the bot scope — this is the step everyone misses

Scroll to Default Install Settings → Guild Install. A newly created app only requests applications.commands:

Guild Install section showing Scopes containing only the applications.commands chip

applications.commands grants slash-command access — it does not put a bot user in your server. Click the Scopes box and add bot:

The Scopes dropdown open on the Guild Install section, showing a single option: bot

Adding bot reveals a Permissions picker. Select the permissions your channel needs (see the table below), then click Save Changes.

Guild Install with applications.commands and bot scopes, a Permissions selector, and the "you have unsaved changes" bar with a Save Changes button

Under Install Link, keep Discord Provided Link selected and copy the URL next to it.

The Install Link section set to "Discord Provided Link" with the generated discord.com/oauth2/authorize URL

Open that URL in a browser where you're signed in to Discord. The invite takes two screens.

First, a consent screen listing what the app may do. Pick your server under Add to server: and click Continue:

Discord's consent screen showing "Add a bot to a server", an "Add to server" dropdown with a server selected, and a Continue button

Then a second screen asks you to confirm the permissions the bot will get on that server. Review them and click Authorize:

Discord's confirmation screen listing the granted permissions with an Authorize button

You should land on "<your app> has been authorized and added to <your server>".

If you left "User Install" on

You'll get an extra prompt before the consent screen, offering Add to My Apps or Add to Server. Choose Add to Server — "Add to My Apps" installs the app to your own account without putting a bot in the server, and the channel then fails to enable with "Bot is not a member of guild …".

OAuth2 → URL Generator still works

If you prefer the old flow: OAuth2 → URL Generator, tick the bot scope, tick the permissions, then copy the generated URL at the bottom of the page. It produces the same invite.

Which permissions to grant

Grant only what you plan to use. Missing permissions don't break the connection — the individual action just fails at runtime.

These are the names used by the portal's permission picker. Discord's authorization screen renames one of them: Create Instant Invite appears there as Create Invite.

Baseline — needed for the channel to work at all:

PermissionWhy AutoTalk needs it
View ChannelsSee the text channels the bot should listen on
Send MessagesPost replies from employees and agents
Read Message HistoryRead replies, reaction targets, and fetch history
Embed LinksSend link previews
Attach FilesSend images, audio, video, and documents
Add ReactionsReact to messages
Send Messages in ThreadsReply inside threads

Message operations:

PermissionEnables
Manage MessagesDelete, purge, crosspost, and clear other users' reactions
Pin MessagesPin and unpin messages (a separate permission from Manage Messages)
Create Public ThreadsStart a thread from a message

Moderation:

PermissionEnables
Kick MembersKick a user
Ban MembersBan, unban, list bans, check ban status
Manage ServerBulk ban (Discord requires Ban Members + Manage Server together)
Moderate MembersTimeout a user
Manage RolesAdd/remove member roles, lock a channel
Manage NicknamesChange another member's nickname
Change NicknameChange the bot's own nickname
Manage ChannelsSet slowmode
View Audit LogRead the server audit log
Create Instant InviteCreate an invite link
Mute MembersVoice-mute a member
Move MembersDisconnect a member from voice
Discord's role hierarchy still applies

A bot can never moderate a member whose highest role sits above the bot's own role, no matter which permissions you granted. If bans or timeouts fail on moderators only, move the bot's role up in Server Settings → Roles.

Step 5: Find your Server ID

  1. In the Discord app, click the gear icon (User Settings) → Developer (near the bottom, under Other) → turn on Developer Mode.

    Discord user settings with the Developer section selected and the Developer Mode toggle switched on

    It used to be called "Advanced"

    Guides that tell you to look under Advanced are describing the old settings layout.

  2. Right-click the server icon in the left rail and choose Copy Server ID (the last item in the menu).

    The server context menu with &quot;Copy Server ID&quot; at the bottom

The Server ID (also called the Guild ID) is a 17–20 digit number, e.g. 123456789012345678. If what you copied contains letters or dashes, you copied a channel link or an invite code instead.

Step 6: Connect the bot to AutoTalk

  1. In the sidebar, go to Integrations > Channels and click the + button (tooltip "Add channel") to open the New channel page.
  2. In the channel picker, select the Discord tile (in the Bots & communities group).
  3. Store the bot token. Bot token is not a text box — it's a picker that reads "Select a secret variable…". Click Add item beside it, give the variable a name (e.g. Discord bot token), leave Secret switched on, paste the token into the value box, and click Save. The picker then shows the variable with its value masked as ••••••. Tokens are stored encrypted in your company variables, never in the channel itself.
  4. Enter the Server ID (Guild ID).
  5. Review the Connection cost panel and tick the acknowledgement under Acknowledgements confirming the hosted-connection cost.
  6. Click Create & enable channel.

The channel is created and enabled in one step — metering starts right after. During enablement AutoTalk verifies the token and checks that the bot is a member of your server; if it isn't, enabling fails with a message asking you to invite the bot first.

Troubleshooting

SymptomCauseFix
Enable fails: "Bot is not a member of guild … Make sure to invite the bot to your server first"The install link didn't add a bot (missing bot scope), you picked Add to My Apps, or the Server ID belongs to a different serverRedo Step 4b, re-open the install link, choose Add to Server, and re-check the Server ID
Enable fails with a token/authorization errorThe token was reset again after you pasted it, or only part of it was copiedMint a fresh token (Step 2) and update the channel's bot token
Channel is online, conversations appear, but every message is emptyMessage Content Intent is off (or the change wasn't saved)Turn it on (Step 3), then disable and re-enable the channel
Bot shows online in Discord but nothing reaches the InboxChannel Filter lists channels the bot can't see, the bot lacks View Channels on that category, or Respond only to mentions is onClear the filter, check channel-level permission overwrites, and review the channel's options
Direct messages to the bot never arriveA non-empty Channel Filter also drops DMs — a DM's channel ID is never in the listLeave Channel Filter empty on channels that should receive DMs
Replying to the bot's message gets ignoredWith Respond only to mentions on, Discord requires an explicit @mention — a reply alone doesn't countMention the bot, or turn the option off
The bot can post text but not files or embedsMissing Attach Files / Embed LinksRe-invite with the permission ticked, or grant the bot's role that permission in Server Settings → Roles
A moderation action fails on some users onlyDiscord's role hierarchy — the target outranks the botMove the bot's role above the roles it must moderate

Billing

Discord is a hosted connection: it is billed per minute while the channel is online, 24/7 (the channel_minutes_discord meter). A disabled channel costs nothing — use Disable on the channel's edit page to stop the charge. See Usage Rates for details.

Supported message types

Incoming from your server:

  • Text messages and attachments (images, audio, video, documents)
  • Message edits and deletions, reflected in the conversation
  • Emoji reactions
  • Button clicks on option messages
  • Direct messages sent to the bot, as a per-user conversation

Outgoing from AutoTalk:

  • Text messages — long messages are split automatically
  • Media files (images, audio, video, documents)
  • Interactive options, rendered as Discord buttons (larger lists fall back to a numbered text list)
  • Edits and deletions of messages sent by your team or agents

Channel options

On the channel's edit page you can adjust:

  • Channel Filter — listen only on specific text channel IDs; leave it empty to listen on all channels. Note that a non-empty filter also excludes direct messages to the bot.
  • Use shared conversation — on by default: each Discord text channel appears as a single conversation, like a group chat. Turn it off to give each user their own conversation.
  • Respond only to mentions — only respond when the bot is explicitly mentioned in chat. On Discord, replying to one of the bot's messages does not count as a mention.

Moderation actions

Discord channels expose a broad set of moderation and channel actions that can be run from the channel page or called from workflows and agents. Get Discord Member, Ban User, Kick User, Timeout User, and Delete Message are just a few examples — the full set is much larger and is not limited to these. Grouped by area, Discord channels support:

  • Member management — ban, kick, timeout, unban, roles, nicknames, member search, and voice mute/disconnect
  • Message operations — delete, pin, react, start thread, crosspost, and purge messages
  • Channel controls — audit log, bans list, bulk-ban, invites, slowmode, lock, and list pins

The complete list appears in the action picker when you build a workflow or agent. See the Discord Spam Moderator example for a complete moderation agent built on them.

Important considerations

  • Metering starts as soon as the channel is created — disable it when you don't need it.
  • The bot must stay in your server and the Message Content Intent must remain enabled; if the bot is removed or the token is revoked, messages stop flowing until you fix the bot and re-enable the channel.
  • One channel connects one server. To connect a second server, create another Discord channel — and give it its own bot application, otherwise direct messages to the shared bot are delivered to both channels.
tip

Use Channel Filter to keep the bot scoped to a support or moderation channel instead of your whole server.

Next steps

  • Inbox & Messaging — Manage incoming Discord conversations
  • AI Agents — Automate Discord replies with an agent
  • IRC — Connect IRC networks or Twitch chat