Skip to content

Webhook Payloads

Webhook payloads depend on the configured use case.

ConfigurationPayload sent to your endpoint
Inbound email webhook without formatRaw inbound email JSON payload
Inbound email webhook with formatProvider-specific transformed payload
Scheduled webhook with scheduleScheduled-run JSON 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>"
}
}
FieldTypeDescription
externalMessageIdstringUnique identifier for the email message
receivedAtstring (ISO 8601)When the email was received
fromobjectSender: email and optional name
toarrayRecipient list from the inbound email source
ccarrayCC recipients: each item has email and optional name
subjectstringEmail subject line
textstringPlain text body
htmlstringHTML body (if present)
headersobjectRaw email headers as key-value pairs
attachmentsarrayAttachment metadata when available
urlstringMailbox URL when available
providerstringInbound source identifier when available
rawobjectRaw inbound payload details when available

The exact attachment object is source-dependent and may include additional fields.

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..."
}
FieldTypeDescription
typestringAlways scheduled_webhook_run
webhookIdstringPublic webhook identifier
scheduledForstring (ISO 8601)Time this run was scheduled for
executedAtstring (ISO 8601)Time the webhook call actually ran
walletHashstringSHA256 hash of your token