Skip to main content

Overview

Channels enable agents to interact with external platforms like messaging apps, social media, and notification services. OpenFang supports 40 adapters out of the box.

Channel Categories

Messaging (12)

Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Email, LINE, Viber, Messenger, Threema, Keybase

Social (5)

Reddit, Mastodon, Bluesky, LinkedIn, Nostr

Enterprise (10)

Teams, Mattermost, Google Chat, Webex, Feishu, DingTalk, Pumble, Flock, Twist, Zulip

Developer (9)

IRC, XMPP, Gitter, Discourse, Revolt, Guilded, Nextcloud, Rocket.Chat, Twitch

Notifications (4)

ntfy, Gotify, Webhook, Mumble

List Channels

Get all available channel adapters and their configuration status:
GET /api/channels

Configure Channel

Add or update a channel configuration:
POST /api/channels/{name}/configure

Common Fields

string
Default agent to route messages to (by name)
array
Whitelist of user IDs (platform-specific)
array
Whitelist of channel/room IDs

Remove Channel

Delete a channel configuration:
DELETE /api/channels/{name}/configure

Test Channel

Verify a channel configuration by sending a test message:
POST /api/channels/{name}/test

Reload Channels

Hot-reload channel configuration without restarting:
POST /api/channels/reload

WhatsApp QR Login

WhatsApp supports QR code login for personal accounts (no Business API needed).

Start QR Session

POST /api/channels/whatsapp/qr/start

Get QR Status

Poll for QR code and connection status:
GET /api/channels/whatsapp/qr/status
Once scanned:

Messaging Channels

Telegram

Setup: Create a bot with @BotFather

Discord

Setup: Create a bot at discord.com/developers/applications

Slack

Setup: Create an app at api.slack.com/apps with Socket Mode enabled

Email (IMAP/SMTP)

Setup: Use app passwords for Gmail/Outlook

Social Channels

Reddit

Setup: Create an app at reddit.com/prefs/apps (script type)

Bluesky

Setup: Generate an app password in Settings

Enterprise Channels

Microsoft Teams

Setup: Create an Azure Bot registration

Mattermost

Setup: Create a bot in System Console > Bot Accounts

Developer Channels

IRC

Setup: Choose a server and channel

Discourse

Setup: Generate an API key in Admin > API

Notification Channels

ntfy

Setup: Just pick a topic name

Webhook

Setup: Optional HMAC secret for verification

Field Types

Channel configuration fields use these types:
  • secret - Password/token (stored in environment variables)
  • text - Plain text input
  • number - Numeric value (port, interval, etc.)
  • list - Comma-separated list

Security

Never store API keys directly in config.toml. Always use environment variables referenced by *_env fields.

Whitelists

Use allowed_users and allowed_channels to restrict access

HMAC Signing

Webhook channel supports HMAC-SHA256 for payload verification

Environment Variables

All secrets referenced via *_env fields (e.g., bot_token_env)

Audit Trail

Channel events logged to kernel audit trail

Bridge Manager

The bridge manager coordinates all active channel adapters:
  • Hot-reload: Changes apply without restarting
  • Error recovery: Automatic reconnection on failure
  • Message routing: Routes messages to correct agents

Next Steps

Agents API

Route channel messages to agents

Workflows API

Build multi-channel workflows