Connect Hermes Agent to Slack, WhatsApp & Signal

Beyond Telegram and Discord

While Telegram and Discord are the most popular platforms for Hermes, many teams and individuals rely on other messaging apps. Hermes Agent supports connecting to Slack, WhatsApp, and Signal through its extensible messaging framework.

Each platform has unique strengths:

| Platform | Best For | Bot Support | Key Feature |

|----------|---------|:-----------:|-------------|

| Slack | Workplace teams | βœ… Native | Workflows, channels, integrations |

| WhatsApp | Personal/business | ⚠️ Via API | End-to-end encryption, global reach |

| Signal | Privacy-focused | ⚠️ Via bridge | Military-grade encryption |

Slack Integration

Why Slack + Hermes?

Slack is the communication backbone of many engineering teams. Adding Hermes brings AI superpowers to your daily workflow:

  • Answer technical questions in #dev-help
  • Code review in #pull-requests
  • Summarize long threads
  • Generate reports on demand

Step 1: Create a Slack App

  • Visit api.slack.com/apps
  • Click Create New App β†’ From scratch
  • Name it "Hermes AI" and select your workspace
  • Go to OAuth & Permissions and add these Bot Token Scopes:
  • - chat:write β€” Send messages

    - channels:history β€” Read channel messages

    - channels:read β€” View channel info

    - app_mentions:read β€” Detect @mentions

    - files:read β€” Read shared files

    - users:read β€” View user info

  • Click Install to Workspace and copy the Bot User OAuth Token
  • Step 2: Enable Event Subscriptions

  • Go to Event Subscriptions β†’ Enable
  • Set the Request URL to: https://your-server.com/api/slack/events
  • Subscribe to bot events:
  • - app_mention β€” When someone @mentions Hermes

    - message.channels β€” Messages in channels

    - message.im β€” Direct messages

    Step 3: Configure Hermes

    hermes config set slack.bot_token "xoxb-your-bot-token"
    

    hermes config set slack.signing_secret "your-signing-secret"

    hermes config set slack.enabled true

    Full configuration:

    # ~/.hermes/config.yaml
    

    slack:

    enabled: true

    bot_token: "xoxb-your-bot-token"

    signing_secret: "your-signing-secret"

    app_token: "xapp-your-app-token" # For Socket Mode

    # Behavior

    respond_to_mentions: true

    respond_to_dms: true

    use_threads: true # Reply in threads

    reaction_acknowledgment: true # React with πŸ€” while processing

    # Access control

    allowed_channels: ["C01234ABCDE"]

    blocked_users: []

    # Socket Mode (simpler than webhooks, no public URL needed)

    socket_mode: true

    Step 4: Start the Slack Bot

    hermes slack start
    

    πŸ€– Slack bot connected!
    

    Workspace: My Company

    Channels: 3 (watching)

    Mode: Socket Mode

    Listening for messages...

    Using Hermes in Slack

    @Mention in a channel:
    @Hermes AI How do I handle CORS in a Go API?
    

    Slash command:
    /hermes generate a bash script to backup PostgreSQL daily
    

    Thread reply:

    Hermes automatically responds in threads to keep channels clean. Continue the conversation naturally in the thread.

    WhatsApp Integration

    How It Works

    WhatsApp doesn't have a traditional bot API like Telegram or Discord. Instead, Hermes connects through the WhatsApp Business API or community bridges.

    Option A: WhatsApp Business API (Official)

    Best for businesses with a Meta Business account.

  • Apply for WhatsApp Business API access
  • Set up a Meta Business account and verify your business
  • Get your WhatsApp Business API token
  • # ~/.hermes/config.yaml
    

    whatsapp:

    enabled: true

    provider: "business-api"

    phone_number_id: "123456789"

    access_token: "EAAG..."

    verify_token: "your-verify-token"

    webhook_url: "https://your-server.com/api/whatsapp"

    allowed_numbers: ["+1234567890"]

    max_message_length: 4096

    Option B: WhatsApp Web Bridge (Personal Use)

    For personal use, use the whatsapp-web.js bridge:

    # Install the WhatsApp bridge skill
    

    hermes skill install whatsapp-bridge

    whatsapp:
    

    enabled: true

    provider: "web-bridge"

    allowed_numbers: ["+1234567890"]

    session_dir: "~/.hermes/whatsapp-session"

    On first start, scan the QR code with your phone to link the session.

    Important: WhatsApp Web bridge is for personal use only. For business use, always use the official Business API.

    Using Hermes on WhatsApp

    Send messages naturally β€” Hermes responds just like on Telegram:

    You: Explain Docker volumes in simple terms
    
    

    Hermes: Think of Docker volumes like external hard drives

    for your containers πŸ’Ύ

    Without volumes:

    • Container data lives inside the container
    • Data disappears when the container is removed πŸ’¨

    With volumes:

    • Data is stored outside the container
    • It persists even after container deletion βœ…
    • Multiple containers can share the same volume

    Quick example:

    docker run -v mydata:/app/data my-image

    This mounts a volume called "mydata" to /app/data

    inside the container.

    Signal Integration

    Privacy-First AI

    Signal is the most secure messaging option. Hermes connects through the Signal CLI or the signal-cli-rest-api bridge.

    Setup Signal Bridge

    # Install signal-cli
    

    wget https://github.com/AsamK/signal-cli/releases/latest/download/signal-cli.tar.gz

    tar xf signal-cli.tar.gz

    sudo mv signal-cli /opt/signal-cli

    # Register a phone number (requires SMS verification)

    /opt/signal-cli/bin/signal-cli -a +1234567890 register

    /opt/signal-cli/bin/signal-cli -a +1234567890 verify 123456

    # Install the Hermes Signal skill

    hermes skill install signal-bridge

    Configure Hermes

    # ~/.hermes/config.yaml
    

    signal:

    enabled: true

    phone_number: "+1234567890"

    signal_cli_path: "/opt/signal-cli/bin/signal-cli"

    allowed_numbers: ["+0987654321"]

    config_dir: "~/.local/share/signal-cli"

    Start the Signal Bot

    hermes signal start
    

    Signal messages are end-to-end encrypted. Hermes only sees the decrypted content locally on your server.

    Running Multiple Platforms Simultaneously

    You can run all messaging integrations at once:

    # Start all enabled platforms
    

    hermes messaging start --all

    Or use PM2 to manage each separately:

    pm2 start "hermes telegram start" --name hermes-telegram
    

    pm2 start "hermes discord start" --name hermes-discord

    pm2 start "hermes slack start" --name hermes-slack

    pm2 save

    Unified Session Management

    All platforms share the same session and memory system:

    Telegram message β†’ Session: "mobile-chat" β†’ Hermes AI β†’ Response
    

    Discord message β†’ Session: "discord-dev" β†’ Hermes AI β†’ Response

    Slack message β†’ Session: "work-slack" β†’ Hermes AI β†’ Response

    Each platform gets its own session by default, but you can configure shared sessions:

    messaging:
    

    shared_session: true # All platforms use one session

    session_name: "unified" # Or pick per-platform names

    Platform Comparison

    | Feature | Telegram | Discord | Slack | WhatsApp | Signal |

    |---------|:--------:|:-------:|:-----:|:--------:|:------:|

    | Setup difficulty | Easy | Medium | Medium | Hard | Hard |

    | File sharing | βœ… | βœ… | βœ… | βœ… | βœ… |

    | Voice messages | βœ… | ❌ | ❌ | βœ… | βœ… |

    | Group support | βœ… | βœ… | βœ… | βœ… | βœ… |

    | Threads | ❌ | βœ… | βœ… | ❌ | ❌ |

    | Encryption | Optional | ❌ | ❌ | βœ… E2E | βœ… E2E |

    | Cost | Free | Free | Free* | Paid API | Free |

    | Best for | Personal | Community | Work | Business | Privacy |

    Next Steps


    Last updated: April 16, 2026 Β· Hermes Agent v0.8