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.
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 recipient server
- 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
Event Handling Examples
Get Available Events via API
You can programmatically fetch the list of available events:Related Resources
Introduction
Getting started with webhooks
Retries and Replays
Automatic retry logic and best practices
Verify Webhook Requests
Security and signature verification
Webhooks
Manage your webhooks from the AutoSend sidebar