Create Webhook Subscription

POST
/v1/webhooks

Create a Webhook Subscription.

Authorization

ApiKeyAuth settings.integration.api
headerAuthorization<token>

Scope: settings.integration.api

Request Body

The Webhook Subscription to be created

application/json
  1. body
name*string

The Webhook Subscription name

events?array<>

The set of events this Webhook Subscription subscribes to. Allowed values: [SLAEvaluationVoided, ConversationPending, SLAEvaluationBreached, ConversationMessageAdded, ConversationCustomAttributeUpdated, ConversationTranscriptionAdded, SLAEvaluationAchieved, ConversationAssigned, ConversationMessageDeliveryDelivered, ConversationMessageDeliveryInfo, ConversationTransferred, ConversationEnqueued, AgentUnbannedEnduser, TypingStarted, ConversationCreated, ConversationUnassigned, ConversationOpen, ConversationAbandoned, ConversationClosed, ConversationMessageDeliveryFailed, ConversationTagAdded, ConversationNoteAdded, AgentBannedEnduser, ConversationEndUserReplaced, ConversationMessageDeliverySeen, AgentUnbannedIp, ConversationMessageDeliverySent, AgentBannedIp, ConversationTagRemoved, ConversationRated, SLAEvaluationPending, ConversationMessageDeliverySpamComplaint, ConversationPendingExpired]

url*string

URL of the server that the webhook request should be sent to

authorization*||

Authorization to be added as a header in the webhook request. Can be either, Basic auth, added as 'Basic base64encoded(<username>:<password>)', Token auth, added as 'Bearer <token value>', or no auth

customHeaders*

Custom headers that will be added to the webhook request

enabled?boolean

Defines whether this Webhook Subscription is enabled or disabled. Default is true

filters?

Filters to be applied to the events of the Webhook Subscription, only filtered events will be sent out. Filters can target a conversation channel, queue...

Response Body

The created Webhook Subscription

application/json
  1. response
data*
curl -X POST 'https://dev.dixa.io/v1/webhooks' \  -H 'Authorization: <API token>' \  -H 'Content-Type: application/json' \  -d '{  "name": "Dashboard Integration",  "events": [    "ConversationCreated",    "ConversationClosed"  ],  "url": "https://example.webhook/dashboard_integration",  "authorization": {    "username": "webhook_user",    "password": "webhook_password",    "_type": "BasicAuth"  },  "customHeaders": {    "X-Automation-Webhook-Token": "<TOKEN>",    "X-Example-Header": "ExampleValue"  },  "enabled": true,  "filters": {    "Conversation": {      "strategy": "All",      "conditions": [        {          "field": "InitialChannel",          "values": [            "email",            "pstn_phone"          ],          "_type": "IsOneOf"        },        {          "field": "QueueId",          "values": [            "f0475e4c-64ae-4c8e-8644-4ed10dc8d752"          ],          "_type": "IsNotOneOf"        },        {          "field": "OperationOrigin",          "values": [            "ApiImport"          ],          "_type": "IsNotOneOf"        }      ],      "_type": "CombinedFilters"    }  }}'
{
"data": {
"id": "cb452b81-6748-40ab-af85-6559b371bc5d",
"name": "Dashboard Integration",
"subscribedEvents": [
"ConversationCreated",
"ConversationClosed"
],
"url": "https://example.webhook/dashboard_integration",
"headers": {
"Authorization": "Basic d2ViaG9va191c2VyOndlYmhvb2tfcGFzc3dvcmQ="
},
"secretKey": "4g4h988p468g785965b780684bde5546c52gge658d76b4q33fb69c526ea4bdbc",
"enabled": true,
"createdAt": "2023-08-01T09:30:15Z",
"createdBy": "e979cc3b-17b2-4850-b049-13c758763d1c",
"updatedAt": "2023-08-02T15:09:30Z",
"updatedBy": "64b777c3-eb82-49fb-bb3e-294afb5d840c",
"filters": {
"Conversation": {
"strategy": "All",
"conditions": [
{
"field": "InitialChannel",
"values": [
"email",
"pstn_phone"
],
"_type": "IsOneOf"
},
{
"field": "QueueId",
"values": [
"f0475e4c-64ae-4c8e-8644-4ed10dc8d752"
],
"_type": "IsNotOneOf"
},
{
"field": "OperationOrigin",
"values": [
"ApiImport"
],
"_type": "IsNotOneOf"
}
],
"_type": "CombinedFilters"
}
}
}
}