Files
hermes-agent/optional-skills/email/agentmail/references/webhooks.md
T
Haakam Aujla 14320d18df feat(skills): rewrite AgentMail optional skill CLI-first
Replaces the stale MCP-first AgentMail skill with CLI-first guidance:
self-signup + OTP verification, inbox/message/thread/label/attachment
flows, webhook and WebSocket delivery references, and MCP as an
alternative path. Declares AGENTMAIL_API_KEY (optional) so a stored key
reaches the sandboxed terminal while self-signup stays viable without
one.

Salvaged from PR #60811 — kept in optional-skills/ per the March 2026
decision that third-party-API-key skills are not bundled.
2026-08-27 07:09:26 -07:00

851 B

AgentMail Webhooks

Use webhooks when a public HTTPS server should receive AgentMail events. Use websockets.md for local processes without a public URL.

Create

agentmail webhooks create \
  --url https://your-app.example.com/webhooks/agentmail \
  --event-type message.received \
  --inbox-id support@agentmail.to \
  --client-id support-agentmail-webhook \
  --format json

Store the returned secret immediately.

Handle

Headers: svix-id, svix-timestamp, svix-signature.

  1. Verify the raw request body with the webhook secret.
  2. Dedupe by svix-id or event_id.
  3. Return 200 quickly.
  4. Process asynchronously.
  5. For message.received, load the thread with the CLI and reply if needed.

Act on message.received only. Treating message.sent or delivery events as inbound work creates loops.