Overview
AutoSend webhooks support three categories of events:- Email Lifecycle Events - Track email sending and delivery
- Email Engagement Events - Track how recipients interact with your emails
- Email Subscription Events - Track unsubscribe and resubscribe actions
- Contact Events - Track changes to your contact database
emailId- Unique identifier for the email activityfrom- Sender email addressto- Recipient object containing email and namesubject- Email subject linetest- Boolean indicating if this is a test email (true) or production (false)campaignId- Campaign identifier (optional)templateId- Template identifier (optional)workflowAutomationId- Workflow automation identifier (optional)batchId- Batch identifier (optional)
email.unsubscribed, email.group_unsubscribed, email.group_resubscribed) and contact events have different structures for privacy reasons. See individual event details below.
Supported Event Types
Email Lifecycle:email.sent- Email successfully sent to the recipient’s mail serveremail.delivered- Email successfully deliveredemail.deferred- Email delivery temporarily delayedemail.bounced- Email failed to deliver
email.opened- Recipient opened the emailemail.clicked- Recipient clicked a link in the emailemail.spam_reported- Recipient marked email as spam
email.unsubscribed- Recipient unsubscribed globally from all emailsemail.group_unsubscribed- Recipient unsubscribed from a specific email groupemail.group_resubscribed- Recipient resubscribed to a specific email group
contact.created- New contact createdcontact.updated- Contact information updatedcontact.deleted- Contact deleted
Email Lifecycle Events
email.sent
Triggered when an email is successfully sent to the recipient’s mail server via SES.
Payload and use case
Payload and use case
Sample Payload:Data Fields:
emailId- Unique identifier for the email activityfrom- Sender email addressto- Recipient object with email and namesubject- Email subject linetest- Boolean indicating whether this is a test email (true) or production (false)campaignId- Campaign ID (optional, if sent as part of a campaign)templateId- Template ID used for the email (optional)workflowAutomationId- Workflow automation ID (optional, if sent from automation)batchId- Batch ID (optional, if sent as part of a batch)
- Track when emails are successfully accepted by SES
- Monitor email sending activity
- Trigger follow-up workflows after email dispatch
email.delivered
Triggered when AutoSend successfully delivers an email to the recipient’s mail server.
Payload and use case
Payload and use case
Sample Payload:Data Fields:
emailId- Unique identifier for the email activityfrom- Sender email addressto- Recipient object with email and namesubject- Email subject linetest- Boolean indicating whether this is a test email (true) or production (false)campaignId- Campaign ID (optional, if applicable)templateId- Template ID used (optional)workflowAutomationId- Workflow automation ID (optional, if sent from automation)batchId- Batch ID (optional, if sent as part of a batch)
- Confirm successful email delivery
- Update delivery status in your database
- Track delivery times and patterns
email.deferred
Triggered when email delivery is temporarily delayed by the recipient’s mail server.
Payload and use case
Payload and use case
Sample Payload:Data Fields:
emailId- Unique identifier for the email activityfrom- Sender email addressto- Recipient object with email and namesubject- Email subject linetest- Boolean indicating whether this is a test email (true) or production (false)campaignId- Campaign ID (optional, if applicable)templateId- Template ID used (optional)workflowAutomationId- Workflow automation ID (optional, if sent from automation)batchId- Batch ID (optional, if sent as part of a batch)delayType- Type of delay, e.g., “InternalFailure”, “MailboxFull” (optional)delayReason- Human-readable explanation of the delay (optional)expirationTime- ISO 8601 timestamp when delivery attempts will stop (optional)
- Monitor temporary delivery issues
- Track mail server responsiveness
- Alert on persistent deferral patterns
email.bounced
Triggered when an email bounces (fails to deliver).
Payload and use case
Payload and use case
Sample Payload:Data Fields:
emailId- Unique identifier for the email activityfrom- Sender email addressto- Recipient object with email and namesubject- Email subject linetest- Boolean indicating whether this is a test email (true) or production (false)campaignId- Campaign ID (optional, if applicable)templateId- Template ID used (optional)workflowAutomationId- Workflow automation ID (optional, if sent from automation)batchId- Batch ID (optional, if sent as part of a batch)bounceType- Bounce classification: “Permanent” or “Transient” (optional)bounceSubType- Detailed bounce category, e.g., “General”, “NoEmail”, “Suppressed” (optional)reason- Human-readable bounce reason from the mail server (optional)
Permanent: Hard bounce - invalid email address, domain doesn’t existTransient: Soft bounce - mailbox full, server temporarily unavailable
- Remove hard bounced emails from your list
- Retry soft bounces later
- Monitor bounce rates for sender reputation
Email Engagement Events
email.opened
Triggered when a recipient opens an email.
Payload and use case
Payload and use case
Sample Payload:Data Fields:
emailId- Unique identifier for the email activityfrom- Sender email addressto- Recipient object with email and namesubject- Email subject linetest- Boolean indicating whether this is a test email (true) or production (false)campaignId- Campaign ID (optional, if applicable)templateId- Template ID used (optional)workflowAutomationId- Workflow automation ID (optional, if sent from automation)batchId- Batch ID (optional, if sent as part of a batch)
ipAddress, userAgent, device, or location information for privacy protection.Use Cases:- Track email engagement rates
- Identify best send times
- Segment engaged vs unengaged contacts
email.clicked
Triggered when a recipient clicks a link in an email.
Payload and use case
Payload and use case
Sample Payload:Data Fields:
emailId- Unique identifier for the email activityfrom- Sender email addressto- Recipient object with email and namesubject- Email subject linetest- Boolean indicating whether this is a test email (true) or production (false)clickedUrl- The URL that was clicked (optional)campaignId- Campaign ID (optional, if applicable)templateId- Template ID used (optional)workflowAutomationId- Workflow automation ID (optional, if sent from automation)batchId- Batch ID (optional, if sent as part of a batch)
ipAddress, userAgent, or device information for privacy protection.Use Cases:- Track which links are most popular
- Identify highly engaged contacts
- Trigger follow-up campaigns based on clicked links
email.spam_reported
Triggered when a recipient marks an email as spam or files a complaint.
Payload and use case
Payload and use case
Sample Payload:Data Fields:
emailId- Unique identifier for the email activityfrom- Sender email addressto- Recipient object with email and namesubject- Email subject linetest- Boolean indicating whether this is a test email (true) or production (false)campaignId- Campaign ID (optional, if applicable)templateId- Template ID used (optional)workflowAutomationId- Workflow automation ID (optional, if sent from automation)batchId- Batch ID (optional, if sent as part of a batch)complaintType- Type of complaint: “abuse”, “fraud”, “virus”, “other” (optional)
- Automatically suppress emails that file complaints
- Monitor spam complaint rates
- Improve email content and targeting to reduce complaints
- Protect sender reputation
Email Subscription Events
email.unsubscribed
Triggered when a recipient globally unsubscribes from all emails.
Payload and use case
Payload and use case
Sample Payload:Data Fields:
emailId- Unique identifier for the email activity (optional - only present if triggered from an email)test- Boolean indicating whether this is a test email (true) or production (false)campaignId- Campaign ID (optional - only present if triggered from a campaign email)templateId- Template ID (optional - only present if triggered from an email)workflowAutomationId- Workflow automation ID (optional - only present if triggered from automation email)batchId- Batch ID (optional - only present if triggered from batch email)
- This event does NOT include
from,to, orsubjectfields for privacy protection - Fields like
emailId,campaignId,templateId,workflowAutomationId, andbatchIdare optional and only present when the unsubscribe is triggered from an email context
- Automatically remove contacts from all mailing lists
- Update contact preferences in your CRM
- Track global unsubscribe reasons for analytics
- Ensure compliance with email regulations
email.group_unsubscribed
Triggered when a recipient unsubscribes from a specific email group or suppression group (but not all emails).
Payload and use case
Payload and use case
Sample Payload:Data Fields:
emailId- Unique identifier for the email activity (optional - only present if triggered from an email)test- Boolean indicating whether this is a test email (true) or production (false)unsubscribeGroupId- The specific group ID they unsubscribed from (optional)campaignId- Campaign ID (optional - only present if triggered from a campaign email)templateId- Template ID (optional - only present if triggered from an email)workflowAutomationId- Workflow automation ID (optional - only present if triggered from automation email)batchId- Batch ID (optional - only present if triggered from batch email)
- This event does NOT include
from,to, orsubjectfields for privacy protection - Fields like
emailId,campaignId,templateId,workflowAutomationId, andbatchIdare optional and only present when the unsubscribe is triggered from an email context
- Remove contacts from specific mailing lists or segments
- Allow granular subscription management
- Track which email categories users opt out of
- Maintain subscriber preferences across different email types
email.group_resubscribed
Triggered when a recipient resubscribes to a specific email group they previously unsubscribed from.
Payload and use case
Payload and use case
Sample Payload:Data Fields:
emailId- Unique identifier for the email activity (optional)test- Boolean indicating whether this is a test email (true) or production (false)unsubscribeGroupId- The specific group ID they resubscribed to (optional)campaignId- Campaign ID (optional)
- This event does NOT include
from,to, orsubjectfields for privacy protection
- Re-add contacts to specific mailing lists
- Track re-engagement patterns
- Update subscription preferences in your CRM
- Resume sending specific types of emails to the contact
Contact Events
contact.created
Triggered when a new contact is created in your AutoSend project.
Payload and use case
Payload and use case
Sample Payload:Data Fields:
contactId- Unique identifier for the contact (optional)email- Contact’s email address (optional)name- Contact’s name (optional)
- Sync new contacts to your CRM
- Trigger welcome email sequences
- Update analytics dashboards
- Initialize contact tracking in external systems
contact.updated
Triggered when an existing contact’s information is updated.
Payload and use case
Payload and use case
Sample Payload:Data Fields:
contactId- Unique identifier for the contact (optional)email- Contact’s email address (optional)name- Contact’s name (optional)changedFields- List of field names that were changed (optional)
- Keep contact data synchronized across systems
- Track contact lifecycle changes
- Trigger workflows based on specific field changes
- Update contact profiles in external databases
contact.deleted
Triggered when a contact is deleted from your AutoSend project.
Payload and use case
Payload and use case
Sample Payload:Data Fields:
contactId- Unique identifier for the deleted contact (optional)email- Contact’s email address for reference (optional)
- Remove contacts from external systems
- Update contact counts and analytics
- Maintain data consistency across platforms
- Ensure GDPR/privacy compliance in external systems