Messaging Gateway

26 messaging platforms across 5 categories — 22 built-in, 4 plugins. 4 support voice.

26
Total Platforms
5
Categories
22
Built-in
9
Top Rated ★4+
📱 Consumer Messaging

Telegram

Built-in
★★★★★

The most popular Hermes gateway platform. Full feature support — voice messages, images, files, threads, typing indicators, and streaming. Set up via @BotFather in 2 minutes.

VoiceImagesFilesThreadsTypingStreaming
Setup guide
Message @BotFather on Telegram → /newbot → choose name/username → paste token into `TELEGRAM_TOKEN` env var → `hermes gateway start`
Auth: Bot token from @BotFather
Env vars: TELEGRAM_TOKEN
Bot token must be kept secret. Group sessions are isolated per-user by default. Use `TELEGRAM_ALLOWED_USERS` to restrict access.
📱 Consumer Messaging

Discord

Built-in
★★★★★

Most feature-rich adapter with voice channel support, message reactions, and comprehensive permission controls. The largest adapter file (247KB) reflects its capability depth.

VoiceImagesFilesThreadsReactionsTypingStreamingSlash Commands
Setup guide
Discord Developer Portal → New Application → Bot → Add Bot → copy token → enable Message Content Intent → set `DISCORD_TOKEN` → invite bot with OAuth2 URL → `hermes gateway start`
Auth: Bot token from Discord Developer Portal
Env vars: DISCORD_TOKEN
Requires Message Content Intent in Discord Developer Portal. By default only responds when @mentioned in server channels. Use `DISCORD_FREE_RESPONSE_CHANNELS` for no-mention mode.
📱 Consumer Messaging

Slack

Built-in
★★★★☆

Full enterprise messaging integration with voice, images, threads, reactions, and typing. Uses Socket Mode for real-time WebSocket communication.

VoiceImagesFilesThreadsReactionsTypingStreaming
Setup guide
api.slack.com/apps → Create App → Bot Token Scopes → Install to Workspace → enable Socket Mode → copy Bot Token and App Token → set env vars → `hermes gateway start`
Auth: Slack App Bot Token (xoxb-) + App-Level Token (xapp-)
Env vars: SLACK_BOT_TOKEN, SLACK_APP_TOKEN
Requires both Bot Token and App Token. Subscribe to `message.channels` event for public channel support. `DISCORD_FREE_RESPONSE_CHANNELS` equivalent is `SLACK_FREE_RESPONSE_CHANNELS`.
📱 Consumer Messaging

WhatsApp

Built-in
★★★☆☆

Unofficial WhatsApp Web bridge via Baileys — QR code pairing, no Business API needed. Supports images, files, typing, and streaming.

ImagesFilesTypingStreaming
Setup guide
Enable WhatsApp in config.yaml → `hermes gateway start` → scan QR code with WhatsApp → bot is connected. Requires Node.js v18+ for the bridge process.
Auth: QR code pairing (WhatsApp Web emulation)
Unofficial bridge carries account ban risk. Use a dedicated phone number (not personal). Periodically breaks when WhatsApp updates its Web protocol. Requires Node.js v18+ and npm.
📱 Consumer Messaging

Signal

Built-in
★★★☆☆

Most privacy-focused option with end-to-end encryption. Requires external signal-cli daemon running in HTTP mode. Built-in rate limiting.

ImagesFilesTypingStreamingE2E Encryption
Setup guide
Install signal-cli → `signal-cli -u +PHONE link -n "hermes"` → scan QR → run signal-cli in HTTP mode → configure `platforms.signal.extra.http_url` in config.yaml → `hermes gateway start`
Auth: signal-cli linked as secondary device (QR scan)
Requires external Java-based signal-cli daemon. Must stay connected 24/7. No voice or reactions support.
📱 Consumer Messaging

BlueBubbles (iMessage)

Built-in
★★★☆☆

iMessage bridge via BlueBubbles server running on a Mac. Supports text, images, and files through Apple's iMessage protocol.

