How to Set Up OpenClaw on Discord

Bring your AI assistant into Discord: chat with it in DMs, let your server use it in chosen channels, and even have it join voice channels and take meeting notes. This guide covers the Developer Portal, inviting the bot, connecting OpenClaw and locking access down. Allow about 20 minutes.

Quick answer

Create an application and bot in the Discord Developer Portal, turn on Message Content Intent, invite it with the bot and applications.commands scopes, then run openclaw channels add --channel discord --token <bot-token> and approve yourself.

Why Discord

What OpenClaw can do on Discord

DMs and server channels

Chat privately, or let members use it in channels you choose.

Buttons and slash commands

Interactive components and a native slash-command menu.

Threads and forums

Keeps conversations tidy in threads and forum posts.

Voice channels

Talks in real time, and joins on its own when people do.

Meeting notes

Transcribes voice chats and writes up notes.

Role-based access

Allow specific users or roles per server and channel.

You need OpenClaw installed with an AI model connected, and Manage Server permission on the Discord server. New? Start with the install guide.

1
Step 1

Create a bot in the Discord Developer Portal

  1. Go to discord.com/developers/applications and click New Application. Name it, for example "OpenClaw".
  2. Copy the Application ID from General Information. You'll need it for the invite link.
  3. Open the Bot tab and click Reset Token to reveal the bot token. Copy it somewhere safe.
  4. Turn on privileged intents on the same page:
    • Required Message Content Intent, so OpenClaw can read what people write.
    • If needed Server Members Intent, needed when you allow access by user or role.
  5. Save changes.
Treat the bot token like a password

Anyone with it can control your bot. If it leaks, click Reset Token again and update OpenClaw.

2
Step 2

Invite the bot to your server

The bot needs the bot and applications.commands scopes, plus permissions to read and send messages. Build your invite link here:

Invite link builder

Make your invite URL

Paste your Application ID and choose features. Then open the link and pick your server.

Invite URL

Prefer the portal? Use OAuth2 › URL Generator, tick the same scopes and permissions, and copy the generated URL.

3
Step 3

Connect OpenClaw to the bot

Discord is an official plugin. Choosing Discord in openclaw onboard sets it up for you. Otherwise add the channel with your bot token:

Terminal
openclaw channels add --channel discord --token <bot-token>

Or put it in your config:

~/.openclaw/openclaw.json (JSON5)
{
  channels: {
    discord: {
      token: "YOUR_BOT_TOKEN",
      dmPolicy: "pairing",
    },
  },
}

Restart and check the channel:

Terminal
openclaw gateway restart
openclaw channels status --probe

Your bot should now show as online in the server's member list.

4
Step 4

DM the bot and approve yourself

Open a direct message with the bot and say hi. Direct messages use pairing by default, so the bot replies with a code. Approve it:

Terminal
openclaw pairing list discord
openclaw pairing approve discord <CODE>

For a private, personal bot, switch to dmPolicy: "allowlist" and add your Discord user ID to allowFrom.

5
Step 5

Choose which servers and channels it works in

With groupPolicy: "allowlist", OpenClaw only responds in the servers and channels you list. Use the builder to write the config.

Make it yours

Server config builder

Find IDs with Developer Mode (see Finding IDs).

~/.openclaw/openclaw.json (JSON5)

You can also limit a server to certain users or roles by ID, and set ignoreOtherMentions: true so it ignores messages that mention other people.

Finding IDs

How to get Discord user, server and channel IDs

  1. Turn on Developer Mode: User Settings › Advanced › Developer Mode.
  2. Right-click (or long-press on mobile) a server icon, channel or user, and choose Copy … ID.
User IDRight-click your name987654321098765432
Server IDRight-click the server icon123456789012345678
Channel IDRight-click a channel112233445566778899
Voice channels

Talk to OpenClaw in Discord voice

OpenClaw can join voice channels, hold real-time conversations, keep transcripts and write meeting notes.

  • Invite with the bot and applications.commands scopes
  • Grant Connect, Speak, Send Messages and Read Message History
  • Turn on native commands and configure channels.discord.voice
/vc join channel:<voice-channel-id>Join a voice channel
/vc statusShow the current session
/vc leaveLeave the channel
Voice modes

agent-proxy (default): a real-time voice front end that hands work to your agent · stt-tts: classic speech-to-text and back · bidi: direct real-time model conversation

Extras include auto-join when people enter a channel, voice follow to join and leave with chosen users, and allowedChannels to limit where it can talk. Voice commands follow the same allowlists as text.

Troubleshooting

Fix common Discord bot problems

Online but ignores messages

Turn on Message Content Intent in the Developer Portal, then restart the gateway.

Doesn't reply in a channel

Add the server and channel to guilds, check the bot can see the channel, and @mention it if requireMention is on.

Role or user rules don't work

Turn on Server Members Intent, and use numeric IDs rather than names.

No slash commands

Re-invite the bot with the applications.commands scope. Commands can take a minute to appear.

Bots replying to each other

Don't allow other bots in the channel allowlist, and keep requireMention on to avoid loops.

Voice drops or isn't heard

Check Connect and Speak permissions, your speech-to-text setup and connectTimeoutMs.

More fixes: troubleshooting guide.

FAQ

OpenClaw Discord questions

How do I add OpenClaw to Discord?

Create an application and bot in the Discord Developer Portal, enable Message Content Intent, invite the bot with the bot and applications.commands scopes, then run openclaw channels add --channel discord --token with your bot token and approve yourself with openclaw pairing approve discord.

Why does my OpenClaw Discord bot not read messages?

Message Content Intent is probably off. Enable it on the Bot page of the Discord Developer Portal and restart the OpenClaw gateway.

Can OpenClaw join Discord voice channels?

Yes. With Connect and Speak permissions and voice configured, use /vc join to bring it into a voice channel. It can talk in real time, keep transcripts and write meeting notes.

How do I limit OpenClaw to certain Discord channels?

Set groupPolicy to allowlist and list your server ID under channels.discord.guilds, with only the channels you want enabled. You can also restrict by user or role IDs and require an @mention.

How do I find my Discord user ID?

Turn on Developer Mode in User Settings, Advanced, then right-click your name and choose Copy User ID. Use the same method for server and channel IDs.

Is it free to run OpenClaw on Discord?

Yes. Discord bots are free and OpenClaw is free, open-source software. You only pay for the AI model you connect.

Other channels