Contact and Message Event Subscriptions
Choose which workspace contact and outbound message events should be delivered to each webhook destination.
An event subscription connects a webhook destination to one or more workspace events. One subscription can mix contact and message event types. Leadpush sends a delivery when a selected event happens and both the subscription and destination are enabled.
Before you start
- Create at least one webhook destination.
- Confirm the destination receiver can accept a test delivery.
- Decide which contact and message events the receiver needs.
- Make sure you are in the correct workspace.
Create an event subscription
Open Webhooks
Open Integrations, choose Webhooks, and go to Event Subscriptions.
Create a subscription
Click Create Subscription.
Choose a destination
Select the webhook destination that should receive the events.
Name the subscription
Use a recognizable name, such as CRM Contact Sync or Lifecycle Audit Feed.
Select events
Choose one or more events from the Contact lifecycle and Message activity groups.
Save the subscription
Save the subscription and leave it enabled when deliveries should start immediately.
Supported contact events
| Event | Use it when |
|---|---|
contact.created | A downstream system needs every new contact. |
contact.updated | A downstream system needs contact profile or attribute changes. |
contact.deleted | A downstream system should remove or mark deleted contacts. |
contact.subscribed | A downstream system tracks email subscription status. |
contact.unsubscribed | A downstream system tracks unsubscribe events. |
Supported message events
| Event | Use it when |
|---|---|
message.sent | A downstream system tracks messages accepted for sending. |
message.delivered | A downstream system tracks successful delivery. |
message.deferred | A downstream system handles temporary delivery failures. |
message.bounced | A downstream system handles permanent delivery failures. |
message.rejected | A downstream system tracks messages rejected before delivery. |
message.opened | A downstream system analyzes every recorded open. |
message.clicked | A downstream system analyzes every recorded link click. |
message.complained | A downstream system handles spam complaints. |
message.unsubscribed | A downstream system tracks unsubscribes attributed to a message. |
Soft bounces map to message.deferred. Hard bounces, legacy bounces, and bounce events without a subtype map to message.bounced.
Delivery behavior
Leadpush only sends a subscribed event delivery when:
- the event subscription is enabled
- the destination is enabled
- the subscription includes the event type
- the event belongs to the same workspace as the destination
If a destination is disabled, Leadpush does not create new deliveries for that destination. Simulated or test-mode messages do not emit live message events.
Repeated opens and clicks produce separate webhook events. Use the stable event.id to deduplicate retries, and inspect event.duplicate or event.click_duplicate when you need first-occurrence reporting.
Subscription strategy
Use separate subscriptions when receivers have different responsibilities. For example:
- send
contact.createdandcontact.updatedto a CRM - send
contact.unsubscribedto a compliance system - send delivery and bounce events to an operational message pipeline
- send all contact and message events to a data warehouse
Use one subscription with multiple events when the same receiver should handle the same payload family.
Edit or disable a subscription
Edit a subscription when you need to change the destination, name, enabled state, or selected events. Disable a subscription when you want to pause new deliveries but keep the configuration.
Deleting a subscription stops future deliveries for that subscription. Existing delivery history remains tied to the delivery records that were already created.