Back

Hermes Agent Tutorial 4: Messaging Gateway — Multi-Platform Integration

Deploy Hermes Agent to Telegram, Discord, Slack, WhatsApp, or Signal. Learn gateway architecture, platform setup steps, voice transcription, cross-platform continuity, and security configuration.

Tutorial Overview

Series index: Hermes Agent Tutorial Series

This tutorial covers Hermes Agent’s Messaging Gateway — one of its unique capabilities that lets you deploy the agent to multiple messaging platforms simultaneously.

What you will learn

  • ✅ Gateway architecture and how it works
  • ✅ Platform setup for Telegram, Discord, Slack, WhatsApp, Signal
  • ✅ Voice memo transcription
  • ✅ Cross-platform conversation continuity
  • ✅ Security: DM pairing and command approval

Note: If you’re here for Discord/Telegram bots, read this first. If you prefer terminal-only, see Tutorial 5: CLI and TUI Guide.

Why Multi-Platform Matters

Hermes vs desktop-only agents

Claude Code, Cursor, and most AI assistants are tied to your desktop. Hermes Agent is different: it can live on your Telegram group, Discord server, Slack workspace, or Signal — not just your laptop.

flowchart TD
    A[Hermes Gateway] --> B[Telegram]
    A --> C[Discord]
    A --> D[Slack]
    A --> E[WhatsApp]
    A --> F[Signal]
    A --> G[CLI]

    B --> H[Single Agent Memory]
    C --> H
    D --> H
    E --> H
    F --> H
    G --> H

    style A fill:#e1f5ff
    style H fill:#e8f5e9

Key benefits

Feature Benefit
Team access Multiple users interact with same agent
Always available Agent runs on server, not your laptop
Memory continuity Same memory across all platforms
Voice support Transcribe voice memos automatically

Gateway Architecture

How it works

flowchart LR
    A[Platform API] --> B[Gateway Process]
    B --> C[Hermes Agent]
    C --> D[Memory/Skills]
    D --> C
    C --> B
    B --> A

    style B fill:#fff3e0

Components:

  1. Gateway process — Runs as a daemon, listens to all platforms
  2. Platform adapters — Translate messages to Hermes format
  3. Agent core — Shared memory and skills for all platforms

Start the gateway

# Setup gateway configuration
hermes gateway setup

# Start gateway daemon
hermes gateway start

# Check status
hermes gateway status

Platform Setup

Platform comparison

Platform Setup Complexity Voice Support Group Support
Telegram Low ✅ Full ✅ Yes
Discord Medium ✅ Full ✅ Yes
Slack Medium ✅ Limited ✅ Yes
WhatsApp Medium ✅ Full ❌ DM only
Signal Low ✅ Full ❌ DM only

Telegram Setup

Step 1: Create bot

  1. Open Telegram, search for @BotFather
  2. Send /newbot
  3. Name your bot (e.g., “My Hermes”)
  4. Get your bot token

Step 2: Configure Hermes

hermes gateway add telegram --token "YOUR_BOT_TOKEN"

Step 3: Start and test

hermes gateway start telegram

Send a message to your bot on Telegram. Hermes should respond.

Discord Setup

Step 1: Create Discord application

  1. Go to Discord Developer Portal
  2. Click “New Application”
  3. Name it (e.g., “Hermes Agent”)
  4. Go to “Bot” section, click “Add Bot”
  5. Copy the bot token

Step 2: Configure Hermes

hermes gateway add discord --token "YOUR_DISCORD_TOKEN"

Step 3: Invite bot to server

Create invite link with required permissions:

  • Read Messages
  • Send Messages
  • Read Message History

Step 4: Start gateway

hermes gateway start discord

Slack Setup

Step 1: Create Slack App

  1. Go to Slack API
  2. Create new app
  3. Add Bot Token Scopes: chat:write, channels:history, groups:history
  4. Install to workspace
  5. Copy Bot User OAuth Token

Step 2: Configure Hermes

hermes gateway add slack --token "xoxb-YOUR-TOKEN"

Step 3: Start gateway

hermes gateway start slack

WhatsApp Setup

WhatsApp requires Meta’s Cloud API or Twilio integration. Basic setup:

hermes gateway add whatsapp --provider twilio --account_sid "YOUR_SID" --auth_token "YOUR_TOKEN"

