Hermes Agent: Platform Messaging and Multi-Platform…
Last updated: 2026-08-31
Multi-platform integration is Hermes' communication superpower — one Agent simultaneously serves you on Telegram, Discord, and Slack, like having multiple clones of yourself.
💡 Tip: Hermes' platform integration isn't simple message forwarding. Each platform maintains full memory and skills, with automatic message format adaptation.
📋 Prerequisites: Lesson 3 Configuration File
1. What You Will Learn
| # | Content |
|---|---|
| ❶ | Supported platform list |
| ❷ | Platform integration configuration |
| ❸ | Message processing flow |
| ❹ | Platform feature adaptation |
| ❺ | Multi-platform message routing |
2. Story
(1) Pain Point: Different AI for Different Platforms
Bob chats with colleagues on Telegram, works on Slack, and hangs out in Discord communities. Each platform has its own Bot — memories don't sync, skills aren't shared.
(2) Solution: One Agent, All Platforms
Alice's Hermes Agent connects to all platforms simultaneously:
BASH
# One Hermes, three entry points
Telegram: @AliceHermesBot
Slack: Hermes App
Discord: Hermes#1234
# Memories and skills fully shared
Say "help me review code" on Slack
→ Say "continue that review" on Telegram
→ Agent knows you mean the same one
3. Supported Platforms
| Platform | Type | Message Format | File Support | Groups |
|---|---|---|---|---|
| Telegram | Bot | Markdown | ✅ Images/Files | ✅ |
| Discord | Bot | Markdown | ✅ Images/Attachments | ✅ |
| Slack | App | mrkdwn | ✅ Files | ✅ Channels |
| Business | Plain text | ✅ Images/Docs | ❌ | |
| Signal | Bot | Plain text | ✅ Images | ✅ |
| Twitter/X | Bot | Plain text | ✅ Images | ❌ |
| IMAP/SMTP | HTML/Text | ✅ Attachments | ❌ | |
| Web Chat | Self-hosted | Markdown | ✅ Drag & drop | ✅ |
| CLI | Terminal | ANSI | ❌ | ❌ |
| VS Code | Extension | Markdown | ✅ Workspace | ❌ |
| REST API | HTTP | JSON | ✅ Base64 | ❌ |
| n8n | Workflow | JSON | ✅ | ✅ |
| Home Assistant | Smart Home | Plain text | ❌ | ❌ |
| Custom | Custom | Configurable | Configurable | Configurable |
4. Platform Integration Configuration
(1) Telegram
YAML
# ~/.hermes/config.yaml
platforms:
telegram:
enabled: true
token: "${TELEGRAM_BOT_TOKEN}"
# Message configuration
parse_mode: "MarkdownV2"
max_message_length: 4096
# Access control
allowed_users:
- 123456789 # Telegram User ID
allowed_chats:
- -1001234567890 # Group Chat ID
# Feature toggles
features:
voice_messages: true # Receive voice messages
photos: true # Receive images
files: true # Receive files
inline_queries: true # Inline queries
BASH
# Create a Telegram Bot
# 1. Find @BotFather, create a Bot, get the Token
# 2. Configure in Hermes
hermes config set platforms.telegram.token "your-token"
hermes platform start telegram
(2) Discord
YAML
platforms:
discord:
enabled: true
token: "${DISCORD_BOT_TOKEN}"
# Server configuration
guilds:
- id: "123456789"
channels: ["general", "dev", "ai-help"]
# Permissions
allowed_roles:
- "Developer"
- "Admin"
# Features
features:
slash_commands: true
thread_support: true
reactions: true
embeds: true
(3) Slack
YAML
platforms:
slack:
enabled: true
bot_token: "${SLACK_BOT_TOKEN}"
app_token: "${SLACK_APP_TOKEN}"
# Workspace
workspace: "my-team"
# Channels
channels:
- "general"
- "dev-help"
- "ai-assistant"
# Features
features:
app_mentions: true
direct_messages: true
thread_replies: true
file_sharing: true
(4) WhatsApp
YAML
platforms:
whatsapp:
enabled: true
phone_number_id: "${WHATSAPP_PHONE_ID}"
access_token: "${WHATSAPP_TOKEN}"
verify_token: "${WHATSAPP_VERIFY_TOKEN}"
# Webhook
webhook_url: "https://your-domain.com/webhook/whatsapp"
5. Message Processing Flow
(1) Unified Message Pipeline
graph LR
A[Telegram] --> M[Message Pipeline]
B[Discord] --> M
C[Slack] --> M
D[WhatsApp] --> M
M --> P[Message Parse]
P --> Q[Permission Check]
Q --> R[Memory Retrieval]
R --> S[Skill Match]
S --> T[LLM Inference]
T --> U[Tool Call]
U --> V[Response Generate]
V --> W[Format Adapt]
W --> A2[Telegram]
W --> B2[Discord]
W --> C2[Slack]
W --> D2[WhatsApp]
(2) Message Format Adaptation
| Platform | Code Blocks | Images | Long Messages |
|---|---|---|---|
| Telegram | ```markdown | Separate send | Split into segments |
| Discord | ```markdown | Embed | Split + continuation |
| Slack | ```mrkdwn | Block | Split into threads |
| No format | Separate send | Split segments | |
| HTML | Inline/Attachment | Single email |
6. Platform Feature Adaptation
(1) Voice Message Processing
BASH
# Telegram: User sends voice → STT → Agent processes → TTS → Voice reply
# Automatic workflow:
User: [Voice message 0:15]
Agent: [voice_stt] → "What's the weather in Beijing today"
[web_search] → Found weather info
[voice_tts] → [Voice message 0:08] "Beijing is sunny today, 26°C"
(2) Group Conversations
YAML
# Group configuration
platforms:
discord:
group_behavior:
trigger: "mention" # @Hermes triggers
listen: false # Don't listen to all messages
prefix: "!" # !command triggers
respond_to_replies: true # Replying to Agent messages triggers
7. Multi-Platform Message Routing
(1) Cross-Platform Memory
BASH
# Start a conversation on Slack
Slack: me: Help me review auth.py
Agent: Found 3 security issues...
# Continue on Telegram
Telegram: me: About that review result, tell me more
Agent: [Cross-platform memory retrieval]
Regarding the auth.py review, the 3 issues are...
(2) Message Routing Rules
YAML
routing:
# Route by platform
platform_rules:
telegram:
model: "gpt-4o-mini" # Lightweight model, cost-effective
personality: "friendly" # Casual tone
slack:
model: "gpt-4o" # Work use, high quality
personality: "professional" # Professional tone
discord:
model: "gpt-4o" # Community use
personality: "creative" # Creative tone
❓ FAQ
Q How many platforms can I connect simultaneously?
A Unlimited. Running all 15+ platforms at once is fine — each platform runs on its own thread.
Q Is there significant cross-platform message latency?
A Memory retrieval takes <100ms, which doesn't impact experience. Response time depends on model inference.
Q Can each platform have a different persona?
A Yes. Use routing rules to set different tones, models, and skills per platform.
Q How to avoid replying to everyone in groups?
A Configure trigger mode: @mention or specific prefix (e.g. !hermes). By default, only directly triggered messages get replies.
Q What are WhatsApp limitations?
A WhatsApp Business API has message frequency limits (max 1000 messages per 24 hours) and requires Meta Business verification.
Q How to monitor platform status?
A
hermes platform status shows all platform connection states and message statistics.📖 Summary
- 15+ platform integrations: Telegram, Discord, Slack, WhatsApp, Signal, etc.
- Unified message pipeline: Receive → Parse → Permission → Memory → Skill → Response → Adapt
- Cross-platform memory: Conversations on any platform share the same memory space
- Platform feature adaptation: Voice, groups, long messages, format conversion
- Routing rules: Different platforms can use different models and personas
📝 Exercises
- Basic (⭐): Connect to Telegram or Discord, complete a conversation, and verify message sending and receiving works correctly.
- Intermediate (⭐⭐): Connect to two platforms simultaneously, start a conversation on one and continue on the other, verifying cross-platform memory.
- Advanced (⭐⭐⭐): Configure multi-platform routing rules — professional mode on work platforms (Slack), creative mode on social platforms (Discord).