Capability comparison
Not sure which channel to connect first? Here’s a quick comparison to help you choose:| Channel | Text | Voice messages | Media (image/video/file) | Reactions | Threads | Edit | Delete | Rich formatting |
|---|---|---|---|---|---|---|---|---|
| Discord | Yes | Yes | Yes | Yes | Native (max depth 1) | Yes | Yes | Markdown, embeds, buttons, polls |
| Telegram | Yes | Yes | Yes | Yes | Forum topics | Yes | Yes | HTML, inline buttons, polls, locations |
| Slack | Yes | Yes | Yes | Yes | Reply chain | Yes | Yes | mrkdwn, Block Kit, buttons |
| Yes | Yes | Yes | Yes | None | Yes | Yes (own only) | Buttons, locations, contacts, polls | |
| Signal | Yes | Yes | Yes | Yes | None | No | Yes | Signal text styles |
| iMessage | Yes | No | Yes | No | None | No | No | Plain text |
| LINE | Yes | Yes | Yes | No | None | No | No | Flex Messages |
| IRC | Yes | No | No | No | None | No | No | IRC control codes (bold, color) |
| Yes | Yes (attachment) | Yes | No | Reply chain | No | No | HTML |
How channels work
When you enable a channel, Comis starts a channel adapter that handles all the platform-specific details: logging in with your credentials, receiving incoming messages, and sending replies in the format each platform expects. You provide the credentials (a bot token, API key, or phone number depending on the platform), and Comis does the rest. Your agent does not need to know which platform a message came from — it just sees text, images, and files. The adapter translates everything into a common format, so the same agent can hold a conversation on Discord and Telegram without any extra configuration. Each adapter also handles platform-specific features automatically:- Message splitting — If a response is too long for the platform, Comis splits it into multiple messages at natural break points (paragraphs, sentences, or code blocks).
- Format conversion — Your agent writes Markdown. Comis converts it to HTML for Telegram, mrkdwn for Slack, or plain text for platforms that do not support formatting.
- Media processing — When a user sends an image, voice message, or document, Comis can transcribe, analyze, or extract text from it before passing it to your agent.
- Typing indicators — While your agent is thinking, Comis shows a typing indicator on platforms that support it, so users know a response is coming.
Platform comparison
The table below shows what each platform supports. Use it to pick the right channel for your use case, or to understand the differences when connecting multiple platforms.Features
| Platform | Chat Types | Streaming | Threads | Reactions | Edit / Delete | Buttons | Formatting |
|---|---|---|---|---|---|---|---|
| Discord | DM, group, thread, channel, forum | Edit | Native (max depth 1) | Yes | Yes / Yes | Yes | Markdown |
| Telegram | DM, group, channel, forum | Edit | Forum topics (native) | Yes | Yes / Yes | Yes | HTML |
| Slack | DM, group, thread, channel | Edit | Reply chain | Yes | Yes / Yes | Yes | mrkdwn |
| DM, group | Block | No | Yes | Yes / Yes (own) | Yes | None | |
| Signal | DM, group | Block | No | Yes | No / Yes | No | Signal text styles |
| iMessage | DM, group | None | No | No | No / No | No | None |
| LINE | DM, group | None | No | No | No / No | No | Flex Messages |
| IRC | DM, channel | None | No | No | No / No | No | IRC control codes |
| DM | None | Reply chain (RFC 5322) | No | No / No | No | HTML |
Limits
Sender allowlists
Every channel supports a per-channelallowFrom list. When non-empty, only the
listed sender IDs can talk to the bot; everyone else is silently dropped before
the agent runs. An empty list (the default) accepts everyone.
Email goes one step further with an allowMode setting (allowlist by default,
or open to accept all senders) plus automatic filtering of automated mailers
(addresses like noreply@, messages with Auto-Submitted or List-Unsubscribe
headers). See the Email page for details.
allowFrom controls access; to run one install for several people - keeping
each person private and deciding who shares an assistant versus who gets their
own isolated agent - see Multiple users and teams.
Streaming methods
Comis supports three ways to deliver responses as they are generated:- Edit streaming (Discord, Telegram, Slack) — Comis sends an initial message and continuously edits it with new text as the AI generates more. This creates a “live typing” effect similar to ChatGPT. Each platform has its own edit throttle (500 ms for Discord, 300 ms for Telegram, 400 ms for Slack) to stay within rate limits.
- Block streaming (WhatsApp, Signal) — Comis sends each block as a separate message as the agent generates it. You see multiple messages arriving in sequence. This works well on platforms that do not support message editing. WhatsApp throttles at 600 ms; Signal at 500 ms.
- No streaming (iMessage, LINE, IRC, Email) — Comis waits for the full response and sends it as a single message (or splits it if the response exceeds the platform limit). This is the simplest mode and works everywhere.
Choosing the right platform
Not sure which channel to start with? Here are some common scenarios:- Community server or workspace — Use Discord or Slack. Both support threads, reactions, buttons, and live-streaming responses, making them ideal for interactive group conversations.
- Mobile-first messaging — Use Telegram or WhatsApp. Both are widely used on phones and support buttons for interactive workflows.
- Privacy-focused — Use Signal. Messages are end-to-end encrypted, and the Signal adapter communicates through a local signal-cli daemon that you control.
- macOS personal assistant — Use iMessage. Your agent appears as a regular iMessage contact on your Mac.
- Legacy or lightweight — Use IRC. Minimal resource usage, works with any IRC network, and supports TLS for secure connections.
- Asynchronous communication — Use Email. Your agent monitors an inbox via IMAP and replies via SMTP. Good for workflows where responses do not need to be instant, or for integrating with systems that communicate via email.
Getting started
Pick the platform you want to connect and follow the step-by-step setup guide. Each guide walks you through creating the required credentials and configuring Comis, from account creation to your first message. If you have not installed Comis yet, start with the Quickstart.Discord
Servers, DMs, threads, buttons, embeds, and live-streaming responses.
Telegram
Bots, groups, channels, forum topics, inline buttons, and HTML formatting.
Slack
Workspaces, channels, threads, Socket Mode or HTTP, and mrkdwn.
Personal and group chats with QR code pairing and large file support.
Signal
Private messaging with end-to-end encryption via signal-cli.
iMessage
macOS-only Apple iMessage integration for DMs and group chats.
LINE
LINE Messaging API with webhook-based message delivery and Flex formatting.
IRC
Classic IRC with TLS, NickServ auth, and multi-channel support.
IMAP/SMTP email integration with OAuth2, threading, and sender filtering.
Delivery Infrastructure
How streaming, typing indicators, retry logic, and message pacing work.
Multiple users & teams
Run one install for a whole team - private per person, isolated per agent.
