Channel Adapters Registry
Channel adapters connect LibreFang agents to external messaging platforms. Each adapter in this directory is a flat .toml file describing the platform, its communication protocol, and any credentials required to operate.
Once a channel is configured, agents can receive messages from and send messages to that platform without any code changes — the adapter handles protocol translation.
File Format
Each channel is a single .toml file. The filename (without .toml) must match the id field.
Protocol Reference
| Protocol |
Description |
bot-api |
Platform-specific bot HTTP API (e.g. Telegram Bot API) |
websocket |
Long-lived WebSocket connection (e.g. Slack RTM, Discord Gateway) |
webhook |
Agent receives POST requests from the platform |
rest-api |
Polling or push via generic HTTP REST |
imap |
Email protocols (IMAP for receive, SMTP for send) |
irc |
Internet Relay Chat protocol |
matrix |
Matrix client-server API |
mqtt |
MQTT pub/sub protocol for IoT messaging |
xmpp |
Extensible Messaging and Presence Protocol |
Configuring a Channel
All Channel Adapters (45 total)
Messaging
| ID |
Name |
Protocol |
Description |
| discord |
Discord |
websocket |
Discord bot adapter for sending and receiving messages in Discord servers and channels |
| email |
Email |
imap |
Email adapter for sending and receiving messages via SMTP and IMAP protocols |
| irc |
IRC |
irc |
IRC adapter for connecting to Internet Relay Chat networks and channels |
| keybase |
Keybase |
rest-api |
Keybase adapter for encrypted messaging via the Keybase chat API |
| line |
LINE |
webhook |
LINE Messaging API adapter for sending and receiving messages on the LINE platform |
| matrix |
Matrix |
matrix |
Matrix adapter for decentralized messaging via the Matrix client-server API |
| messenger |
Facebook Messenger |
webhook |
Facebook Messenger adapter for sending and receiving messages via the Messenger Platform |
| nostr |
Nostr |
websocket |
Nostr adapter for publishing and reading events on the Nostr decentralized protocol |
| qq |
QQ |
websocket |
QQ bot adapter for messaging within Tencent QQ groups and channels |
| signal |
Signal |
rest-api |
Signal adapter for secure end-to-end encrypted messaging via Signal CLI |
| telegram |
Telegram |
bot-api |
Telegram Bot API adapter for sending and receiving messages |
| threema |
Threema |
rest-api |
Threema Gateway adapter for secure messaging via the Threema platform |
| viber |
Viber |
webhook |
Viber bot adapter for sending and receiving messages via the Viber Bot API |
| wechat |
WeChat |
rest-api |
WeChat Official Account adapter for messaging on the WeChat platform |
| whatsapp |
WhatsApp |
rest-api |
WhatsApp Business API adapter for sending and receiving messages on WhatsApp |
| xmpp |
XMPP |
xmpp |
XMPP adapter for messaging via the Extensible Messaging and Presence Protocol |
Enterprise
| ID |
Name |
Protocol |
Description |
| dingtalk |
DingTalk |
webhook |
DingTalk bot adapter for sending messages to DingTalk groups and conversations |
| feishu |
Feishu (Lark) |
webhook |
Feishu (Lark) bot adapter for messaging within the Feishu collaboration platform |
| flock |
Flock |
webhook |
Flock bot adapter for team messaging and notifications in Flock workspaces |
| google_chat |
Google Chat |
webhook |
Google Chat adapter for sending messages and cards to Google Workspace conversations |
| guilded |
Guilded |
websocket |
Guilded bot adapter for messaging in Guilded servers and channels |
| mattermost |
Mattermost |
websocket |
Mattermost adapter for team messaging and notifications in Mattermost workspaces |
| pumble |
Pumble |
webhook |
Pumble adapter for team messaging and notifications in Pumble workspaces |
| rocketchat |
Rocket.Chat |
rest-api |
Rocket.Chat adapter for messaging in self-hosted Rocket.Chat instances |
| slack |
Slack |
websocket |
Slack bot adapter for sending and receiving messages in Slack workspaces |
| teams |
Microsoft Teams |
webhook |
Microsoft Teams adapter for messaging and notifications in Teams channels |
| twist |
Twist |
rest-api |
Twist adapter for async team communication in Twist workspaces |
| webex |
Cisco Webex |
webhook |
Cisco Webex adapter for messaging and notifications in Webex spaces |
| wecom |
WeCom (WeChat Work) |
webhook |
WeCom (WeChat Work) adapter for enterprise messaging within WeCom organizations |
| zulip |
Zulip |
rest-api |
Zulip adapter for topic-based team messaging in Zulip organizations |
Social
| ID |
Name |
Protocol |
Description |
| bluesky |
Bluesky |
rest-api |
Bluesky AT Protocol adapter for posting and reading from the decentralized social network |
| linkedin |
LinkedIn |
rest-api |
LinkedIn adapter for posting updates and messages via the LinkedIn API |
| mastodon |
Mastodon |
rest-api |
Mastodon adapter for posting toots and reading timelines on Mastodon instances |
| reddit |
Reddit |
rest-api |
Reddit adapter for posting and reading content via the Reddit API |
| twitch |
Twitch |
irc |
Twitch adapter for reading and sending messages in Twitch stream chats |
Developer
| ID |
Name |
Protocol |
Description |
| discourse |
Discourse |
rest-api |
Discourse forum adapter for posting topics and replies via the Discourse API |
| gitter |
Gitter |
rest-api |
Gitter adapter for developer chat rooms linked to GitHub repositories |
| revolt |
Revolt |
websocket |
Revolt adapter for messaging in the open-source Revolt chat platform |
| webhook |
Webhook |
webhook |
Generic webhook adapter for sending and receiving messages via HTTP callbacks |
IoT / Self-Hosted
| ID |
Name |
Protocol |
Description |
| gotify |
Gotify |
rest-api |
Gotify adapter for sending push notifications to a self-hosted Gotify server |
| mqtt |
MQTT |
mqtt |
MQTT adapter for publishing and subscribing to messages on MQTT brokers |
| mumble |
Mumble |
websocket |
Mumble adapter for text messaging in Mumble voice communication servers |
| nextcloud |
Nextcloud Talk |
rest-api |
Nextcloud Talk adapter for messaging within self-hosted Nextcloud instances |
| ntfy |
ntfy |
rest-api |
ntfy adapter for sending push notifications via the ntfy pub-sub service |
Adding a New Channel Adapter
- Create
channels/<name>.toml — the filename must match the id field.
- Set
category to one of: messaging, enterprise, social, developer, iot.
- Set
protocol to the appropriate value from the Protocol Reference table above.
- Add
[metadata] with url and docs links.
- Add
[i18n.*] blocks for supported locales.
- Run
python scripts/validate.py.
- Submit a PR.
See CONTRIBUTING.md for the full guide.