-
Notifications
You must be signed in to change notification settings - Fork 5
Channels
NJX-njx edited this page Mar 2, 2026
·
1 revision
OpenSoul supports 30+ messaging channels through built-in adapters and extension plugins. One Gateway process serves all channels simultaneously.
| Channel | Type | Extension | Setup Guide |
|---|---|---|---|
| Built-in | — | WhatsApp Setup | |
| Telegram | Built-in | — | Telegram Setup |
| Signal | Extension | extensions/signal |
Signal Setup |
| iMessage | Extension | extensions/imessage |
iMessage Setup |
| Matrix | Extension | extensions/matrix |
Matrix Setup |
| Mattermost | Extension | extensions/mattermost |
Mattermost Setup |
| Zalo | Extension | extensions/zalo |
Zalo Setup |
| Channel | Type | Extension | Setup Guide |
|---|---|---|---|
| Slack | Extension | extensions/slack |
Slack Setup |
| Discord | Extension | extensions/discord |
Discord Setup |
| Microsoft Teams | Extension | extensions/msteams |
Teams Setup |
| Feishu (Lark) | Extension | extensions/feishu |
Feishu Setup |
| LINE | Extension | extensions/line |
LINE Setup |
| Google Chat | Extension | extensions/googlechat |
Google Chat Setup |
| Nextcloud Talk | Extension | extensions/nextcloud-talk |
Nextcloud Talk Setup |
| Channel | Type | Description |
|---|---|---|
| Web Control UI | Built-in | Browser dashboard at http://<host>:18789/
|
| WebChat | Built-in | Static chat UI using Gateway WS API |
| REST API | Built-in | HTTP API for programmatic access |
| WebSocket | Built-in | Real-time streaming API |
| Channel | Type | Description |
|---|---|---|
| Voice Call | Extension | Real-time voice conversations |
| Audio / Images / Documents | Built-in | Media support across all channels |
| Channel | Extension |
|---|---|
| Twitch | extensions/twitch |
| Nostr | extensions/nostr |
| Tlon | extensions/tlon |
| BlueBubbles | extensions/bluebubbles |
Each channel can be configured in ~/.opensoul/opensoul.json:
{
channels: {
whatsapp: {
allowFrom: ["+15555550123"],
groups: {
"*": { requireMention: true },
},
},
telegram: {
allowFrom: ["username1"],
groups: {
"*": { requireMention: true },
},
},
discord: {
guilds: {
"*": { requireMention: true },
},
},
},
}Messages are routed based on:
- Channel type — Which channel adapter received the message
- Sender — Who sent the message (allowlist filtering)
- Context — DM vs group, mention patterns, routing rules
- Agent — Which agent/workspace should handle the message
See Architecture for more on the routing system.
Unknown DMs receive a shortcode and are held until approved:
opensoul pairing list whatsapp
opensoul pairing approve whatsapp <code>Most channels support:
- Images — Send and receive photos
- Audio — Voice messages and audio files
- Documents — PDF, text, and other file types
- Location — Location sharing (where supported)
- Configuration — Full config reference
- Getting Started — Quick setup
- Troubleshooting — Channel issues
OpenSoul — Your AI Soul Companion | MIT License | Documentation
Getting Started
Core Concepts
Usage
Development
Links