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
| Channel | Connection Method | Media Support |
|---|---|---|
| WebChat | Built-in (always available) | Text, images, files |
| Telegram | Bot API token | Text, images, audio, video, files, stickers |
| Discord | Bot token | Text, images, files |
| Slack | Socket Mode (App + Bot tokens) | Text, images, files |
| Business Cloud API | Text, images, audio, video, files, stickers | |
| IMAP/SMTP | Text, HTML, file attachments | |
| Microsoft Teams | Bot Framework | Text, images, files |
| Signal | signal-cli REST bridge | Text, images, files |
| Matrix | Matrix SDK | Text, images, files |
| SMS | Twilio | Text only |
| Mattermost | Bot account (server URL + token) | Text (image captions) |
| IRC | Raw IRC over TCP | Text only |
| Google Chat | Chat API (service account) | Text (image captions) |
| LINE | Messaging API | Text (image captions) |
| Feishu / Lark | Custom app (App ID + Secret) | Text (image captions) |
| iMessage | BlueBubbles server | Text only |
| Nostr | Relays (key pair) | Text only |
How Channels Work
- Add a channel via the Dashboard or CLI
- Configure credentials (API tokens, OAuth, etc.)
- Test the connection to verify everything works
- 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:
| Limit | Value |
|---|---|
| Max file size | 25 MB |
| Max files per message | 10 |
| Supported types | Images (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.
Service Connections Catalog
Supported OAuth and API-key services, with scopes, setup notes, and the tools each one enables.
Group Chats: Mentions, Debounce & Reply ContextNEW
Control when the agent responds in group conversations — mention gating, group allowlists, inbound message debouncing, and reply/quote context.