33 messaging platforms across 5 categories — built-in and plugin gateways for Telegram, Discord, Slack, email, SMS, and more.
33
Total Platforms
5
Categories
26
Built-in
10
Top Rated ★4+
33 items
📱 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
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.
Message @BotFather on Telegram → /newbot → choose name/username → paste token into `TELEGRAM_TOKEN` env var → `hermes gateway start`
📱 Consumer Messaging
Discord
Built-in
★★★★★
Most feature-rich adapter with voice channel support, message reactions, and comprehensive permission controls. The adapter is now a modularized package rather than a single large file.
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.
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`.
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`
📱 Consumer Messaging
WhatsApp
Built-in
★★★☆☆
Two adapters ship for WhatsApp: the unofficial WhatsApp Web bridge via Baileys (QR code pairing, no Business API needed) and the official Meta WhatsApp Business Cloud API adapter (whatsapp-cloud, no bridge or QR codes).
ImagesFilesTypingStreaming
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.
Enable WhatsApp in config.yaml → `hermes gateway start` → scan QR code with WhatsApp → bot is connected. Requires Node.js v18+ for the bridge process.
📱 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
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.
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`
📱 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
Auth: BlueBubbles server URL + password
Requires a Mac running BlueBubbles server 24/7. Not a direct Apple API integration — depends on BlueBubbles project stability.
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`
🏢 Enterprise / Team
Slack (Enterprise)
Built-in
★★★★☆
Enterprise Slack integration with Socket Mode. Full feature parity for team communication — threads, reactions, and channel management.
VoiceImagesFilesThreadsReactionsTypingStreaming
Auth: Slack Bot Token + App Token
Env vars: SLACK_BOT_TOKEN, SLACK_APP_TOKEN
Enterprise Grid instances may have additional permissions required.
See Slack entry in Consumer category. Enterprise features use the same setup.
🏢 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
Auth: Mattermost personal access token or bot account token
Requires a running Mattermost server. Feature set depends on server version.
Set up Mattermost server → create bot account → generate token → configure `platforms.mattermost.token` and `extra.server_url` in config.yaml → `hermes gateway start`
🏢 Enterprise / Team
Microsoft Teams
Plugin
★★★☆☆
Enterprise Teams integration via plugin architecture. Supports bot messaging, adaptive cards, and @mentions.
Adaptive CardsMentionsRich Messages
Auth: Azure Bot Service registration + client secret
Requires Google Cloud project with billing. Plugin-based. No public URL needed (uses Pub/Sub pull). Documentation is sparse.
Google Cloud Console → enable Google Chat API → create service account → set up Pub/Sub subscription → configure `platforms.google_chat` plugin → `hermes gateway start`
🏢 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
Auth: Optional SASL/NickServ password
Text-only — no images, files, or rich media. Bot must stay connected 24/7. No typing indicators or reactions.
Configure `platforms.irc` plugin → set server, port, nickname, channels in config.yaml → `hermes gateway start`
🌏 Asian Platforms
DingTalk
Built-in
★★★☆☆
Alibaba's enterprise messaging platform with OAuth 2.0 auth. Essential for enterprise deployments in China.
Rich messagingEnterprise features
Auth: DingTalk app credentials (Client ID + Client Secret)
Primarily for Chinese enterprise market. Requires DingTalk developer account.
DingTalk Developer Portal → create app → get Client ID and Client Secret → set env vars → `hermes gateway start`
🌏 Asian Platforms
Feishu / Lark
Built-in
★★★★☆
ByteDance's enterprise platform with card-style interactive messages and a separate comment rules module.
Card MessagesInteractive elementsRich messaging
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.
Feishu Developer Console → create app → get App ID and App Secret → configure `platforms.feishu.extra.app_id` in config.yaml → `hermes gateway start`
🌏 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
Auth: Webhook URL (bot_id) or corp credentials for callback mode
Callback mode requires WeChat cryptography module. Webhook mode is simpler but limited functionality.
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`
🌏 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
Auth: WeChat Official Account credentials (AppID + AppSecret)
Requires a paid, verified WeChat Official Account. Cannot use personal WeChat accounts. XML-only message format.
WeChat Official Account Admin → get AppID and AppSecret → configure `platforms.weixin.extra.account_id` and token in config.yaml → `hermes gateway start`
🌏 Asian Platforms
QQ Bot
Built-in
★★★☆☆
QQ messaging via official Bot API. Access to QQ's massive Chinese userbase. WebSocket-based.
QQ messagingWebSocket
Auth: QQ Bot platform credentials (App ID + Client Secret)
Uses QQ Bot API (different from personal QQ accounts). Lives in its own subdirectory adapter.
QQ Bot Platform → create bot → get App ID and Client Secret → configure `platforms.qqbot.extra` in config.yaml → `hermes gateway start`
🌏 Asian Platforms
LINE
Plugin
★★★★☆
Dominant messaging platform in Japan, Taiwan, and Thailand. Plugin-based with full media support — images, audio, video, files, stickers, location.
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.
LINE Developers Console → create provider → create channel → get Channel Access Token and Secret → set env vars → enable `platforms.line` plugin → `hermes gateway start`
🌏 Asian Platforms
Yuanbao
Built-in
★★★☆☆
Tencent's Yuanbao platform with proprietary messaging protocol, media, stickers, and custom proto support.
Text-only with character limits. Requires Twilio account with purchased phone number (paid). No images, files, or rich formatting.
Twilio Console → get Account SID, Auth Token → buy a phone number → set env vars → configure webhook for inbound → `hermes gateway start`
🖧 Infrastructure
Matrix
Built-in
★★★☆☆
Decentralized open protocol for federated deployments, supporting the Matrix ecosystem.
ImagesFilesDecentralized
Auth: Matrix access token from homeserver login
Requires a Matrix homeserver. Self-hosting adds operational overhead. Decentralized nature can complicate setup.
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`
🖧 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
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.
Home Assistant → Profile → Long-Lived Access Tokens → create token → configure `platforms.homeassistant.token` and `extra.server_url` in config.yaml → `hermes gateway start`
🔌 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.
Tool calls execute on the API server host, not the client machine. Not a pure LLM proxy — runs the full agent runtime.
Set `API_SERVER_ENABLED=true`, `API_SERVER_HOST=0.0.0.0`, `API_SERVER_PORT=8642` → optionally set `API_SERVER_KEY` → `hermes gateway start` → point clients at http://host:8642/v1
🔌 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
Auth: Optional per-route
No built-in UI — purely config-driven. Route definitions can be complex for multi-payload scenarios.
Enable `platforms.webhook.enabled` in config.yaml → define routes under `extra.routes` with path, method, and response config → `hermes gateway start`
🔌 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
Auth: Microsoft Entra ID app registration
A subscription listener, not a chat platform. Requires Microsoft Entra ID app with appropriate permissions. Complex setup.
Azure Portal → App Registration → configure cert/secret → set up Graph API permissions → enable `platforms.msgraph_webhook` in config.yaml → `hermes gateway start`
🔌 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
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.
Start Hermes API Server (`API_SERVER_ENABLED=true`) → install Open WebUI → configure the OpenAI-compatible endpoint to http://localhost:8642/v1 → login and chat.
🖧 Infrastructure
ntfy
Built-in
★★★☆☆
Simple HTTP-based pub-sub notification channel. Works with the free public ntfy.sh server or a self-hosted instance, and supports any client that can make HTTP requests - phones, browsers, scripts, watches. Subscribe to a topic from the ntfy mobile app, send messages to the topic to talk to the agent, and get responses back on your phone.
Push notificationsMobile app clientsSelf-hosted or public server
Auth: None for public topics; account token for private/reserved topics
Env vars: NTFY_TOPIC, optional ntfy account token
Uses httpx, which is already a Hermes dependency - no SDK, daemon, or Node.js required. Public topics on ntfy.sh are readable by anyone who knows the name, so use an account token for private topics.
Subscribe to a topic in the ntfy mobile app (or any HTTP client) → configure the topic in the gateway section of config.yaml → `hermes gateway setup` and pick ntfy → `hermes gateway start`
📱 Consumer Messaging
Photon (iMessage)
Built-in
★★★☆☆
iMessage integration through Photon, a managed service that handles the Apple line allocation and abuse-prevention layer so no self-hosted Mac relay is needed. Supports voice, images, files, and reactions. Distinct from BlueBubbles, which requires your own Mac server.
VoiceImagesFilesReactionsTypingStreaming
Auth: Photon managed service
Env vars: Photon API credentials
Managed service, so no Mac is required - but the free tier uses Photon shared iMessage line pool, where different recipients may see different sending numbers.
Create a Photon account and obtain API credentials → configure the Photon platform in config.yaml → `hermes gateway start`
📱 Consumer Messaging
SimpleX Chat
Built-in
★★★☆☆
Private, decentralised messaging platform where users own their contacts and groups. SimpleX assigns no persistent user IDs - every contact is identified by an opaque ID generated at connection time - making it one of the most private messengers available. Full media and voice support.
Requires the external simplex-chat daemon to stay running. No persistent user IDs means contact identity is connection-scoped, which complicates allow-listing.
Install the simplex-chat CLI and run it as a daemon → `pip install websockets` → `hermes gateway setup` and pick SimpleX → `hermes gateway start`
🏢 Enterprise / Team
Raft
Plugin
★★★☆☆
Connects Hermes to Raft as an external agent through a local wake-channel bridge. The adapter starts a loopback HTTP endpoint that receives content-free wake hints from the bridge and injects them into the gateway session pipeline; the agent reads and sends messages through the Raft CLI, so the adapter never touches message bodies or delivery cursors.
Env vars: Raft CLI plus the local wake-channel bridge
The bridge owns wake-hint consumption, dedup, backoff, reconnection, at-least-once delivery, and proof logging. The adapter is content-free by design.
Install the Raft CLI and the local wake-channel bridge → configure the Raft platform in config.yaml → `hermes gateway start`
🏢 Enterprise / Team
Buzz
Plugin
★★★☆☆
Connects Hermes to a Buzz community - Block open-source human+agent collaboration platform built on the Nostr protocol - and relays messages between Buzz channels (or DMs) and the agent. Outbound traffic shells out to the buzz CLI, inbound uses a native Nostr WebSocket subscription with CLI polling as fallback.
No extra Python packages are required beyond the buzz binary. Inbound uses a NIP-42-authenticated Nostr WebSocket by default with automatic fallback to CLI polling; set BUZZ_AUTH_TAG if your relay membership uses NIP-OA owner attestation.
Install the `buzz` binary → run `hermes gateway setup` and pick Buzz → `hermes gateway start`
📱 Consumer Messaging
WhatsApp Business (Cloud API)
Built-in
★★★★☆
Official Meta WhatsApp Business Cloud API adapter - the production-grade path with no Node.js bridge subprocess, no QR codes, and no account-ban risk.
VoiceImagesFilesTyping
Auth: Meta WhatsApp Business Cloud API
Env vars: WhatsApp Cloud API credentials
Requires a Meta Business account and webhook endpoint. This is separate from the Baileys whatsapp adapter.
Create a Meta WhatsApp Business app → obtain the Cloud API credentials and webhook configuration → configure the whatsapp-cloud platform in config.yaml → `hermes gateway start`
🔌 API & Webhook
A2A (Agent-to-Agent)
Plugin
★★★☆☆
Agent-to-Agent protocol adapter (A2A v1.0). Lets Hermes agents exchange messages with other A2A-compatible agents.
Agent-to-agent messagingA2A v1.0 protocol
Auth: A2A endpoint credentials (if required)
Env vars: A2A endpoint configuration
Newest adapter in the set (v0.20.0 A2A v1.0 window). Intended for agent-to-agent traffic rather than human chat.
Configure the a2a platform endpoint in config.yaml → `hermes gateway start`
🔍
No results found. Try a different search or filter.