Sophon Docs
Channels

Channels Overview

Connect Sophon to messaging platforms and communication services.

Channels are the communication bridges between Sophon and the outside world. Each channel adapter normalizes platform-specific messages into Sophon's universal SophonMessage format, so your agent behaves consistently regardless of where a conversation originates.

Supported Channels

ChannelConnection MethodMedia Support
WebChatBuilt-in (always available)Text, images, files
TelegramBot API tokenText, images, audio, video, files, stickers
DiscordBot tokenText, images, files
SlackSocket Mode (App + Bot tokens)Text, images, files
WhatsAppBusiness Cloud APIText, images, audio, video, files, stickers
EmailIMAP/SMTPText, HTML, file attachments
Microsoft TeamsBot FrameworkText, images, files
Signalsignal-cli REST bridgeText, images, files
MatrixMatrix SDKText, images, files
SMSTwilioText only
MattermostBot account (server URL + token)Text (image captions)
IRCRaw IRC over TCPText only
Google ChatChat API (service account)Text (image captions)
LINEMessaging APIText (image captions)
Feishu / LarkCustom app (App ID + Secret)Text (image captions)
iMessageBlueBubbles serverText only
NostrRelays (key pair)Text only

How Channels Work

  1. Add a channel via the Dashboard or CLI
  2. Configure credentials (API tokens, OAuth, etc.)
  3. Test the connection to verify everything works
  4. Activate the channel to start receiving messages

When a message arrives on any channel, the adapter converts it to a SophonMessage and routes it to the configured agent. The agent's response is converted back to the platform's native format and sent through the same channel.

Agent Routing

Each channel can be routed to a specific agent. When set to the default agent, Sophon's AgentRouter can automatically dispatch messages to the most appropriate agent based on content.

Configure routing per channel in the Dashboard under Channels > [channel name] > Routing, or in channels.json:

{
  "routing": {
    "agentId": "default",
    "dmBehavior": "main-session",
    "groupBehavior": "mention-only"
  }
}

Routing also controls group behavior: each channel has a group policy (mention-only by default on Pro/Enterprise — Personal-tier instances respond to all group messages — plus all-messages, disabled, and an allowlist mode with a per-channel list of allowed groups). See Group Chats: Mentions, Debounce & Reply Context for policies and mention triggers.

On platforms with threads (Slack threads, Discord forum posts, Telegram forum topics, and more), each thread gets its own isolated session — separate history and context from the main channel. See Threads & Sessions.

Message Handling

A few behaviors apply to inbound messages:

  • Rapid bursts are debounced — on every channel, several messages sent in quick succession coalesce into a single agent turn, so the agent replies once with full context. See Group Chats.
  • Replies and quotes carry context — on supported channels, when someone replies to or quotes an earlier message, the quoted author and text are passed to the agent. See the support matrix in Group Chats.
  • Inbound media is pre-digested to text — on every channel, images, audio, and video are converted into text the agent can reason over. See Media Understanding.

Attachment Limits

Sophon enforces per-channel attachment limits to prevent abuse:

LimitValue
Max file size25 MB
Max files per message10
Supported typesImages (PNG, JPG, WEBP, GIF), Audio (MP3, WAV, OGG), Video (MP4, WEBM), Documents (PDF, DOCX, XLSX, CSV, TXT)

Files received through any channel are automatically processed by the Document Pipeline when applicable.