OpenMail sends webhooks when inbound email is received. Emails that are blocked by sender rules or filtered out by allowlist mode do not trigger events.Documentation Index
Fetch the complete documentation index at: https://docs.openmail.sh/llms.txt
Use this file to discover all available pages before exploring further.
Events
| Event | Description |
|---|---|
message.received | A new inbound email was delivered to an inbox |
Use cases
- Agent routing - Use
inbox_idto route inbound email to the right user or container. - Real-time replies - Trigger your agent to process and reply within seconds of receipt.
- Multi-tenant - Each inbox maps to an agent;
inbox_idin the payload tells you which one.
Payload structure
Field descriptions
| Field | Description |
|---|---|
event | Event type; currently always message.received |
event_id | Unique ID for this delivery. Use for deduplication - we may retry. |
occurred_at | When the event happened. Use to sort if events arrive out of order. |
inbox_id | The inbox that received the message |
thread_id | Conversation thread. Use with the API to fetch or send messages. |
message.id | Unique message ID |
message.from | Sender email address |
message.subject | Email subject line |
message.body_text | Plain-text body |
message.attachments | Array of attachments with url, parsedText (extracted content), and extractionMethod. See Attachments. |
Headers
| Header | Description |
|---|---|
Content-Type | application/json |
X-Timestamp | Unix timestamp (seconds) used in signature |
X-Signature | HMAC-SHA256 signature |
X-Event-Id | Unique event ID for deduplication |
Verification
HMAC signature verification.
Setup
Full implementation guide.