Formatting a request

Like most Sonar APIs, the POST Create Webhook API accepts a JSON request body. In this case, the request body should include a webhook object that contains the other required parameters: active, settings, url, http_method, and name. For example:

{
  "webhook": {
    "name": "webhook to capture customer state changes",
    "active": "true",
    "settings": {
      "customer_state_changed": "true"
    },
    "url": "https://endpoint.com/catch-a-hook",
    "http_method": "POST"
  }
}

The settings parameter

The settings parameter, within the webhook object, in the request body specifies the event(s) that should trigger a webhook. Refer to Custom Webhooks for examples of the webhook payload for each event type.

The settingsparameter is a JSON object containing key:value pairs. To subscribe to an event, include the event name as the key and include "true" (as a string) as the value. For example:

"settings": {
  "new_assigned_message": "true",
  "new_unassigned_message": "true"
	}

It is not necessary to include events you don't want to subscribe to in the POST request. You can omit an event from the settings object

EventsAccepted ValuesDescription
"new_assigned_message""true", "false"Triggers webhook when a message comes from an assigned customer
"new_unassigned_message""true", "false"Triggers webhook when a message comes from an unassigned customer
"outbound_message""true", "false"Triggers webhook when a user sends a message to a customer
"customer_subscribed""true", "false"Triggers webhook when a customer gets subscribed
"customer_unsubscribed""true", "false"Triggers webhook when a customer gets unsubscribed
"user_assignment""true", "false"Triggers webhook when a customer is assigned to a user
"customer_created""true", "false"Triggers webhook when a new customer record is created
"tag_added_to_message""true", "false"Triggers webhook when a user adds a tag to a message
"tag_removed_from_message""true", "false"Triggers webhook when a user removes a tag from a message
"customer_double_opted_in""true", "false"Triggers webhook when a customer sends a message that matches the opt-in keyword configured in the your account's Double Opt-In settings.
"customer_state_changed""true", "false"Triggers webhook on several events which change the state of the customer record: close, unassign, assign, create, unsubscribe, subscribe, and snooze.

To see examples of the payload delivered by a webhook see the Webhook Payloads section on the Custom Webhooks page.

Language