Skip to main content
Channels are how your AI agent communicates with users on different chat platforms. Each channel connects Comis to a messaging service — Discord, Telegram, Slack, and more — so your agent can send and receive messages where your community already hangs out. One agent can connect to multiple channels at the same time.

Capability comparison

Not sure which channel to connect first? Here’s a quick comparison to help you choose:
ChannelTextVoice messagesMedia (image/video/file)ReactionsThreadsEditDeleteRich formatting
DiscordYesYesYesYesNative (max depth 1)YesYesMarkdown, embeds, buttons, polls
TelegramYesYesYesYesForum topicsYesYesHTML, inline buttons, polls, locations
SlackYesYesYesYesReply chainYesYesmrkdwn, Block Kit, buttons
WhatsAppYesYesYesYesNoneYesYes (own only)Buttons, locations, contacts, polls
SignalYesYesYesYesNoneNoYesSignal text styles
iMessageYesNoYesNoNoneNoNoPlain text
LINEYesYesYesNoNoneNoNoFlex Messages
IRCYesNoNoNoNoneNoNoIRC control codes (bold, color)
EmailYesYes (attachment)YesNoReply chainNoNoHTML
Discord and Telegram have the broadest feature support — they’re great choices if you’re just getting started.

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

PlatformChat TypesStreamingThreadsReactionsEdit / DeleteButtonsFormatting
DiscordDM, group, thread, channel, forumEditNative (max depth 1)YesYes / YesYesMarkdown
TelegramDM, group, channel, forumEditForum topics (native)YesYes / YesYesHTML
SlackDM, group, thread, channelEditReply chainYesYes / YesYesmrkdwn
WhatsAppDM, groupBlockNoYesYes / Yes (own)YesNone
SignalDM, groupBlockNoYesNo / YesNoSignal text styles
iMessageDM, groupNoneNoNoNo / NoNoNone
LINEDM, groupNoneNoNoNo / NoNoFlex Messages
IRCDM, channelNoneNoNoNo / NoNoIRC control codes
EmailDMNoneReply chain (RFC 5322)NoNo / NoNoHTML

Limits

PlatformMax Message LengthMax Attachment Size
Discord2,000 characters25 MB
Telegram4,096 characters50 MB
Slack4,000 characters1,000 MB
WhatsApp65,536 characters100 MB
Signal65,536 characters100 MB
iMessage20,000 characters16 MB
LINE5,000 characters200 MB
IRC512 charactersN/A
Email100,000 charactersN/A
Reading the table: “Edit / Delete” shows whether Comis can edit its own messages and delete them on that platform. “Streaming” describes how live responses appear — see the next section for details. When a response exceeds the max message length, Comis automatically splits it into multiple messages.

Sender allowlists

Every channel supports a per-channel allowFrom 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.
For full details on how delivery works — including typing indicators, retry logic, and pacing — see Delivery Infrastructure.

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.
You can always add more channels later. Your agent’s memory and personality carry across all connected platforms.

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.

WhatsApp

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.

Email

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.