- Get a webhook URL and a secret or token from the platform.
- On the Webhooks page, click Add endpoint.
- Paste the URL into Endpoint URL and the secret or token into Auth header or secret. OpenMail picks the authentication scheme from its shape.
- Under Events, pick
message.receivedunless you also want the lifecycle events. - On the endpoint’s Testing tab, click Send Example to check the platform accepts it.
Hermes Agent and OpenClaw are self-hosted. OpenMail can only reach a public HTTPS URL, so expose your gateway through a reverse proxy or a tunnel such as ngrok or Tailscale Funnel. A
localhost or private address won’t work.Grok automations
Grok automation webhook triggers verify Standard Webhooks signatures, which OpenMail sends when you paste awhsec_ secret.
- In Grok, create or edit an automation and add a Webhook trigger.
- Save the automation, then copy the endpoint and signing secret shown under the trigger. Grok shows the secret only once.
- In OpenMail, add an endpoint with the Grok endpoint as the URL and the
whsec_signing secret as the secret.
Hermes Agent
The Hermes Agent webhook gateway verifies Standard Webhooks signatures on any route.-
Generate a secret:
-
Add a route to
~/.hermes/config.yamlwith that secret. Theprompttemplate reads fields from the OpenMail payload: -
Restart the gateway. The route listens at
/webhooks/openmail. -
In OpenMail, add an endpoint with the public URL of that route, for example
https://hermes.example.com/webhooks/openmail, and the samewhsec_secret.
events list empty. Hermes reads the event type from fields OpenMail doesn’t send, so a filter would drop every request. Choose events on the OpenMail endpoint instead.
OpenClaw
OpenClaw gateway hooks authenticate with a bearer token, which OpenMail sends when you paste anything that isn’t awhsec_ secret.
OpenClaw’s agent hook needs a message string, and the OpenMail payload doesn’t have one. Add a mapping that builds the message from the payload:
- Add the config above, with your own long random value for
hooks.token. Use a different value from your gateway auth token. - Reload the gateway. The mapping listens at
/hooks/openmail. - In OpenMail, add an endpoint with the public URL of that path, for example
https://openclaw.example.com/hooks/openmail, and paste the hook token as the secret. - Under Events, pick only
message.received. Lifecycle events have nomessage, so the template would render an almost empty prompt.
Related
Overview
Endpoints, scoping, and authentication.
Events
Payload fields you can use in templates.