ImagesFiles
Setup guide
Install BlueBubbles server on a Mac → set server URL and password → configure `platforms.bluebubbles.extra.server_url` and password in config.yaml → `hermes gateway start`
Auth: BlueBubbles server URL + password
Requires a Mac running BlueBubbles server 24/7. Not a direct Apple API integration — depends on BlueBubbles project stability.
🏢 Enterprise / Team

Slack (Enterprise)

Built-in
★★★★☆

Enterprise Slack integration with Socket Mode. Full feature parity for team communication — threads, reactions, and channel management.

VoiceImagesFilesThreadsReactionsTypingStreaming
Setup guide
See Slack entry in Consumer category. Enterprise features use the same setup.
Auth: Slack Bot Token + App Token
Env vars: SLACK_BOT_TOKEN, SLACK_APP_TOKEN
Enterprise Grid instances may have additional permissions required.
🏢 Enterprise / Team

Mattermost

Built-in
★★★☆☆

Self-hosted enterprise chat alternative to Slack. Uses webhooks and REST API for communication. Good for organizations that self-host.

ImagesFilesThreads
Setup guide
Set up Mattermost server → create bot account → generate token → configure `platforms.mattermost.token` and `extra.server_url` in config.yaml → `hermes gateway start`
Auth: Mattermost personal access token or bot account token
Requires a running Mattermost server. Feature set depends on server version.
🏢 Enterprise / Team

Microsoft Teams

Plugin
★★★☆☆

Enterprise Teams integration via plugin architecture. Supports bot messaging, adaptive cards, and @mentions.

Adaptive CardsMentionsRich Messages
Setup guide
Azure Portal → Bot Service → create bot → configure Teams channel → copy App ID + password → set env vars → enable `platforms.teams` plugin → `hermes gateway start`
Auth: Azure Bot Service registration + client secret
Env vars: TEAMS_CLIENT_ID, TEAMS_CLIENT_SECRET, TEAMS_TENANT_ID
Requires Azure subscription and public HTTPS endpoint. Plugin-based (install via plugins). Teams Meetings adapter available separately.
🏢 Enterprise / Team

Google Chat

Plugin
★★★☆☆

Google Workspace integration via plugin. Supports images, files, threads, and typing. Uses Google Cloud Pub/Sub for webhook-free receiving.

ImagesFilesThreadsTyping
Setup guide
Google Cloud Console → enable Google Chat API → create service account → set up Pub/Sub subscription → configure `platforms.google_chat` plugin → `hermes gateway start`
Auth: Google Workspace service account
Env vars: GOOGLE_CHAT_PROJECT_ID, GOOGLE_CHAT_SUBSCRIPTION_NAME
Requires Google Cloud project with billing. Plugin-based. No public URL needed (uses Pub/Sub pull). Documentation is sparse.
🏢 Enterprise / Team

IRC

Plugin
★★☆☆☆

Oldest chat protocol — text-only, no media, no reactions. Uses Python stdlib asyncio — zero external dependencies. Plugin-based.

Text onlyChannelsPrivate messages
Setup guide
Configure `platforms.irc` plugin → set server, port, nickname, channels in config.yaml → `hermes gateway start`
Auth: Optional SASL/NickServ password
Text-only — no images, files, or rich media. Bot must stay connected 24/7. No typing indicators or reactions.
🌏 Asian Platforms

DingTalk

Built-in
★★★☆☆

Alibaba's enterprise messaging platform. 60KB adapter with OAuth 2.0 auth. Essential for enterprise deployments in China.

Rich messagingEnterprise features
Setup guide
DingTalk Developer Portal → create app → get Client ID and Client Secret → set env vars → `hermes gateway start`
Auth: DingTalk app credentials (Client ID + Client Secret)
Env vars: DINGTALK_CLIENT_ID, DINGTALK_CLIENT_SECRET
Primarily for Chinese enterprise market. Requires DingTalk developer account.
🌏 Asian Platforms

Feishu / Lark

Built-in
★★★★☆

ByteDance's enterprise platform with card-style interactive messages. Large adapter (211KB) with separate comment rules module.

