OpenAgent
Features

Channels

Deploy your agents across 20+ messaging platforms.

Channels

OpenAgent's multi-channel gateway lets you deploy a single agent to multiple messaging platforms simultaneously. Configure once — reach users on Telegram, Discord, Slack, WhatsApp, and more.

Supported Channels

Messaging Platforms

ChannelStatusFeatures
Telegram✓ StableText, images, voice, inline buttons
Discord✓ StableText, embeds, slash commands
Slack✓ StableText, blocks, slash commands
WhatsApp✓ StableText, images, voice messages
Signal✓ StableText, attachments
Microsoft Teams✓ StableText, adaptive cards
Matrix✓ StableText, files, encryption
LINE✓ StableText, rich messages
Feishu (Lark)✓ StableText, cards
WeChatBetaText
Mattermost✓ StableText, files
IRC✓ StableText
NostrBetaText

Built-in Channels

ChannelDescription
Web Chat WidgetEmbeddable widget for any website
REST APIDirect HTTP API for custom integrations

How the Gateway Works

Telegram ──┐
Discord  ──┤
Slack    ──┤──► Gateway ──► Agent ──► Response
WhatsApp ──┤              (routing logic)
Web Chat ──┘

Each incoming message passes through the gateway, which:

  1. Authenticates the incoming webhook or connection
  2. Normalizes the message format (each platform has a different format)
  3. Routes the message to the configured agent
  4. Formats the agent's response for the target platform's capabilities
  5. Sends the formatted response back

Because the gateway normalizes messages, your agent logic is identical regardless of which channel the user is on.

Connecting a Channel

Create a bot — message @BotFather on Telegram:

/newbot
My Agent Bot
myagentbot

BotFather returns a token like 7123456789:AAEabc...

Configure in OpenAgent — go to Channels → Add Channel → Telegram, enter the token.

Set webhook — OpenAgent automatically sets the webhook URL on your bot. If you're running locally, use a tool like ngrok to expose your instance:

ngrok http 14000

Then update the webhook URL in the channel settings.

Test — message your bot on Telegram.

Create a Discord application at discord.com/developers/applications.

Add a Bot — in your application, go to Bot → Add Bot. Enable:

  • Message Content Intent (required to read messages)
  • Server Members Intent (optional, for member info)

Copy the bot token.

Configure in OpenAgent — go to Channels → Add Channel → Discord, paste the token.

Invite the bot — use the OAuth2 URL Generator with scopes bot and applications.commands. Invite the bot to your server.

Create a Slack App at api.slack.com/apps. Choose From scratch.

Configure Bot Token Scopes under OAuth & Permissions:

  • chat:write
  • im:read
  • im:history
  • app_mentions:read

Install to workspace and copy the Bot User OAuth Token (xoxb-...).

Enable Event Subscriptions and set the Request URL to:

https://your-openagent-instance.com/api/channel/slack/events

Configure in OpenAgent — paste the Bot Token and Signing Secret.

WhatsApp integration uses the WhatsApp Business API via Meta.

Create a Meta for Developers account and set up a WhatsApp Business app.

Generate a Permanent Access Token and note your Phone Number ID.

Configure the webhook URL in Meta:

https://your-openagent-instance.com/api/channel/whatsapp/webhook

Configure in OpenAgent — enter the Access Token, Phone Number ID, and Webhook Verify Token.

WhatsApp Business API requires Meta approval for production use. Test numbers are available immediately in Meta's developer console.

The web chat widget requires no external platform setup.

Go to Channels → Add Channel → Web Chat.

Configure appearance settings (theme color, welcome message, placeholder text).

Copy the embed code and add it to your website's HTML:

<script
  src="https://your-openagent-instance.com/widget.js"
  data-agent-id="agent_xxxx"
  defer
></script>

The chat widget appears in the bottom-right corner of your page.

Agent-to-Channel Routing

One agent can serve multiple channels. One channel can only be connected to one agent. Use the Agent field when creating a channel to specify which agent handles messages from that channel.

Agent A ─────── Telegram Bot (Customer Support)
         └───── Slack App   (Customer Support)

Agent B ─────── Discord Bot (Community Q&A)
         └───── Web Chat    (Homepage Widget)

Channel-Specific Features

Some channels support rich formatting that the agent can use:

FeatureTelegramDiscordSlack
MarkdownPartial
Code blocks
Images
Inline buttons
File attachments
Voice messagesInput only

OpenAgent automatically adapts the agent's response format to the channel's capabilities. Markdown is stripped for channels that don't support it.

On this page