1 - Contact preferences & consents
Preferences are a contact’s communication channel opt-ins — the acceptsEmail, acceptsPostal, and acceptsSms boolean flags that define how a contact wants to be contacted. Consents are formal agreements a contact makes regarding their data or account (e.g., “Do you agree to receive our newsletter?” or membership terms). Once set, a consent can never revert to “Not set.” The three contact preferences in use in Engage are:- acceptsEmail
- acceptsSms
- acceptsPostal
Webhook solution
For this situation, you create a webhook for the systems you want to keep updated about contact preference changes to your contacts in Engage. Then, whenever a preference is changed in Engage, the webhook will be used to inform all the subscribed external systems, keeping them all in sync with Engage. The webhooks available for syncing of contact preferences are:contact.acceptsEmail.changed
contact.acceptsEmail.changed
Triggered whenever the
acceptsEmail preference changescontact.acceptsSms.changed
contact.acceptsSms.changed
Triggered whenever the
acceptsSms preference changescontact.acceptsPostal.changed
contact.acceptsPostal.changed
Triggered whenever the
acceptsPostal preference changescontact.consent.changed
contact.consent.changed
Triggered whenever a consent value for a contact is changed
Payload structure
2 - Contact changes
Many retailers operate several systems that need access to up-to-date customer data, such as e-commerce, POS, CRM, customer service, or data platforms. If Engage is used as the source of truth for your customer data, contact webhooks can be used to keep those systems synchronized in your system whenever this data changes. The webhooks available for changes to contact data are:contact.created
contact.created
Triggered when a contact is created in Engage.
Payload structure
contact.updated
contact.updated
Triggered when a contact is updated in Engage.
Payload structure
contact.deleted
contact.deleted
Triggered when a contact is deleted in Engage.
Payload structure
3 - Loyalty
There are three webhooks available for syncing of points and vouchers in Engage:loyalty.addPoints
loyalty.addPoints
Triggered when points are added to a contact via the Engage UI or through an automation. The transaction is sent in the webhook.
Payload structure
point.balance.updated
point.balance.updated
Triggered whenever a contact’s point balance is changed.
Payload structure
reward.voucher.created
reward.voucher.created
Triggered when a new reward voucher is created for a contact.
Payload structure
promotion.multichannel.assigned
promotion.multichannel.assigned
In some retail setups, it is Engage that decides if a customer has been assigned a promotion while another system is responsible for making that benefit available in checkout, e-commerce, or POS.The multichannel promotion assignment webhook can be used to notify external systems when a promotion has been assigned, so they can create or expose the corresponding coupon or voucher.This supports event-driven orchestration across channels and helps external systems react immediately when a promotion is assigned in Engage. The event is intended to be triggered regardless of where the assignment originated, the UI, an automation activity, or by API.

