Webhook Events Reference
This page lists every event you can subscribe to. Events are grouped by the
entity that changed. The data field in each delivery payload contains the
corresponding API resource representation for that entity.
For the delivery envelope format and signature verification, see Webhooks Overview.
Event List
Audience Member
These events fire when an audience member record is created, updated, or deleted.
| Event | Trigger | Payload data |
|---|---|---|
audience_member.created | Fired when a new audience member is created. | AudienceMemberResource |
audience_member.updated | Fired when an audience member is updated (excludes activity-only changes). | AudienceMemberResource |
audience_member.deleted | Fired when an audience member is deleted. | AudienceMemberResource |
audience_member.updated is not fired for activity-only changes such as
last_active_at updates. It fires only when meaningful profile data changes.
External Profile
External profiles store data from third-party providers (such as a CRM or identity provider) attached to a member.
| Event | Trigger | Payload data |
|---|---|---|
audience_member.external_profile.created | Fired when an external profile is added to a member. | AudienceMemberExternalProfileResource |
audience_member.external_profile.updated | Fired when an external profile is updated. | AudienceMemberExternalProfileResource |
audience_member.external_profile.deleted | Fired when an external profile is removed. | AudienceMemberExternalProfileResource |
Foreign Key
Foreign keys link an audience member to an identifier in an external system (for example, a CRM contact ID or a subscriber ID in your publishing platform).
| Event | Trigger | Payload data |
|---|---|---|
audience_member.foreign_key.created | Fired when a foreign key is attached to a member. | AudienceMemberForeignKeyResource |
audience_member.foreign_key.updated | Fired when a foreign key is updated. | AudienceMemberForeignKeyResource |
audience_member.foreign_key.deleted | Fired when a foreign key is removed. | AudienceMemberForeignKeyResource |
Entitlement
Entitlement events fire when a member's access to a product changes.
| Event | Trigger | Payload data |
|---|---|---|
entitlement.created | Fired when an entitlement is granted. | EntitlementResource |
entitlement.updated | Fired when an entitlement is updated. | EntitlementResource |
entitlement.deleted | Fired when an entitlement is deleted. | EntitlementResource |
Purchase
Purchase events fire when a member's purchase is created or changes (for
example, a refund). Purchases are not hard-deleted, so there is no
purchase.deleted event.
| Event | Trigger | Payload data |
|---|---|---|
purchase.created | Fired when a purchase is created. | PurchaseWebhookResource |
purchase.updated | Fired when a purchase is updated (for example, refunded). | PurchaseWebhookResource |
Interaction
Interaction events fire when an interaction is created, updated, or deleted.
| Event | Trigger | Payload data |
|---|---|---|
interaction.created | Fired when an interaction is created. | InteractionWebhookResource |
interaction.updated | Fired when an interaction is updated. | InteractionWebhookResource |
interaction.deleted | Fired when an interaction is deleted. | InteractionWebhookResource |
Template
Template events fire when a template is created, updated, or deleted.
| Event | Trigger | Payload data |
|---|---|---|
template.created | Fired when a template is created. | TemplateWebhookResource |
template.updated | Fired when a template is updated. | TemplateWebhookResource |
template.deleted | Fired when a template is deleted. | TemplateWebhookResource |
System
| Event | Trigger | Payload data |
|---|---|---|
ping | A test event sent when an active webhook is created. | The webhook's id, subscribed events, and created_at. |
The ping event is not subscribable — it is sent automatically and cannot be
selected when configuring event subscriptions.
Example Payload
The following is a complete delivery envelope for an entitlement.created
event:
{
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"event": "entitlement.created",
"created_at": "2024-10-15T14:32:00Z",
"data": {
"id": "01j9z1a0000000000000000001",
"type": "entitlement",
"attributes": {
"product_id": "01j8x0b0000000000000000001",
"product_name": "Digital Subscription",
"audience_member_id": "01j7w0c0000000000000000001",
"starts_at": "2024-10-15T00:00:00Z",
"expires_at": null,
"status": "active",
"source": "manual",
"created_at": "2024-10-15T14:32:00Z",
"updated_at": "2024-10-15T14:32:00Z"
}
}
}
Adding New Events
The subscribable event list is generated from the WebhookEventType registry in
the platform. New event types registered there become immediately available in
the webhook subscription UI and in this reference.
Related
- Webhooks Overview — creating webhooks, delivery envelope, signature verification, and retries
- Entitlements — how entitlements and products work
- Audience Members — member profiles and data