Skip to main content

Webhooks for contact preferences

See here for general information on setting up webhooks in Engage.

A contact's preferences are what tells you if the contact has agreed to receive marketing information by email, SMS, post, or not at all. The three preferences in use in Engage are:

  • acceptsEmail

  • acceptsSms

  • acceptsPostal

As a retailer, you will often need to show the contact preferences for a contact, on My Pages or at the checkout, and you need to be sure the values shown are correct before they are used, or changed over the Engage API. Since Engage is the master of these settings, the preferences will either have to be fetched every time they are needed, or some system needs to be put in place to constantly poll Engage for the current values. This is not very efficient.

It's better if you always have the correct values in your systems. Engage allows this using webhooks, through Svix, Voyado's webhooks service provider. Webhooks are a way for Engage to push events out to the client's systems. In this case, the client creates a webhook for the systems they want to keep updated about contact preference changes. Then, whenever a preference is changed in Engage, the webhook is 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 - This is triggered whenever the acceptsEmail preference changes.

  • contact.acceptsSms.changed - This is triggered whenever the acceptsSms preference changes.

Webhooks legal requirements

When you are implementing webhooks in Engage and move to a production environment, you'll need to approve Svix (Voyado's webhooks provider) as a GDPR sub-processor.