About Webhooks

Webhooks allow you to get automatic notifications from Zingle about changes to your data as they happen.

Rather than requiring you to pull information via our API, webhooks will push information to your endpoint. When one of those events is triggered, Zingle will send this notification as an HTTP POST request, with a JSON body, to the endpoint(s) you specify.

For example, if your business is managing contacts in a separate CRM and want to maintain a comprehensive set of Contacts, the "Contact Created / Updated / Deleted" webhooks could be used to create and update contacts in your CRM real-time as contacts are created an updated in Zingle.

Setup

1. Start by navigating to the Webhooks integration page. Admin Settings > Integrations > Webhooks. 

2. Insert your Webhook URL, something like this:

3. Select the events to send.

  • For "Contact" events, all existing contact fields on the service will be sent over:

    • First Name (if any)

    • Last Name (if any)

    • Channels (if any) - Phone Number, Email, FB Messenger, WhatsApp

    • Contact Fields (if any)

4. If you'd like use to set any header values, enter the header name on the left and value on the right.

5. Toggle on the webhook and select Save Configuration to enable.

Example payload from "Opt-in" event Webhook

{
    // block or unblock
    "action":              "block",
    // inbound or outbound
    "direction":           "outbound",
    // Zingle service ID
    "service_id":          "b08c6005-b53d-4f06-4324-2938a6812d94",
    "service_name":        "Hotel California",
    // Zingle contact ID
    "contact_id":          "124f6027-b73d-4f06-8fec-2938a683ce93",
    // Contact PMS Profile ID
    "contact_external_id": "19878887",
    "contact_phone":       "+18585551874",
    "service_phone":       "+16195558727",
    // If true, block was initiated by contact.  If false, block was initiated by Zingle user
    "is_auto_blocked":     true
}

Example payload from "Outbound Message Failed" event Webhook

{
"event": "outbound_message_failed",
"contact": {
"id": "53cab5e5-291b-4a5c-872c-c95352430711",
"firstName": null,
"lastName": null,
"title": null,
"fullName": ""
},
"service": {
"id": 1,
"uuid": "eb3fc076-9b1b-42e0-a481-57670e27d681",
"displayName": "Zingle Dev"
},
"channel": {
"type": "phone_number",
"value": "+17605555531",
"formattedValue": "(760) 555-5531",
"metadata": {
"location": {
"country": "US"
}
}
},
"error": "Error message goes here",
"timestamp": "2022-01-27T17:10:12+0000"
}

NOTE: Webhook functionality is not available for HIPAA customers at this time.

Did this answer your question?