Skip to main content
OpenFang supports 40+ messaging platforms through channel adapters. Each channel can have custom behavior policies, rate limits, and per-channel model overrides.

Supported Channels

OpenFang supports these messaging platforms:

Core Platforms

Telegram

Popular messaging with bot API

Discord

Gaming and community platform

Slack

Enterprise team communication

WhatsApp

Global messaging leader

Signal

Privacy-focused messaging

Matrix

Decentralized protocol

Email

IMAP/SMTP support

Enterprise

Microsoft Teams

Office 365 integration

Mattermost

Self-hosted Slack alternative

Google Chat

Workspace messaging

Webex

Cisco collaboration

Feishu/Lark

ByteDance workplace

Zulip

Threaded conversations

Social & Community

LINE

Popular in Asia

Viber

Global messaging

Facebook Messenger

Meta platform

Mastodon

Federated social

Bluesky

AT Protocol

Reddit

Community discussions

LinkedIn

Professional network

Twitch

Live streaming chat

Privacy & Open Source

Threema

Swiss privacy messaging

Nostr

Decentralized protocol

Mumble

Low-latency voice

Nextcloud Talk

Self-hosted chat

Rocket.Chat

Open source platform

Ntfy

Push notifications

Gotify

Self-hosted notifications

Legacy & Niche

IRC

Classic protocol

XMPP

Extensible messaging

Guilded

Gaming communities

Revolt

Discord alternative

Keybase

Crypto messaging

Discourse

Forum platform

Gitter

Developer chat

Pumble

Team messaging

Flock

Business messaging

Twist

Async communication

DingTalk

Alibaba workplace

Zalo

Vietnamese messaging

Webhooks

Custom integrations

Quick Setup Examples

Telegram

Setup Steps:
  1. Message @BotFather on Telegram
  2. Send /newbot and follow the prompts
  3. Copy the bot token
  4. Add token to environment variable
  5. Start OpenFang
string
required
Environment variable containing the Telegram bot token
array
List of Telegram user IDs allowed to interact. Empty array = allow all.

Discord

Setup Steps:
  1. Go to Discord Developer Portal
  2. Create a new application
  3. Go to “Bot” section and create a bot
  4. Copy the bot token
  5. Enable “Message Content Intent” in bot settings
  6. Invite bot to your server using OAuth2 URL
string
required
Environment variable containing the Discord bot token
array
List of Discord guild (server) IDs. Empty = respond in all guilds.

Slack

Setup Steps:
  1. Go to Slack API
  2. Create a new app (“From scratch”)
  3. Enable Socket Mode
  4. Add bot token scopes: chat:write, app_mentions:read, channels:history
  5. Install app to workspace
  6. Copy both Bot Token and App Token
string
required
Environment variable containing the Slack bot token (starts with xoxb-)
string
required
Environment variable containing the Slack app token (starts with xapp-)

WhatsApp

Setup Steps:
  1. Go to Meta for Developers
  2. Create a new app with WhatsApp product
  3. Get phone number ID from WhatsApp API settings
  4. Generate a permanent access token
  5. Configure webhook with your verify token

Channel Behavior Policies

Each channel can have custom behavior policies:

DM Policy

enum
default:"respond"
How to handle direct messages:
  • respond: Reply to all DMs
  • allowed_only: Only reply to users in allowed list
  • ignore: Ignore all DMs

Group Policy

enum
default:"mention_only"
How to handle group messages:
  • all: Respond to all messages in group
  • mention_only: Only respond when @mentioned
  • commands_only: Only respond to slash commands
  • ignore: Ignore all group messages

Rate Limiting

integer
default:"10"
Maximum messages per user per minute. Set to 0 for unlimited.

Output Formatting

enum
Format of agent responses:
  • markdown: Standard Markdown (default)
  • telegram_html: Telegram HTML subset
  • slack_mrkdwn: Slack’s mrkdwn format
  • plain_text: No formatting

Per-Channel Model Override

Use different models for different channels:

Advanced Channel Configuration

Discord with Custom Intents

Slack with Socket Mode

Telegram with Allowed Users

Matrix with Encryption

Email Channel (IMAP/SMTP)

Webhook Channel

Trigger agents via HTTP:

Typing Indicators

Show “typing…” indicators while agent is thinking:

Multi-Channel Agent

Configure an agent to work across multiple channels:

Channel Health Check

Verify channel connectivity:

Troubleshooting

Bot Not Responding

  1. Check token: echo $TELEGRAM_BOT_TOKEN
  2. Verify permissions: Ensure bot has required scopes
  3. Check logs: openfang logs --follow
  4. Test connection: openfang channels test telegram

Rate Limit Errors

Adjust per-user rate limits:

Group Messages Ignored

Ensure group policy allows responses:

Permission Errors (Discord)

Enable required intents in Discord Developer Portal:
  • Message Content Intent
  • Guild Members Intent (for user info)

Next Steps

Security Settings

Configure authentication and rate limiting

Model Configuration

Setup LLM providers and routing