Signal Setup

Signal integration uses the Signal CLI:

# First, link Signal CLI to your number
signal-cli link -n "Hermes"

# Then configure Hermes
hermes gateway add signal --phone "+1234567890"

Voice Memo Transcription

How it works

Hermes automatically transcribes voice memos using ElevenLabs or Whisper:

sequenceDiagram
    participant U as User
    participant P as Platform
    participant G as Gateway
    participant T as Transcriber
    participant H as Hermes

    U->>P: Send voice memo
    P->>G: Voice file received
    G->>T: Transcribe audio
    T->>G: Text result
    G->>H: Process as text
    H->>G: Response
    G->>P: Send response
    P->>U: Text reply

    style T fill:#fff3e0

Enable voice transcription

# Configure transcription provider
hermes config set transcription.provider elevenlabs

# Or use OpenAI Whisper
hermes config set transcription.provider whisper

Supported formats

  • MP3, WAV, M4A (Telegram, Discord)
  • OGG (WhatsApp, Signal)
  • Maximum: 5 minutes per memo

Cross-Platform Continuity

Conversation continuity

Start a conversation on Telegram, continue on Discord — Hermes remembers:

flowchart TD
    A[Telegram: "Debug auth bug"] --> B[Stored in memory]
    B --> C[Discord: "What about that bug?"]
    C --> D[Retrieved from memory]
    D --> E[Full context available]
    E --> F[Continue conversation]

    style B fill:#e8f5e9
    style D fill:#e8f5e9

Platform commands

Available on all platforms:

Command Purpose
/new Start fresh conversation
/status Check gateway status
/platforms Show connected platforms
/sethome Set preferred platform

Home platform concept

Set your primary platform where Hermes should prioritize responses:

/sethome telegram

Hermes will:

  • Send scheduled reports to Telegram by default
  • Use Telegram for critical notifications
  • Sync memory from all platforms to Telegram context

Security

DM pairing

Restrict Hermes to only respond to approved users:

# Enable DM pairing mode
hermes config set security.dm_pairing true

# Pair a user (they must send /pair code to Hermes)
hermes gateway pair telegram --user "@username"

Command approval

Require approval for sensitive commands:

# Configure approval rules
hermes config set security.approval_commands "file:write,bash:execute"

When triggered:

  1. Hermes requests approval
  2. You approve/reject via any platform
  3. Command executes only if approved

Rate limiting

# Set per-user limits
hermes config set security.rate_limit 10  # messages per minute
hermes config set security.daily_limit 1000  # tokens per day

Managing Gateway

View connected platforms

hermes gateway status

Output:

Platform     Status    Messages    Users
─────────────────────────────────────────
Telegram     Active    156         5
Discord      Active    89          3
Slack        Active    23          1
WhatsApp     Inactive  -           -
Signal       Inactive  -           -

Restart specific platform

hermes gateway restart telegram

Stop gateway

hermes gateway stop

Troubleshooting

Platform not responding

Cause: Gateway process stopped or token invalid.

Fix:

hermes gateway status
hermes gateway restart PLATFORM

Messages not syncing across platforms

Cause: Memory sync disabled.

Fix:

hermes config set memory.cross_platform true

Voice transcription failing

Cause: API key missing or quota exceeded.

Fix:

hermes config set transcription.api_key "YOUR_KEY"
hermes config set transcription.provider whisper

Summary

Messaging Gateway is Hermes’s deployment advantage:

  1. Multi-platform — Telegram, Discord, Slack, WhatsApp, Signal
  2. Gateway architecture — Single agent, multiple platforms
  3. Voice support — Automatic transcription
  4. Continuity — Same memory across all platforms
  5. Security — DM pairing, approval, rate limits

Key takeaways

  • ✅ Gateway runs as daemon, listens to all platforms
  • ✅ Setup requires platform-specific bot tokens
  • ✅ Voice memos transcribed automatically
  • ✅ Memory persists across platforms
  • ✅ Security controls limit access

Series navigation:


Decision Note: You now have two deployment options. If you started with Messaging Gateway (this article), you have Hermes on Telegram/Discord. For terminal basics, see Tutorial 5: CLI and TUI. Both apply to multi-model configuration in Tutorial 6.