Card MessagesInteractive elementsRich messaging
Setup guide
Feishu Developer Console → create app → get App ID and App Secret → configure `platforms.feishu.extra.app_id` in config.yaml → `hermes gateway start`
Auth: Feishu App ID + App Secret (OAuth)
Very large adapter. Feishu is the international name for Lark. Card messages are powerful but complex to design.
🌏 Asian Platforms

WeCom (Enterprise WeChat)

Built-in
★★★☆☆

Tencent's enterprise communication platform. Two modes: simple webhook bot or full callback app with crypto support.

Rich messagingWebhook modeCallback modeCrypto support
Setup guide
WeCom Admin Console → create bot → get webhook URL or create self-built app → configure `platforms.wecom.extra.bot_id` or corp credentials → `hermes gateway start`
Auth: Webhook URL (bot_id) or corp credentials for callback mode
Callback mode requires WeChat cryptography module. Webhook mode is simpler but limited functionality.
🌏 Asian Platforms

Weixin (WeChat)

Built-in
★★☆☆☆

WeChat Official Account integration. Only option for reaching WeChat's billion+ users. Uses XML message format.

Official Account messagingXML messages
Setup guide
WeChat Official Account Admin → get AppID and AppSecret → configure `platforms.weixin.extra.account_id` and token in config.yaml → `hermes gateway start`
Auth: WeChat Official Account credentials (AppID + AppSecret)
Requires a paid, verified WeChat Official Account. Cannot use personal WeChat accounts. XML-only message format.
🌏 Asian Platforms

QQ Bot

Built-in
★★★☆☆

QQ messaging via official Bot API. Access to QQ's massive Chinese userbase. WebSocket-based.

QQ messagingWebSocket
Setup guide
QQ Bot Platform → create bot → get App ID and Client Secret → configure `platforms.qqbot.extra` in config.yaml → `hermes gateway start`
Auth: QQ Bot platform credentials (App ID + Client Secret)
Uses QQ Bot API (different from personal QQ accounts). Lives in its own subdirectory adapter.
🌏 Asian Platforms

LINE

Plugin
★★★★☆

Dominant messaging platform in Japan, Taiwan, and Thailand. Plugin-based with full media support — images, audio, video, files, stickers, location.

ImagesAudioVideoFilesStickersLocation
Setup guide
LINE Developers Console → create provider → create channel → get Channel Access Token and Secret → set env vars → enable `platforms.line` plugin → `hermes gateway start`
Auth: LINE Channel Access Token + Channel Secret
Env vars: LINE_CHANNEL_ACCESS_TOKEN, LINE_CHANNEL_SECRET
Must disable auto-reply and greeting in LINE Developers Console. Uses free reply tokens first (60s window), falls back to metered Push API. Default webhook port 8646.
🌏 Asian Platforms

Yuanbao

Built-in
★★★☆☆

Tencent's Yuanbao platform with proprietary messaging protocol. Large adapter (186KB) with media, stickers, and custom proto support.

MediaStickersCustom protocol
Setup guide
Yuanbao developer console → create app → get App ID and App Secret → configure `platforms.yuanbao.extra` in config.yaml → `hermes gateway start`
Auth: Yuanbao App ID + App Secret
Niche platform. Custom protocol implementation with 4 adapter files. Limited audience outside China.
🖧 Infrastructure

Email

Built-in
★★★★☆

Reliable async communication via SMTP/IMAP. Supports threading via email subjects. Best for notification-heavy workflows and offline communication.

ImagesFilesThreading
Setup guide
Configure `platforms.email.extra` with SMTP server, port, username, password (sending) and IMAP settings (receiving) in config.yaml → set monitored email address → `hermes gateway start`
Auth: SMTP/IMAP credentials
Requires both SMTP (sending) and IMAP (receiving) configuration. Not real-time — polling-based receiving. Firewall may block ports.
🖧 Infrastructure

SMS (Twilio)

Built-in
★★☆☆☆

Bare-bones text-only channel via Twilio. Useful for alerts, 2FA codes, and offline notifications when you're away from internet-connected platforms.

