Inbound call events

The inbound webhooks are triggered when an inbound call event occurs.

The following webhooks notify your system of key call state transitions during an inbound call.

Subscribe to these webhooks on the Administration > Webhooks page. For parameter descriptions, refer to the Webhook Overview article.

EventDescription
inbound.call.answeredAn agent answers an inbound call.
inbound.call.hangupAn inbound call ends unexpectedly.
inbound.call.endedAn inbound call is completed.

inbound.call.answered

Use this event to:

  • Detect when an inbound call connects to an agent
  • Trigger integrations such as CRM screen pops or workflow automation

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": "inbound.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 
          }
}

Example payload

{
  "event": "inbound.call.answered",
  "object": "call",
  "timestamp": "2024-08-14T10:43:54Z",
  "secret": "12t78y34uidd33esqsve",
  "contact_center_id": "12345054-2f06-476d-93a1-ae22bd3db4d7",
  "data": {
    "id": "c123b7f3-86c8-4c8c-b671-a857550abc33",
    "type": "inbound",
    "start_time": "2024-08-14T10:43:38Z",
    "agent_start_time": "2024-08-14T10:43:54Z",
    "duration": {
      "total": 16,
      "queue_time": 16
    },
    "queue": "Sales Queue",
    "script": "Sales Script",
    "calling_number": "1234567898",
    "called_number": "23456957701",
    "cdr_url": "https://cluster1.contact_center_name.com/cdr/c436b7f3-86c8-4c8c-b671-a123450ede33",
    "agent": {
      "id": 13242,
      "name": "Mary Louis",
      "email": "[email protected]",
      "extension": "2584",
      "timezone": "Europe/Warsaw"
    }
  }
}

Note: The queue_time represents the time the contact waited before being connected.


inbound.call.hangup

Use this event to:

  • Track incomplete or disconnected inbound calls
  • Log dispositions and reasons for disconnects

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": "inbound.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 
          //transfers array (only when the call was transferred)
          }
}

Example payload

{
  "event": "inbound.call.hangup",
  "object": "call",
  "timestamp": "2024-08-14T10:44:17Z",
  "secret": "ybtabc12by8yn8",
  "contact_center_id": "12345054-2f06-444d-93a1-ae22bd3db4d7",
  "data": {
    "id": "c123b7f3-86c8-4c8c-b671-a857550abc33",
    "type": "inbound",
    "start_time": "2024-08-14T10:43:38Z",
    "end_time": "2024-08-14T10:44:17Z",
    "agent_start_time": "2024-08-14T10:43:54Z",
    "duration": {
      "total": 39,
      "queue_time": 16,
      "talk_time": 23
    },
    "disposition": "Answered",
    "queue": "Service Queue",
    "end_reason": "Agent disconnect",
    "script": "Service Script",
    "calling_number": "2345678458",
    "called_number": "123482957701",
    "cdr_url": "https://cluster1.contact_center_name.com/cdr/c436b7f3-86c8-4c8c-b671-a857550ede33",
    "agent": {
      "id": 13242,
      "name": "Mary Louis",
      "email": "[email protected]",
      "extension": "2584",
      "timezone": "Europe/Warsaw"
    },
    "interaction_context": {
      "contact_id": 1234,
      "brand": "ACME",
      "language": "de-DE"
    },
    "transfers": [
      {
        "destination_type": "agent",
        "transfer_type": "blind_transfer",
        "destination_id": 13243,
        "destination_name": "John Smith",
        "destination_number": "2585",
        "timestamp": 1723632240
      }
    ]
  }
}

Note: Use disposition and end_reason fields to analyze disconnect scenarios.

Note: If the call was transferred, transfers lists every transfer completed before this event. Refer to the Transfer object in the Webhook Overview. inbound.call.answered does not include transfers.


inbound.call.ended

Use this event to:

  • Log completed inbound calls after wrap-up
  • Store wrap-up notes and codes for reporting

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": "inbound.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 
          //transfers array (only when the call was transferred)
          }
}

Example payload

{
  "event": "inbound.call.ended",
  "object": "call",
  "timestamp": "2024-08-12T07:05:09Z",
  "secret": "sgc2g83gii9",
  "contact_center_id": "1a234567-b8c9-012a-3456-b7c8de90a1b2",
  "data": {
    "id": "1a234567-b8c9-012a-3456-b7c8de90a1b2",
    "type": "inbound",
    "start_time": "2024-08-12T07:04:26Z",
    "end_time": "2024-08-12T07:05:04Z",
    "agent_start_time": "2024-08-12T07:04:38Z",
    "duration": {
      "total": 38,
      "queue_time": 5,
      "talk_time": 20,
      "hold_time": 5,
      "postcall_time": 6
    },
    "disposition": "Answered",
    "queue": "Sales",
    "end_reason": "Agent disconnect",
    "flow": "sales inbound",
    "calling_number": "123456789090",
    "called_number": "909087654321",
    "wrap_up_code": {
      "code": "0003",
      "description": "Contract updated"
    },
    "notes": "Contact requested a contract review.",
    "cdr_url": "https://cluster1.contact_center_name.com/cdr/1a234567-3456-012a-b8c9-b7c8de90a1b2",
    "agent": {
      "id": 1,
      "name": "Kathy M",
      "email": "[email protected]",
      "extension": "1234",
      "timezone": "Europe/Warsaw"
    },
    "interaction_context": {
      "contact_id": 1234,
      "brand": "ACME",
      "language": "de-DE"
    },
    "transfers": [
      {
        "destination_type": "agent",
        "transfer_type": "blind_transfer",
        "destination_id": 13243,
        "destination_name": "John Smith",
        "destination_number": "2585",
        "timestamp": 1723446285
      }
    ]
  }
}

Note: This is the only event that includes wrap_up_code and notes.

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 inbound.call.hangup or call.recording.available.


See also