Skip to main content

Messaging platforms

Messaging platforms are how you and your team talk to an agent. Hermeum supports five platforms that are a good fit for team agents:

PlatformHow it works
API serverOpenAI-compatible HTTP endpoint — connect any compatible frontend.
WebhookHTTP server that accepts signed webhooks and routes them to the agent.
SlackSlack bot via Socket Mode (WebSocket — no public endpoint needed).
DiscordDiscord bot via the Gateway WebSocket.
TeamsMicrosoft Teams bot via an HTTPS webhook.

You enable platforms in the agent's config or through environment variables. The AI config generator can set them up for you — just mention the platform in your description.

Hermes agent supports additional messaging platforms beyond these. See the messaging overview for the full list.

API server

The API server exposes the agent as an OpenAI-compatible HTTP endpoint. Any frontend that speaks the OpenAI format can connect and use the agent as a backend with its full toolset.

Required env vars:

VariableDescription
API_SERVER_ENABLEDSet to true to enable.
API_SERVER_KEYBearer token for auth.

For the full configuration reference, see the API server guide.

Webhook

The webhook platform runs an HTTP server that accepts HMAC-signed webhooks, transforms payloads into agent prompts, and routes responses to a delivery target (Slack, Discord, GitHub comments, and more).

Required config:

FieldDescription
platforms.webhook.enabledSet to true to enable.

Required env vars:

VariableDescription
WEBHOOK_SECRETHMAC secret used to validate incoming webhooks.

For the full route and delivery-target reference, see the webhook configuration guide.

Slack

The agent connects to Slack via Socket Mode (a WebSocket — no public HTTP endpoint needed). You'll need to create a Slack app first; follow the official Slack setup guide to get the bot token and app-level token.

Required env vars:

VariableDescription
SLACK_BOT_TOKENBot token (xoxb-...). Sensitive.
SLACK_APP_TOKENApp-level token for Socket Mode (xapp-...). Sensitive.
SLACK_ALLOWED_USERSComma-separated Slack member IDs allowed to talk to the agent.

Discord

The agent connects to Discord via the Gateway WebSocket. You'll need to create a Discord application and invite the bot to your server; follow the official Discord setup guide.

Required env vars:

VariableDescription
DISCORD_BOT_TOKENBot token from the Discord Developer Portal. Sensitive.

Teams

The agent acts as a Microsoft Teams bot, receiving messages via an HTTPS webhook at /api/messages. Unlike Slack, Teams requires a publicly reachable endpoint. You'll need to register the bot in Azure first; follow the official Teams setup guide.

Required env vars:

VariableDescription
TEAMS_CLIENT_IDAzure AD App (client) ID.
TEAMS_CLIENT_SECRETAzure AD client secret. Sensitive.
TEAMS_TENANT_IDAzure AD tenant ID.