Create Webhook

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.

Body Params
json
required

Object that contains all the following, required, parameters: active, settings, url, http_method, and name

boolean
required
Defaults to false

Set the webhook as active or inactive

json
required

Specifies the event, or events, for which a webhook should be triggered (see "Settings Description" section above for more detail)

string
required

The endpoint the webhook should hit

string
required

The http method the webhook should use

string
required

Name of the webhook

Responses

Language
Request
Response
Choose an example:
application/json