Skip to main content
Hooks API

Receive data from Envoke when contacts are created and updated using webhooks

Marcus Warren avatar
Written by Marcus Warren
Updated over 2 years ago

This article is for technical users / developers to sync contact details from Envoke to an external database (CRM).

Web hooks allow you to receive all contact data when contact details change in Envoke. You can then update your CRM system with the new data.

All data is provided in the contact data object. This includes all basic fields, custom field, tags, subscriptions and consent details.

Web hooks send data to a specific URL, similar to how push notifications work, via a POST request. Your IT team needs to add code to this URL to "listen" for changes and use the updated contact fields to update your CRM system.


The changes that can trigger web hooks are:

  • new_contact: When a new contact is inserted into Envoke

  • consent_change: When consent changes. For example when someone unsubscribes

  • form_submission: When an Envoke form is submitted. Read more about the form submission web hook.

  • preference_page_submission: When a contact updates their preferences on the email preferences page

  • api_submission: When a contact is created or updated through an API request

  • import_submission: When a contact is created or updated through an import in the Envoke interface

  • ui_submission: When a contact is created or updated manually through user actions in the Envoke interface

Use these values for the "type" field when setting up a hook.

NOTE: all of the "submission" types send a contact data object with additional fields related to the submission. For an example see: form submission web hook.

Return list of hooks

curl -X GET -u {API_USER_ID}:{API_PASSWORD} "https://e1.envoke.com/v1/hooks"


โ€‹Return a hook

Provide ID.

curl -X GET -u {API_USER_ID}:{API_PASSWORD} "https://e1.envoke.com/v1/hooks/{ID}"

Create a hook

Example data with Zapier endpoint, "consent_change" type.

curl -X POST -u {API_USER_ID}:{API_PASSWORD} -d "{\"url\":\"https://hooks.zapier.com/hooks/standard/1234/c739af1508294c6fa791f8a287cf8b8b/\",\"type\":\"consent_change\"}" "https://e1.envoke.com/v1/hooks"

Remove a hook

Provide ID.

curl -X DELETE -u {API_USER_ID}:{API_PASSWORD} "https://e1.envoke.com/v1/hooks/{ID}"
Did this answer your question?