Skip to main content
NullClaw supports 17 messaging channels including Telegram, Discord, Slack, and more. Each channel has specific configuration requirements and access controls.

Channel Structure

Channels are configured in the channels section:

CLI Channel

boolean
default:"true"
Enable the command-line interface channel. Always available for local interaction.

Telegram Configuration

Basic Setup

string
required
Telegram bot token from @BotFather.
array
required
List of Telegram user IDs allowed to interact with the bot in private chats. Use @userinfobot to find your user ID.
array
List of group chat IDs where the bot is allowed to respond.
string
default:"allowlist"
Group access policy: allowlist (only respond in listed groups) or mention_only (respond when mentioned).
boolean
default:"true"
Use reply-to in private (1:1) chats. Groups always use reply-to.
string
Optional SOCKS5/HTTP proxy URL for Telegram API requests (e.g., socks5://host:port).

Discord Configuration

string
required
Discord bot token from the Discord Developer Portal.
string
Optional guild (server) ID to restrict the bot to a specific server.
array
List of Discord user IDs allowed to interact with the bot.
boolean
default:"false"
Allow other bots to trigger this agent.
boolean
default:"false"
Only respond when the bot is mentioned.
number
default:"37377"
Discord gateway intents bitmask (GUILDS | GUILD_MESSAGES | MESSAGE_CONTENT | DIRECT_MESSAGES).

Slack Configuration

string
default:"socket"
Connection mode: socket (Socket Mode) or http (Events API with webhooks).
string
required
Slack bot token (starts with xoxb-).
string
App-level token for Socket Mode (starts with xapp-). Required when mode is socket.
string
Signing secret for webhook verification. Required when mode is http.
string
default:"pairing"
Direct message policy: pairing (require pairing), allowlist (use allow_from), or open (allow all).
string
default:"mention_only"
Group/channel policy: mention_only (respond when mentioned), allowlist (use allow_from), or open (respond to all).

Multi-Account Support

Most channels support multiple accounts using the accounts object:
NullClaw will connect to all configured accounts. The account_id field (default: "default") identifies each account.

Access Control

All channels support allowlist-based access control:
  • allow_from — List of user IDs allowed to interact with the bot
  • group_allow_from — List of group/channel IDs where bot can respond
  • group_policy — How to handle group messages (allowlist, mention_only, etc.)
Always configure allow_from to prevent unauthorized access. Empty allowlists typically deny all access.

Supported Channels

NullClaw supports these messaging platforms:
  • CLI — Command-line interface
  • Telegram — Telegram Bot API
  • Discord — Discord gateway
  • Slack — Socket Mode or Events API
  • WhatsApp — WhatsApp Business API
  • Matrix — Matrix protocol
  • Mattermost — Mattermost integration
  • Signal — Signal messenger (via signal-cli)
  • IRC — Internet Relay Chat
  • Email — IMAP/SMTP
  • iMessage — Apple Messages (macOS only)
  • Lark — Lark/Feishu
  • DingTalk — DingTalk
  • LINE — LINE messaging
  • QQ — QQ instant messaging
  • Nostr — Nostr protocol
  • Web — WebSocket channel for browser extensions
See Channels Guide for setup instructions for each platform.