Text only
Setup guide
Twilio Console → get Account SID, Auth Token → buy a phone number → set env vars → configure webhook for inbound → `hermes gateway start`
Auth: Twilio Account SID + Auth Token + Phone Number
Env vars: TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_PHONE_NUMBER
Text-only with character limits. Requires Twilio account with purchased phone number (paid). No images, files, or rich formatting.
🖧 Infrastructure

Matrix

Built-in
★★★☆☆

Decentralized open protocol for federated deployments. Large adapter (110KB) supporting the Matrix ecosystem.

ImagesFilesDecentralized
Setup guide
Register on a Matrix homeserver (matrix.org or self-hosted) → get access token → configure `platforms.matrix.token` and `extra.homeserver_url` in config.yaml → `hermes gateway start`
Auth: Matrix access token from homeserver login
Requires a Matrix homeserver. Self-hosting adds operational overhead. Decentralized nature can complicate setup.
🖧 Infrastructure

Home Assistant

Built-in
★★★☆☆

Smart home integration via Home Assistant WebSocket API. Enables the agent to control and monitor your smart home devices.

Smart home controlNotificationsReal-time WebSocket
Setup guide
Home Assistant → Profile → Long-Lived Access Tokens → create token → configure `platforms.homeassistant.token` and `extra.server_url` in config.yaml → `hermes gateway start`
Auth: Home Assistant Long-Lived Access Token
Requires running Home Assistant instance. Off by default for security. Separate from the homeassistant toolset for device control.
🔌 API & Webhook

API Server

Built-in
★★★★☆

OpenAI-compatible chat completions API. The backbone for Open WebUI and custom integrations. Runs the agent as a server-to-server service.

OpenAI-compatible APICORSAPI key authStreaming
Setup guide
Set `API_SERVER_ENABLED=true`, `API_SERVER_HOST=0.0.0.0`, `API_SERVER_PORT=8686` → optionally set `API_SERVER_API_KEY` → `hermes gateway start` → point clients at http://host:8686/v1
Auth: Optional API key
Env vars: API_SERVER_ENABLED, API_SERVER_HOST, API_SERVER_PORT
Tool calls execute on the API server host, not the client machine. Not a pure LLM proxy — runs the full agent runtime.
🔌 API & Webhook

Webhooks

Built-in
★★★☆☆

Generic HTTP webhook listener. Configure arbitrary routes mapping webhook payloads to agent conversations. Flexible for custom integrations.

Custom routesHTTP methodsConfigurable responses
Setup guide
Enable `platforms.webhook.enabled` in config.yaml → define routes under `extra.routes` with path, method, and response config → `hermes gateway start`
Auth: Optional per-route
No built-in UI — purely config-driven. Route definitions can be complex for multi-payload scenarios.
🔌 API & Webhook

MS Graph Webhook

Built-in
★★★☆☆

Microsoft Graph change notification listener. Subscribe to Microsoft 365 events — email, Teams messages, calendar changes. Event-driven agent actions.

Microsoft 365 eventsChange notifications
Setup guide
Azure Portal → App Registration → configure cert/secret → set up Graph API permissions → enable `platforms.msgraph_webhook` in config.yaml → `hermes gateway start`
Auth: Microsoft Entra ID app registration
A subscription listener, not a chat platform. Requires Microsoft Entra ID app with appropriate permissions. Complex setup.
🔌 API & Webhook

Open WebUI

Built-in
★★★★★

Polished web UI for Hermes Agent via the API Server. Full chat interface with conversation management, user accounts, and file uploads.

Web chat UIUser accountsFile uploadsConversation management
Setup guide
Start Hermes API Server (`API_SERVER_ENABLED=true`) → install Open WebUI → configure OpenAI endpoint to http://localhost:8686/v1 → login and chat. Script at `scripts/setup_open_webui.sh` automates this.
Auth: Optional (delegates to Open WebUI auth)
Env vars: API_SERVER_ENABLED=true
Not a standalone adapter — rides on the API Server. Tool calls execute on the API-Server host. Open WebUI is a separate project with its own setup.
🔍

No platforms match your search. Try a different filter or keyword.