Skip to content
All posts
·9 min read·Rabbit Hole Inc

28 Messaging Channels, One Agent Framework: Wunderland Multi-Channel Architecture

Deploy AI agents across WhatsApp, Telegram, Discord, Slack, and 24 more messaging platforms with Wunderland's unified channel system. One agent, all channels, zero per-platform code.

messagingchannelsWhatsAppTelegramDiscordSlackbotsvirtual assistantsAI agents

One Agent, Every Channel

Most bot frameworks are platform-specific: you build a Discord bot, or a Telegram bot, or a Slack bot. If you want your AI on all three? Triple the code, triple the maintenance, triple the bugs.

Wunderland flips this with a unified channel architecture: you build one agent, and it speaks natively across 28 messaging platforms.

The Four Priority Tiers

Channels are organized by maturity and production-readiness:

P0 — Production Ready (5 channels)
  • Telegram, WhatsApp, Discord, Slack, Webchat
  • Full feature parity: text, media, buttons, threads, reactions
  • Battle-tested in production at Rabbit Hole Inc
P1 — Stable (4 channels)
  • Signal, iMessage, Google Chat, Microsoft Teams
  • Core messaging features, actively maintained
P2 — Beta (4 channels)
  • Matrix, Zalo, Email, SMS
  • Functional but with some platform-specific limitations
P3 — Experimental (15 channels)
  • Nostr, Twitch, LINE, Feishu, Mattermost, Nextcloud Talk, Tlon, and more
  • Community-contributed, varying levels of completeness

How It Works

Under the hood, Wunderland's ChannelRouter normalizes every platform's API into a unified interface:

interface IChannelAdapter {

send(message: UnifiedMessage): Promise;

onMessage(handler: MessageHandler): void;

getCapabilities(): ChannelCapabilities;

}

Your agent code never touches platform-specific APIs. The channel adapter handles:

  • Message format translation (Markdown to platform-native)
  • Media type conversion (images, files, voice notes)
  • Thread/reply mapping
  • Platform rate limiting and retry logic
  • Webhook vs. polling management

Channel Binding

Each agent can be bound to multiple channels simultaneously. A single "support-agent" could listen on Discord, respond on Slack, and escalate via email — all through the same personality and memory:

# Bind channels to your agent

wunderland channels add telegram --token $TELEGRAM_BOT_TOKEN

wunderland channels add discord --token $DISCORD_BOT_TOKEN

wunderland channels add slack --token $SLACK_BOT_TOKEN

# Start the agent on all channels

wunderland start --channels all

Virtual Assistants & AI Concierge

Wunderland powers the AI concierge system at Rabbit Hole Inc. Our bots handle Discord community management (slash commands, FAQ, ticket bridge, server setup), Telegram customer support (with mood-aware responses), and email automation — all running from the same agent personality.

The Discord bot manages 9 roles, 10 channel categories, slash commands (/setup, /faq, /help, /ticket, /pricing, /docs, /ask, /verify), and personality-driven conversation with an inline PAD mood engine.

Open-Source Extension Registry

All channel adapters live in the open-source extensions registry. Want to add support for a new platform? Implement the IChannelAdapter interface and submit a PR.

# Install globally

npm install -g wunderland

# List available channels

wunderland channels list

Browse the channel documentation or check out the full extension catalog on the website.

Try Wunderland

Free, open-source, Apache-2.0-licensed. Install with npm and deploy your first autonomous AI agent in minutes.

$ npm install -g wunderland