Configure Cisco CUBE Call Event Webhooks
PremiumCUBE webhooks send real-time call-state changes from one or more Cisco CUBE gateways to an external JSON endpoint. Use them for CRM screen pops, live call dashboards, incident automation, and workflows that must begin before a completed CDR is available.
Use a CDR webhook instead when the destination needs the completed CUCM call record or conditional post-call processing.
Before you begin
- Use Call Telemetry
0.8.7or later with an Essentials or higher license. - Configure CUBE XCC integration, then confirm that the gateway is registered and call events are arriving.
- Prepare an HTTP or HTTPS endpoint that accepts
POSTrequests with a JSON body. HTTPS is recommended. - Allow the Call Telemetry appliance to reach the destination through DNS, routing, firewalls, and any outbound proxy.
CUBE webhooks do not require CURRI and can coexist with existing Call Telemetry policy integrations.
Add a CUBE webhook
- In the sidebar, open Cubes > CUBE XCC Webhooks.
- Select Create Webhook.
- Enter a descriptive Name, optional Description, and destination URL.
- Leave Enabled on if the webhook should begin sending events after you save it.
- Select one or more Connection States.
- Under Associated Cubes, enable each gateway whose events should be sent.
- Add optional authentication or routing Headers.
- Review the Payload Preview, then select Save.
Choose connection states
Select only the states the receiving workflow needs:
| State | When it occurs | Typical use |
|---|---|---|
AUTHORIZE_CALL | The CUBE requests authorization for the call | Authorization visibility and early workflow correlation |
CALL_DELIVERY | The call proceeds to delivery | Routing-progress tracking |
ALERTING | The destination is ringing | CRM screen pops and ringing dashboards |
CONNECTED | The call is answered | Active-call status and answer-time workflows |
DISCONNECTED | The call ends | Close tickets, clear presence, or finalize a call timeline |
Selecting more states creates more requests for each call. For a simple screen pop, ALERTING may be enough; a complete live timeline commonly uses ALERTING, CONNECTED, and DISCONNECTED.
Understand the payload
Each selected call-state change sends a compact JSON body:
{
"calling_number": "+12515550100",
"called_number": "+12515550101",
"call_state": "CONNECTED",
"timestamp": "2026-07-15T15:22:04.000Z"
}
Phone-number formatting depends on the values presented by the gateway. Normalize numbers in the receiving system if it requires a consistent E.164 format.
Monitor delivery logs
In the CUBE Webhooks table, select View Logs for a webhook. Choose a date range and select Refresh to inspect recent attempts.
The log shows:
- Processing time and connection state.
- Destination HTTP status.
- The JSON request and response bodies.
- A delivery error when Call Telemetry could not complete the request.
A 2xx status means the destination accepted the request. For other results:
| Result | What to check |
|---|---|
| No log rows | Confirm the webhook is enabled, at least one gateway and state are selected, and matching calls traverse that CUBE. |
401 or 403 | Correct the authentication header or destination permissions. |
404 | Correct the webhook URL path. |
5xx | Inspect the response body and the destination service's logs. |
| Connection or timeout error | Test DNS, routing, firewall rules, TLS trust, and endpoint response time from the appliance network. |