Back to Blog
O

How to Set Up OpenClaw Discord Voice Channels

Setup Guides

How to Set Up OpenClaw Discord Voice Channels

OpenClaw Expert Team
9 min read

Discord Is Now OpenClaw's Most Feature-Rich Channel

The v2026.2.21 release delivered the largest single-release expansion of OpenClaw's Discord capabilities yet. Voice channel join/leave, realtime voice conversations, live streaming draft replies, lifecycle status reactions, forum tag management, thread-bound subagent sessions, and ephemeral slash-command defaults — all shipped in a single update. This guide walks through each feature and how to configure it correctly.

Prerequisites: Discord Bot Setup

Before configuring voice or streaming features, your Discord bot needs the correct intents and permissions. In the Discord Developer Portal:

  1. Under Bot → Privileged Gateway Intents, enable:
    • Server Members Intent
    • Message Content Intent
    • Voice States Intent (required for voice channel features)
  2. Under OAuth2 → URL Generator, add these bot permissions:
    • Read Messages / View Channels
    • Send Messages
    • Read Message History
    • Use Slash Commands
    • Connect (voice)
    • Speak (voice)
    • Use Voice Activity
    • Add Reactions (for lifecycle reactions)
    • Manage Messages (optional, for message cleanup)

Set your bot token in your OpenClaw environment:

DISCORD_BOT_TOKEN=your-bot-token-here

Voice Channel Join and Leave via /vc

The new /vc slash command gives users direct control over voice channel presence. In any Discord text channel:

  • /vc join — OpenClaw joins the voice channel the command sender is currently in
  • /vc leave — OpenClaw leaves the current voice channel
  • /vc status — Reports which voice channel OpenClaw is currently in (if any)

These commands require no additional configuration — they work once your bot has the Connect and Speak permissions. The user invoking /vc join must themselves be in a voice channel; the bot joins the same channel.

Auto-Join Configuration

For always-on voice deployments, configure auto-join so OpenClaw automatically enters a specific voice channel when mentioned or when a session starts:

{
  "channels": {
    "discord": {
      "voice": {
        "autoJoin": {
          "enabled": true,
          "channelId": "YOUR_VOICE_CHANNEL_ID",
          "guildId": "YOUR_SERVER_ID",
          "triggerOnMention": true
        }
      }
    }
  }
}

With triggerOnMention: true, OpenClaw will join the configured voice channel whenever a user mentions the bot — regardless of which text channel the mention came from. This creates a natural workflow: mention the bot in any channel, it joins voice and responds there.

To find your voice channel ID: enable Developer Mode in Discord settings (Settings → Advanced → Developer Mode), then right-click the voice channel and choose Copy Channel ID.

Realtime Voice Conversations

Once in a voice channel, OpenClaw can participate in realtime voice conversations — speaking and listening simultaneously. This requires a voice provider configured in OpenClaw:

# ElevenLabs (recommended for quality)
ELEVENLABS_API_KEY=your-key

# Or Deepgram for STT
DEEPGRAM_API_KEY=your-key

In openclaw.json, enable voice for the Discord channel:

{
  "channels": {
    "discord": {
      "voice": {
        "enabled": true,
        "sttProvider": "deepgram",
        "ttsProvider": "elevenlabs",
        "voiceId": "your-elevenlabs-voice-id"
      }
    }
  }
}

The voice-call bundled skill handles the conversation loop — transcribing audio from channel participants, passing it to the AI model, and speaking the response back via TTS. Latency on a local deployment is typically 1.5–3 seconds end-to-end.

Live Streaming Draft Replies

Discord streaming preview mode shows replies being generated in real time — users see the AI's response appearing word by word rather than waiting for the full response to appear at once. Two display modes are available:

{
  "channels": {
    "discord": {
      "streaming": {
        "enabled": true,
        "mode": "partial",
        "chunkSize": 100
      }
    }
  }
}
  • mode: "partial" — Edits the message in place as tokens arrive (smoother, preferred)
  • mode: "block" — Sends complete chunks at a time (fewer API calls, slightly choppier appearance)
  • chunkSize — How many characters to accumulate before each edit (lower = smoother, higher = fewer rate limit hits)

Discord imposes a 5-edit-per-second rate limit on message edits. If your model generates tokens faster than this, use a higher chunkSize or switch to block mode.

Lifecycle Status Reactions

Lifecycle reactions give users visual feedback on what the AI is doing — a queued message shows ⏳, a message being processed shows 🤔, tool calls show 🔧, completion shows ✅, and errors show ❌. Configure them:

{
  "channels": {
    "discord": {
      "lifecycle": {
        "reactions": {
          "queued": "⏳",
          "thinking": "🤔",
          "tool": "🔧",
          "done": "✅",
          "error": "❌"
        },
        "showTiming": true,
        "removeOnComplete": false
      }
    }
  }
}

You can use custom server emoji by specifying the emoji ID: "thinking": "<:custom_emoji:1234567890>". With showTiming: true, the reaction includes a timestamp label showing how long each phase took. With removeOnComplete: false, the ✅ reaction persists so users can see which messages were processed.

Ephemeral Slash Commands

By default, OpenClaw's slash-command responses are visible to all channel members. Make them ephemeral (visible only to the invoking user) by setting:

{
  "channels": {
    "discord": {
      "slashCommands": {
        "ephemeralDefault": true
      }
    }
  }
}

This is particularly useful for commands involving personal data, API key management, or admin-level operations that should not be visible to other server members.

Thread-Bound Subagent Sessions

OpenClaw can spawn subagent sessions that are bound to specific Discord threads. Each thread gets its own isolated context — useful for running multiple simultaneous AI conversations in the same server without cross-contamination:

{
  "channels": {
    "discord": {
      "subagents": {
        "threadBound": true,
        "maxPerGuild": 10,
        "focusMode": "thread"
      }
    }
  }
}

Within a thread session, the agent maintains its own context window and memory, isolated from other threads. Users can list active thread sessions with /sessions list and focus a session to a specific thread with /sessions focus.

Common Discord Setup Problems

  • Bot can join text but not voice: Missing the Connect or Speak permission in the bot's server role. Check Server Settings → Roles → your bot's role and add voice permissions.
  • Streaming edits stop mid-response: Discord rate limiting. Increase chunkSize to 200+ or switch to block mode.
  • Lifecycle reactions not appearing: Bot missing Add Reactions permission, or the bot is not a member of the channel where it's trying to react.
  • Voice audio is distorted: Deepgram or ElevenLabs API latency causing packet loss in the audio stream. Check your VPS location — hosting in a region close to your users significantly reduces voice latency.
  • Slash commands not registering: After adding new slash commands to config, run openclaw discord register-commands --guild YOUR_GUILD_ID to push the updated command list to Discord.

The Setup Complexity

A fully-featured Discord deployment — voice, streaming, reactions, subagents, ephemeral commands — involves a non-trivial number of moving parts. The bot portal permissions, intent configuration, gateway config, voice provider API keys, TTS voice selection, rate limit tuning, and thread session management all interact with each other. One missing permission or misconfigured intent causes silent failures that are hard to trace without knowing exactly what to look for.

Want a fully-configured OpenClaw Discord bot with voice, streaming, and lifecycle reactions? Our Professional package includes Discord setup as part of the multi-channel configuration — bot registration, permissions, voice provider setup, streaming tuning, and lifecycle reactions. We also test every feature end-to-end before handover.

Book a free consultation to discuss your Discord setup, or view our Professional package for the complete channel list.

openclaw discordopenclaw voiceopenclaw discord setupopenclaw setupdiscord ai botopenclaw discord voice

Need Help with OpenClaw?

Our experts handle the entire setup — installation, configuration, integrations, and ongoing support. Get your AI assistant running in 24 hours.