Webhook Payloads
Webhook payloads depend on the configured use case.
Which Payload Do I Receive?
Section titled “Which Payload Do I Receive?”| Configuration | Payload sent to your endpoint |
|---|---|
Inbound email webhook without format | Raw inbound email JSON payload |
Inbound email webhook with format | Provider-specific transformed payload |
Scheduled webhook with schedule | Scheduled-run JSON payload |
Inbound Email Payload
Section titled “Inbound Email Payload”When an email arrives at the opaque email address returned by the webhook API, echoValue sends a POST request to your webhook URL with this JSON body:
{ "externalMessageId": "<CA+abc123@mail.gmail.com>", "receivedAt": "2026-04-04T09:21:35.218Z", "from": { "email": "john@gmail.com", "name": "John Snow" }, "to": [ { "email": "r_abcd1234@hook.echovalue.dev", "name": "Support Inbox" } ], "cc": [{ "email": "jane@gmail.com", "name": "Jane Doe" }], "subject": "Alert: Server down", "text": "Server #3 is not responding", "html": "<div>Server #3 is not responding</div>", "headers": {}, "attachments": [], "provider": "mail", "url": "https://hook.echovalue.dev/r_abcd1234", "raw": { "messageId": "<CA+abc123@mail.gmail.com>" }}Fields
Section titled “Fields”| Field | Type | Description |
|---|---|---|
externalMessageId | string | Unique identifier for the email message |
receivedAt | string (ISO 8601) | When the email was received |
from | object | Sender: email and optional name |
to | array | Recipient list from the inbound email source |
cc | array | CC recipients: each item has email and optional name |
subject | string | Email subject line |
text | string | Plain text body |
html | string | HTML body (if present) |
headers | object | Raw email headers as key-value pairs |
attachments | array | Attachment metadata when available |
url | string | Mailbox URL when available |
provider | string | Inbound source identifier when available |
raw | object | Raw inbound payload details when available |
The exact attachment object is source-dependent and may include additional fields.
Scheduled Webhook Payload
Section titled “Scheduled Webhook Payload”When a webhook is triggered by schedule, echoValue sends a scheduled-run payload instead of the inbound email payload:
{ "type": "scheduled_webhook_run", "webhookId": "daily-sync", "scheduledFor": "2026-04-22T12:05:00Z", "executedAt": "2026-04-22T12:05:01Z", "walletHash": "a1b2c3d4e5f6..."}| Field | Type | Description |
|---|---|---|
type | string | Always scheduled_webhook_run |
webhookId | string | Public webhook identifier |
scheduledFor | string (ISO 8601) | Time this run was scheduled for |
executedAt | string (ISO 8601) | Time the webhook call actually ran |
walletHash | string | SHA256 hash of your token |