The dialer webhooks are triggered when a Dialer campaign call event occurs.
The following webhooks notify your system of key call state transitions during an outbound Dialer campaign.
Subscribe to these webhooks on the Administration > Webhooks page. For parameter descriptions, refer to the Webhook Overview article.
| Event | Description |
|---|---|
| dialer.call.answered | A contact answers a Dialer call and is connected to an agent. |
| dialer.call.hangup | A Dialer call ends unexpectedly or is disconnected. |
| dialer.call.ended | A Dialer call ends and any wrap-up activity is complete. |
dialer.call.answered
Use this event to:
- Detect when a Dialer call successfully connects to a contact
- Trigger workflows such as CRM screen pops or timers
Sample Payload Structure
The following sample shows the structure of this webhook payload and highlights where standard objects—documented in the Webhook Overview—are used. The data field typically contains one or more of these reusable objects, depending on the event type.
{
"event": "dialer.call.answered",
"object": "call",
"timestamp": "2024-05-24T08:36:39Z",
"secret": "45XXYYZZa08",
"contact_center_id": "187edc75-3008-44e3-8798-aa0bbc12yt703",
"data": {
//call object
//agent object
//campaign object
}
}Example payload
{
"event": "dialer.call.answered",
"object": "call",
"timestamp": "2024-08-14T09:50:30Z",
"secret": "12r7t8y89u97t555w",
"contact_center_id": "12345054-2f06-476d-93a1-abc22bd3b4d7",
"data": {
"id": "eb8ec211-3779-4f24-a13c-dadg6b8adc73",
"type": "dialer",
"start_time": "2024-08-14T09:50:04Z",
"agent_start_time": "2024-08-14T09:50:30Z",
"duration": {
"total": 26,
"dialing_time": 27,
"dialer_waiting": 27
},
"calling_number": "888888",
"called_number": "966551571128",
"contact_url": "https://example/995511295316",
"cdr_url": "https://cluster1.contact_center_name.com/cdr/ab8bc211-1234-4f24-a13c-cdad6b8edc73",
"agent": {
"id": 6963,
"name": "Kathy Senger",
"email": "[email protected]",
"extension": "4422",
"timezone": "Europe/Warsaw"
},
"campaign": {
"id": 9883,
"name": "Anniversary Sale",
"is_live": false
},
"campaign_lead_id": 1747647
}
}Note: This event includes agent_start_time, indicating the moment the agent joins the call.
dialer.call.hangup
Use this event to:
- Track when a Dialer call ends early (e.g., contact hangs up, machine answers)
- Log unsuccessful or incomplete call attempts
Sample Payload Structure
The following sample shows the structure of this webhook payload and highlights where standard objects—documented in the Webhook Overview—are used. The data field typically contains one or more of these reusable objects, depending on the event type.
{
"event": "dialer.call.hangup",
"object": "call",
"timestamp": "2024-05-24T08:36:39Z",
"secret": "45XXYYZZa08",
"contact_center_id": "187edc75-3008-44e3-8798-aa0bbc12yt703",
"data": {
//call object
//agent object
//campaign object
//transfers array (only when the call was transferred)
}
}Example payload
{
"event": "dialer.call.hangup",
"object": "call",
"timestamp": "2024-08-14T09:53:33Z",
"secret": "abcd7bt8y89ub78y89j9",
"contact_center_id": "12345054-2f06-476d-93a1-ab22bd3bc4d7",
"data": {
"id": "3e58b123-2636-44ce-5555-382abcd3835f",
"type": "dialer",
"start_time": "2024-08-14T09:51:42Z",
"end_time": "2024-08-14T09:53:34Z",
"duration": {
"total": 112,
"dialing_time": 112
},
"disposition": "Machine answered",
"end_reason": "Contact disconnect",
"calling_number": "888888",
"called_number": "966507347745",
"contact_url": "https://example/995511295316",
"cdr_url": "https://cluster1.contact_center_name.com/cdr/3e12b218-2636-44ab-5555-382ccfc3835f",
"campaign": {
"id": 9883,
"name": "Anniversary Sale",
"is_live": false
},
"campaign_lead_id": 1747647,
"interaction_context": {
"contact_id": 1234,
"brand": "ACME",
"language": "de-DE"
}
}
}Note: disposition and end_reason provide clues about why the call ended.
Note: If the call was transferred, transfers lists every transfer completed before this event. Refer to the Transfer object in the Webhook Overview. dialer.call.answered does not include transfers.
dialer.call.ended
Use this event to:
- Capture final call outcomes after any agent wrap-up
- Store disposition codes, wrap-up codes, and agent-entered notes
Sample Payload Structure
The following sample shows the structure of this webhook payload and highlights where standard objects—documented in the Webhook Overview—are used. The data field typically contains one or more of these reusable objects, depending on the event type.
{
"event": "dialer.call.ended",
"object": "call",
"timestamp": "2024-05-24T08:36:39Z",
"secret": "45XXYYZZa08",
"contact_center_id": "187edc75-3008-44e3-8798-aa0bbc12yt703",
"data": {
//call object
//agent object
//campaign object
//transfers array (only when the call was transferred)
}
}Example payload
{
"event": "dialer.call.ended",
"object": "call",
"timestamp": "2024-08-05T12:16:13Z",
"secret": "secret1234",
"contact_center_id": "1a234567-b8c9-012a-3456-b7c8de90abc2",
"data": {
"id": "1a234567-3456-012a-b8c9-b7c8de90a1b2",
"type": "dialer",
"start_time": "2024-08-05T12:14:21Z",
"end_time": "2024-08-05T12:16:09Z",
"agent_start_time": "2024-08-05T12:14:27Z",
"duration": {
"total": 108,
"dialing_time": 7,
"dialer_waiting": 8,
"talk_time": 75,
"hold_time": 26,
"postcall_time": 5
},
"disposition": "Answered",
"end_reason": "Contact disconnect",
"calling_number": "1",
"called_number": "123456789090",
"wrap_up_code": {
"code": "1234",
"description": "Recruited"
},
"notes": "Test",
"contact_url": "https://example/995511295316",
"cdr_url": "https://cluster1.contact_center_name.com/cdr/1a234567-3456-012a-b8c9-b7c8de90a1b2",
"agent": {
"id": 1,
"name": "Jennifer Wong",
"email": "[email protected]",
"extension": "1234",
"timezone": "Europe/Warsaw"
},
"campaign": {
"id": 1,
"name": "Big recruitment",
"is_live": false
},
"campaign_lead_id": 1747647,
"transfers": [
{
"destination_type": "agent",
"transfer_type": "blind_transfer",
"destination_id": 13243,
"destination_name": "John Smith",
"destination_number": "2585",
"timestamp": 1722860130
}
]
}
}Note: The wrap_up_code and notes fields are included only in this final event.
Note: If the call was transferred, transfers lists every transfer completed before this event. This event is sent when each agent finishes wrap-up, so the event of an agent who transferred the call may not include transfers made after they left it. For the full list, use dialer.call.hangup or call.recording.available.