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 contact preferences in use in Customer Engagement 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 Customer Engagement. Then, whenever a preference is changed in Customer Engagement, the webhook will be used to inform all the subscribed external systems, keeping them all in sync with Customer Engagement. 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 Customer Engagement 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 Customer Engagement.
Payload structure
contact.updated
contact.updated
Triggered when a contact is updated in Customer Engagement.
Payload structure
contact.deleted
contact.deleted
Triggered when a contact is deleted in Customer Engagement.
Payload structure
3 - Loyalty
There are webhooks available for syncing of points and vouchers in Customer Engagement:loyalty.addPoints
loyalty.addPoints
Triggered when points are added to a contact via the Customer Engagement 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 Customer Engagement that decides if a customer has been assigned a promotion, while another system is responsible for making that benefit available in checkout, e-com, or POS. This, 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 when a promotion is assigned in Customer Engagement.
Payload example