Saltar al contenido principal

Channels Overview

Channels let your AI bots communicate through external messaging platforms. Instead of chatting only through the AISCouncil web interface, you can connect a bot to WhatsApp, Telegram, Discord, Slack, and 18 other platforms -- so people can message your bot on the platform they already use.

How It Works

  1. You create a social account for a platform (e.g., a Telegram bot token)
  2. You assign which bots are allowed to respond through that account
  3. Messages from the platform are routed to the assigned bot
  4. The bot's response is sent back through the platform

Accounts are stored locally in IndexedDB. Credentials never leave your device unless the platform requires a server connection.

Supported Platforms

PlatformConnection MethodNotes
WhatsAppQR codeFull E2EE via Noise XX + Signal Double Ratchet
WA BusinessAPI tokenMeta Business API (phone number ID + access token)
TelegramBot tokenBotFather token, optional chat ID filter
DiscordBot tokenDiscord bot token
SlackApp + Bot tokensSlack app token + bot token
SignalBridge serverRequires a Signal bridge (e.g., signal-cli-rest-api)
MatrixHomeserver + tokenAny Matrix homeserver, access token auth
BlueBubblesServer URLiMessage bridge via BlueBubbles server
Google ChatService accountGoogle Workspace service account JSON
Feishu / LarkApp credentialsApp ID + secret + verification token
MattermostServer + tokenSelf-hosted Mattermost, personal access token
Microsoft TeamsOAuthAzure AD app registration (app ID, password, tenant)
LINEChannel tokenLINE Messaging API channel token + secret
Nextcloud TalkServer + tokenNextcloud instance URL + app password
NostrPrivate keyNostr private key + relay URL
TlonBridgeTlon/Urbit bridge URL + ship ID
TwitchOAuth tokenTwitch bot OAuth token + client ID
ZaloAPI tokenZalo Official Account token
Zalo PersonalQR codePersonal Zalo via bridge
WebChatNoneEmbeddable web widget (no external service)
iMessageBridgeRequires macOS bridge (e.g., BlueBubbles)

Account-Based Architecture

Channels use an account-based model, not a per-bot model. You create social accounts independently, then assign bots to them:

Account: "My Telegram Bot"     ───► Bot: "Claude Assistant"
(platform: telegram) Bot: "GPT Researcher"
(token: 123456:ABC...)

Account: "Company Slack" ───► Bot: "Support Bot"
(platform: slack)
(appToken, botToken)
  • An account with an empty bot list allows all bots to respond
  • An account with specific bots listed only routes messages to those bots
  • Multiple accounts on the same platform are supported (e.g., two Telegram bots)

Setting Up a Channel

  1. Open Settings > Connectors
  2. Click Add Account
  3. Choose a platform from the list
  4. Fill in the required credentials (varies by platform)
  5. Optionally restrict which bots can respond through this account
  6. Click Connect

The account appears in the connectors list with a status indicator (connected, disconnected, or error).

Per-Bot Permissions

Each social account has a bots array that controls which bots can respond through it:

  • Empty array ([]) -- all bots are allowed (default)
  • Specific IDs -- only listed bots can respond

This lets you run different bots on different channels. For example, a customer support bot on Slack and a research assistant on Telegram.

Message Storage

Channel messages are stored locally in IndexedDB, separate from the main chat history. Each account stores up to 1,000 messages. Messages are visible in the channel's conversation view within Settings.

WhatsApp E2EE

The WhatsApp adapter is the most sophisticated channel implementation. It runs a pure browser-based WhatsApp Web protocol with full end-to-end encryption:

  • Noise XX handshake with X25519 ephemeral keys for initial connection
  • Signal Double Ratchet for forward secrecy on every message
  • Protobuf codec for WhatsApp's binary message format
  • QR code pairing to link your WhatsApp account
  • Prekey rotation (30 prekeys, refill at 5 remaining)

No external bridge or server is required for WhatsApp -- the browser connects directly using WebSocket (with an optional relay proxy fallback at api.aiscouncil.net/v1/ws/whatsapp).

See WhatsApp Setup for the full setup guide.

Connection Methods

Different platforms use different authentication methods:

MethodPlatformsHow It Works
QR codeWhatsApp, Zalo PersonalScan a QR code displayed in the app
TokenTelegram, Discord, Zalo, Twitch, LINEPaste a bot/API token
Server + tokenMatrix, Mattermost, Nextcloud, BlueBubblesServer URL + access token
OAuthGoogle Chat, Microsoft TeamsOAuth flow with app credentials
BridgeSignal, iMessage, TlonExternal bridge server URL
KeyNostrCryptographic private key
NoneWebChatBuilt-in web widget, no external service

Next Steps