Channel Integrations
Connect your Wunderbot to messaging platforms so users can interact with your agent wherever they already are. Each channel adapter normalizes inbound messages into a common format and routes replies back through the platform's API.
Quick Start
wunderland connect gmail
wunderland connect whatsapp
wunderland connect slack
wunderland connect signal
The connect command walks you through OAuth or credential setup for each platform. Once connected, chat commands work the same across all channels.
WhatsApp
WhatsApp supports two providers. Choose based on your needs:
| Twilio | Meta Cloud API | |
|---|---|---|
| Cost | Paid (per-message pricing) | Free tier (1,000 conversations/month) |
| Reliability | Production-grade, SLA-backed | Reliable, requires app review for production |
| Setup | Quick — API keys only | Requires Facebook app + business verification |
Twilio Setup
- Create a Twilio account and purchase a WhatsApp-enabled phone number.
- In the Twilio Console, navigate to Messaging > Try it out > Send a WhatsApp message to activate the sandbox (or request a production number).
- Set environment variables:
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=your_auth_token
TWILIO_WHATSAPP_FROM=whatsapp:+14155238886
- Run
wunderland connect whatsappand select Twilio as the provider.
Meta Cloud API Setup
- Create an app at developers.facebook.com.
- Add the WhatsApp product to your app.
- Generate a permanent access token and note your Phone Number ID.
- Set environment variables:
META_WHATSAPP_TOKEN=EAAxxxxxxx
META_WHATSAPP_PHONE_ID=1234567890
META_WHATSAPP_VERIFY_TOKEN=your_verify_secret
- Run
wunderland connect whatsappand select Meta Cloud API as the provider.
Webhook Configuration
Configure your webhook URL in the provider's dashboard:
https://your-server/wunderland/channels/inbound/whatsapp/{seedId}
Replace {seedId} with your agent's seed ID (visible in wunderland doctor or on your dashboard).
Slack
CLI Setup
wunderland connect slack
This routes through rabbithole.inc OAuth — no manual Slack app creation is needed. The command opens your browser to authorize the Wunderbot Slack app in your workspace.
For self-hosted deployments, set these environment variables and create your own Slack app:
SLACK_OAUTH_CLIENT_ID=your_client_id
SLACK_OAUTH_CLIENT_SECRET=your_client_secret
SLACK_BOT_TOKEN=xoxb-your-bot-token
Auto-Reply Modes
Control when your Wunderbot responds in Slack:
| Mode | Behavior |
|---|---|
off | Bot does not reply automatically |
dm | Reply only to direct messages |
mentions | Reply when @mentioned in channels |
all | Reply to every message in configured channels |
Set the mode:
wunderland config set slack.autoReply mentions
The webhook is already configured via the Slack Events API — no manual URL setup is required.
Signal
Prerequisites (signal-cli)
Signal integration requires signal-cli, a command-line interface for the Signal protocol.
Install:
# macOS
brew install signal-cli
# Linux (manual)
# See https://github.com/AsamK/signal-cli/releases
Setup Wizard
wunderland connect signal
The wizard walks you through:
- Link or register a phone number with signal-cli
- Verify via SMS or voice call
- Test the connection by sending a message
- Save the configuration to your agent config
Running the Daemon
signal-cli runs as a JSON-RPC daemon that forwards messages to your Wunderbot. The webhook URL for the daemon is:
http://localhost:{port}/wunderland/channels/inbound/signal/{seedId}
Start the daemon:
signal-cli -a +1234567890 daemon --json
The Wunderbot server listens on this endpoint and processes incoming Signal messages the same way as any other channel.
Telegram (Already Live)
Bot Token from BotFather
- Open Telegram and search for @BotFather.
- Send
/newbotand follow the prompts to create your bot. - Copy the bot token and set it:
TELEGRAM_BOT_TOKEN=123456:ABCdef...
TELEGRAM_BOT_ENABLED=true
- Run
wunderland connect telegramor start your server — the bot auto-registers.
Discord (Already Live)
OAuth Connect via Dashboard
- Go to your Wunderbot dashboard at rabbithole.inc.
- Navigate to Settings > Channels > Discord.
- Click Connect to authorize the bot in your server.
- Configure roles and channels in the setup wizard.
Or set environment variables for self-hosted:
DISCORD_BOT_TOKEN=your_bot_token
DISCORD_APPLICATION_ID=your_app_id
DISCORD_GUILD_ID=your_server_id
DISCORD_BOT_ENABLED=true
All Channels
Auto-Reply Configuration
Every channel supports auto-reply modes. Set them per-channel:
wunderland config set slack.autoReply mentions
wunderland config set whatsapp.autoReply all
wunderland config set signal.autoReply dm
wunderland config set telegram.autoReply all
wunderland config set discord.autoReply mentions
Agency Mode (Multi-Persona)
In Agency Mode, multiple Wunderbots can share a single channel. Each bot responds based on its personality and skill set. Configure this in your agent.config.json:
{
"agency": {
"enabled": true,
"agents": ["agent-alpha", "agent-beta"],
"routing": "round-robin"
}
}
Checking Channel Status
wunderland doctor
The doctor command shows the connection status for all configured channels, including provider details and phone numbers where applicable.
Help
wunderland help whatsapp
wunderland help slack
wunderland help signal
wunderland help email