A webhook enables you to receive notifications for message delivery status, allowing you to track the status of your campaign in real time. To receive notifications on SMS messages via Webhooks, you can create a webhook project here.

Set up endpoints/customer specific URL

A webhook endpoint receives requests from Interact, notifying you about events related to your SMS campaign such as messages submitted, failed, and delivered. Enter the URL of your domain that would receive the requests from Interact in "Webhook endpoint URL".

Verify webhook endpoint

Click "Verify" to receive a secret to the endpoint URL mentioned above. The webhook endpoint must return a 200 OK response with the secret in response body to successfully verify and create the webhook.


Signature

Additionally, you can verify the authenticity of requests from Webex Interact with an optional signature of your choice.

Choose Topics

While configuring a webhook, use the Topics section to choose which events you want to receive.

For example, if you subscribe to the delivered event, you'll receive a webhook every time a message is successfully delivered to a customer.

Sample webhook event responses

//Sample response for a message submitted to operator
{
  "specversion": "1.0",
  "type": "com.interact.messages.sms.status",
  "source": "https://api.webexinteract.com/v1/sms",
  "id": "evt_2z01l2qQ8MRVmFZSUQHHxIjVvje",
  "time": "2025-06-25T12:08:43Z",
  "datacontenttype": "application/json",
  "data": {
    "status": "submitted",
    "channel": "sms",
    "code": "1003",
    "phone_number": "+447810000001"
  },
  "correlation_id": "tid_2z01kRVL89GGMsgtgFuHk2hlGMI"
}
//Sample response for a message submitted to operator
{
  "specversion": "1.0",
  "type": "com.interact.messages.sms.status",
  "source": "https://api.webexinteract.com/v1/sms",
  "id": "evt_2z01qjadl6TAWfvlPmMGbarsJf5",
  "time": "2025-06-25T12:09:28Z",
  "datacontenttype": "application/json",
  "data": {
    "status": "delivered",
    "channel": "sms",
    "phone_number": "+447810000001"
  },
  "correlation_id": "cid_2z01q0zTb4vrmD2IrHdM1CDs4MK"
}
//Sample response for a failed message
{
  "specversion": "1.0",
  "type": "com.interact.messages.sms.status",
  "source": "https://api.webexinteract.com/v1/sms",
  "id": "evt_2z020YIp98J0ow5egHEVQJQd2Sx",
  "time": "2025-06-25T12:10:47Z",
  "datacontenttype": "application/json",
  "data": {
    "status": "failed",
    "channel": "sms",
    "phone_number": "+447810000001"
  },
  "correlation_id": "cid_2z020eQ8n2u2Y2YvIqiihTsaSIV"
}
//Sample response when a user clicks on a shortlink in the sent SMS
{
  "specversion": "1.0",
  "type": "com.interact.messages.sms.status",
  "source": "https://api.webexinteract.com/v1/sms",
  "id": "evt_2z01sjpOJu253EcKbQehggtPnGv",
  "time": "2025-06-25T12:09:44Z",
  "datacontenttype": "application/json",
  "data": {
    "status": "clicked",
    "channel": "sms"
  },
  "correlation_id": "evt_2z01s351oqgaHgpYjWxipr3SEg3"
}

//Sample response when a user replies to your number
{
  "specversion": "1.0",
  "type": "com.interact.messages.sms.status",
  "source": "https://api.webexinteract.com/v1/sms",
  "id": "evt_2z01rKkdxq3oKzf013lxmn127v8",
  "time": "2025-06-25T12:09:33Z",
  "datacontenttype": "application/json",
  "data": {
    "status": "inbound",
    "channel": "sms",
    "message": "crn-interact",
    "phone_number": "+447838979854",
    "inbound_number": "+4478600082XX",
    "inbound_number_id": "num_2yuxhMhvveEjsqYuHm68rslycA8"
  },
  "correlation_id": "cid_2z01rLJP7wm5KhVPuvvUj0TfvwT"
}

Webhook parameters


ParameterDescription
typeSpecifies the event type such as SMS message status update.
sourceIndicates the event's origin, such as the API URL..
idunique webhook event identifier
timeTimestamp (ISO 8601 format) of the event.
datacontenttypeSpecifies the data format, typically "application/json".
→ statusSMS message status (submitted, delivered, failed, clicked).
→ channelSpecifies channel used to send the message
→ codeStatus code providing information about the message state.
→phone_numberRecipient phone number.
→ correlation_idA unique identifier assigned to each request for tracking and reference. It can be included in API requests as per your preference. If not, Interact will assign automatically.
(For inbound message event only)
→ messageIncoming message content
→ inbound_numberInteract number on which you received an inbound message
→ inbound_number_idID of interact number on which you received an inbound message