EmailElement Docs

Webhook Event Types and Payloads

Event Types

ID Event Description
1 Paused Send paused
2 Canceled Send canceled
3 Failed Send attempt failed
4 Submitted Email submitted to ESP
5 Initiated Email queued for processing
6 Retry Retrying after failure
7 Sent ESP confirmed delivery
8 SoftBounced Temporary delivery failure (4xx)
9 HardBounced Permanent delivery failure (5xx)
10 Complained Recipient reported spam
11 Suppressed Blocked by suppression list
12 Unsubscribed Recipient unsubscribed
13 Opened Recipient opened email
14 Clicked Recipient clicked link

Base Payload (all events)

Every event includes these fields:

Field Description
type Event type string
createdAt ISO 8601 timestamp
messageId Unique run ID
recipient Recipient email
senderDomain Object: domain, id
sendIntegration Object: name, id
esp ESP name
source Source type (e.g., ScheduledEmail)
sourceId Source identifier
emailContent Object: name, id, template (name, id), fromName (name, id), subjectLine (name, id)

Event-Specific Fields

Event Extra Fields
Failed error.reason — error message
SoftBounced bounce.type ("soft"), bounce.message — bounce reason
HardBounced bounce.type ("hard"), bounce.message — bounce reason
Unsubscribed unsubscribe.reason — reason if provided
Opened client.ipAddress, client.userAgent
Clicked client.ipAddress, client.link, client.userAgent

Example Payload (Sent)

{
  "type": "Sent",
  "createdAt": "2026-04-02T10:00:05Z",
  "messageId": "run-abc123",
  "recipient": "user@example.com",
  "senderDomain": {
    "domain": "mail.yourdomain.com",
    "id": "sd-123"
  },
  "sendIntegration": {
    "name": "My SendGrid",
    "id": "si-456"
  },
  "esp": "SendGrid",
  "source": "ScheduledEmail",
  "sourceId": "se-789",
  "emailContent": {
    "name": "April Newsletter",
    "id": "ec-101",
    "template": {
      "name": "Newsletter Template",
      "id": "t-201"
    },
    "fromName": {
      "name": "Company Name",
      "id": "fn-301"
    },
    "subjectLine": {
      "name": "Check out our latest news",
      "id": "sl-401"
    }
  }
}

Example Payload (HardBounced)

{
  "type": "HardBounced",
  "createdAt": "2026-04-02T10:00:05Z",
  "messageId": "run-abc123",
  "recipient": "invalid@example.com",
  "senderDomain": { "domain": "mail.yourdomain.com", "id": "sd-123" },
  "sendIntegration": { "name": "My SendGrid", "id": "si-456" },
  "esp": "SendGrid",
  "source": "ScheduledEmail",
  "sourceId": "se-789",
  "emailContent": {
    "name": "April Newsletter",
    "id": "ec-101",
    "template": { "name": "Newsletter Template", "id": "t-201" },
    "fromName": { "name": "Company Name", "id": "fn-301" },
    "subjectLine": { "name": "Check out our latest news", "id": "sl-401" }
  },
  "bounce": {
    "type": "hard",
    "message": "550 Mailbox not found"
  }
}

Example Payload (Clicked)

{
  "type": "Clicked",
  "createdAt": "2026-04-02T10:16:00Z",
  "messageId": "run-abc123",
  "recipient": "user@example.com",
  "senderDomain": { "domain": "mail.yourdomain.com", "id": "sd-123" },
  "sendIntegration": { "name": "My SendGrid", "id": "si-456" },
  "esp": "SendGrid",
  "source": "ScheduledEmail",
  "sourceId": "se-789",
  "emailContent": {
    "name": "April Newsletter",
    "id": "ec-101",
    "template": { "name": "Newsletter Template", "id": "t-201" },
    "fromName": { "name": "Company Name", "id": "fn-301" },
    "subjectLine": { "name": "Check out our latest news", "id": "sl-401" }
  },
  "client": {
    "ipAddress": "203.0.113.42",
    "link": "https://example.com/offer",
    "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)"
  }
}
Something went wrong. Reloading the page usually fixes it. Reload ×

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.