Skip to content

Channels

NJX-njx edited this page Mar 2, 2026 · 1 revision

Channels

OpenSoul supports 30+ messaging channels through built-in adapters and extension plugins. One Gateway process serves all channels simultaneously.

Supported Channels

Messaging

Channel Type Extension Setup Guide
WhatsApp 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

Collaboration

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

Web + API

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

Voice & Media

Channel Type Description
Voice Call Extension Real-time voice conversations
Audio / Images / Documents Built-in Media support across all channels

Other

Channel Extension
Twitch extensions/twitch
Nostr extensions/nostr
Tlon extensions/tlon
BlueBubbles extensions/bluebubbles

Channel Configuration

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 },
      },
    },
  },
}

Channel Routing

Messages are routed based on:

  1. Channel type — Which channel adapter received the message
  2. Sender — Who sent the message (allowlist filtering)
  3. Context — DM vs group, mention patterns, routing rules
  4. Agent — Which agent/workspace should handle the message

See Architecture for more on the routing system.

Pairing & DM Safety

Unknown DMs receive a shortcode and are held until approved:

opensoul pairing list whatsapp
opensoul pairing approve whatsapp <code>

Media Support

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)

Related Pages

Clone this wiki locally