Skip to content

Channels

Michael Elliott edited this page Mar 14, 2026 · 2 revisions

Channels

TITAN supports 15 messaging channels.

Always Active

WebChat

Built-in web chat in Mission Control v2. No configuration needed. Supports markdown rendering, typing indicators, and SSE/WebSocket streaming.

Cloud Channels

Discord

{ "channels": { "discord": { "enabled": true, "token": "BOT_TOKEN" } } }

Or set DISCORD_TOKEN env var.

Telegram

{ "channels": { "telegram": { "enabled": true, "token": "BOT_TOKEN" } } }

Slack

{ "channels": { "slack": { "enabled": true, "token": "BOT_TOKEN" } } }

Google Chat

Configure with webhook URL or service account.

LINE

{ "channels": { "line": { "enabled": true, "channelAccessToken": "TOKEN", "channelSecret": "SECRET" } } }

Zulip

{ "channels": { "zulip": { "enabled": true, "site": "https://your-org.zulipchat.com", "email": "bot@your-org.zulipchat.com", "apiKey": "API_KEY" } } }

Self-Hosted Channels

WhatsApp

Via Baileys (WhatsApp Web). QR code pairing on first connect.

{ "channels": { "whatsapp": { "enabled": true } } }

Optional dep: @whiskeysockets/baileys

Matrix

Via matrix-js-sdk. Set MATRIX_HOMESERVER_URL env var.

{ "channels": { "matrix": { "enabled": true, "token": "ACCESS_TOKEN" } } }

Signal

Via signal-cli REST API. Set SIGNAL_API_URL and SIGNAL_NUMBER env vars.

{ "channels": { "signal": { "enabled": true } } }

MS Teams

Via Bot Framework or incoming webhooks.

{ "channels": { "msteams": { "enabled": true, "token": "WEBHOOK_URL" } } }

IRC

Via irc-framework. Supports multiple networks.

{ "channels": { "irc": { "enabled": true, "server": "irc.libera.chat", "nick": "titan-bot", "channels": ["#my-channel"] } } }

Mattermost

Via Mattermost Bot API or webhook.

{ "channels": { "mattermost": { "enabled": true, "url": "https://mattermost.example.com", "token": "BOT_TOKEN" } } }

Lark / Feishu

Via Lark Open Platform bot.

{ "channels": { "lark": { "enabled": true, "appId": "APP_ID", "appSecret": "APP_SECRET" } } }

Email IMAP

Monitors an IMAP inbox and responds via SMTP.

{ "channels": { "email": { "enabled": true, "imap": { "host": "imap.gmail.com", "user": "you@gmail.com", "password": "app-password" }, "smtp": { "host": "smtp.gmail.com", "user": "you@gmail.com", "password": "app-password" } } } }

DM Policies

Each channel supports dmPolicy: pairing (default), open, or closed.

Clone this wiki locally