EmailElement Docs

Webhook Events Reference

Common Payload Structure

All webhook event payloads share this base structure:

{
  "type": "EventType",
  "createdAt": "2026-04-02T10:00:00Z",
  "messageId": "unique-run-id",
  "recipient": "user@example.com",
  "senderDomain": {
    "domain": "mail.yourdomain.com",
    "id": "sender-domain-id"
  },
  "sendIntegration": {
    "name": "My SendGrid",
    "id": "send-integration-id"
  },
  "esp": "SendGrid",
  "source": "ScheduledEmail",
  "sourceId": "source-id",
  "emailContent": {
    "name": "April Newsletter",
    "id": "email-content-id",
    "template": {
      "name": "Newsletter Template",
      "id": "template-id"
    },
    "fromName": {
      "name": "Company Name",
      "id": "from-name-id"
    },
    "subjectLine": {
      "name": "Check out our latest news",
      "id": "subject-line-id"
    }
  }
}

Common Fields

Field Type Description
type string The event type (Paused, Canceled, Failed, Submitted, Initiated, Retry, Sent, SoftBounced, HardBounced, Complained, Suppressed, Unsubscribed, Opened, Clicked)
createdAt string ISO 8601 timestamp of the event
messageId string Unique identifier for the email run
recipient string Recipient email address
senderDomain.domain string Sender domain used
senderDomain.id string Sender domain ID
sendIntegration.name string Name of the Send Integration
sendIntegration.id string Send Integration ID
esp string ESP that processed the email
source string Source type (e.g., ScheduledEmail, TriggeredSequence)
sourceId string Source identifier
emailContent.name string Email Content name
emailContent.id string Email Content ID
emailContent.template.name string Template name
emailContent.template.id string Template ID
emailContent.fromName.name string From Name value
emailContent.subjectLine.name string Subject line text

Event Types

Initiated

Email has been queued for sending.

  • Additional fields: none

Submitted

Email has been submitted to the ESP for delivery.

  • Additional fields: none

Sent

ESP confirmed the email was delivered to the recipient's mail server.

  • Additional fields: none

Paused

Send has been paused (manually or by system).

  • Additional fields: none

Canceled

Send has been canceled.

  • Additional fields: none

Retry

Email is being retried after a temporary failure.

  • Additional fields: none

Failed

Send attempt failed permanently.

  • Additional fields:
Field Type Description
error.reason string Error message explaining why the send failed
{
  "type": "Failed",
  "error": {
    "reason": "Authentication failed: invalid API key"
  }
}

SoftBounced

Temporary delivery failure (4xx class). May be retried.

  • Additional fields:
Field Type Description
bounce.type string Always "soft"
bounce.message string Bounce message from the receiving server
{
  "type": "SoftBounced",
  "bounce": {
    "type": "soft",
    "message": "452 Insufficient storage"
  }
}

HardBounced

Permanent delivery failure (5xx class). Address should be suppressed.

  • Additional fields:
Field Type Description
bounce.type string Always "hard"
bounce.message string Bounce message from the receiving server
{
  "type": "HardBounced",
  "bounce": {
    "type": "hard",
    "message": "550 Mailbox not found"
  }
}

Complained

Recipient marked the email as spam.

  • Additional fields: none

Suppressed

Email was blocked because the recipient is on a suppression list.

  • Additional fields: none

Unsubscribed

Recipient clicked the unsubscribe link.

  • Additional fields:
Field Type Description
unsubscribe.reason string Reason for unsubscribing (if provided)
{
  "type": "Unsubscribed",
  "unsubscribe": {
    "reason": "No longer interested"
  }
}

Opened

Recipient opened the email.

  • Additional fields:
Field Type Description
client.ipAddress string IP address of the recipient
client.userAgent string User agent string of the email client
{
  "type": "Opened",
  "client": {
    "ipAddress": "203.0.113.42",
    "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)"
  }
}

Clicked

Recipient clicked a link in the email.

  • Additional fields:
Field Type Description
client.ipAddress string IP address of the recipient
client.link string URL that was clicked
client.userAgent string User agent string of the email client
{
  "type": "Clicked",
  "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)"
  }
}

Event Summary Table

ID Event Type Description Extra Fields
1 Paused Send paused —
2 Canceled Send canceled —
3 Failed Send failed error.reason
4 Submitted Submitted to ESP —
5 Initiated Queued for sending —
6 Retry Retrying after failure —
7 Sent ESP confirmed delivery —
8 SoftBounced Temporary failure (4xx) bounce.type, bounce.message
9 HardBounced Permanent failure (5xx) bounce.type, bounce.message
10 Complained Marked as spam —
11 Suppressed Blocked by suppression list —
12 Unsubscribed Clicked unsubscribe unsubscribe.reason
13 Opened Opened the email client.ipAddress, client.userAgent
14 Clicked Clicked a link client.ipAddress, client.link, client.userAgent
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.