Msg91 Help Doc
Webhook (New)
How to Receive Voice Call Reports via Webhook

How to Receive Voice Call Reports via Webhook

You can use the Webhook feature on the MSG91 platform to receive delivery reports for your Outbound and Inbound Voice calls. Follow the steps below to set it up.

1. Log in to your MSG91 Dashboard » Voice » Webhook » Click on Create Webhook.

VoiceDashboard.png

2. Configure Your Webhook

VoiceSteps (1).png

Step 1. Provide a name to your webhook.

Step 2. Select Voice and the event type “Report Received.”

This event type will provide real-time delivery reports of your outbound and inbound calls, including success/failure status and additional details.

Step 3. Select the Method as Post and enter your Webhook URL (Callback URL) where you want to receive reports.

Step 4. Customize Data Parameters:

Use { to add fields/ parameters you want to receive.

You can include or exclude fields as needed. Ensure parameters follow valid JSON formatting.

Example JSON payload that has all the available parameters:

{

  "uuid": "{{uuid}}",

  "CRQID": "{{CRQID}}",

  "requestedAt": "{{requestedAt}}",

  "status": "{{status}}",

  "duration": "{{duration}}",

  "charged": "{{charged}}",

  "startTime": "{{startTime}}",

  "endTime": "{{endTime}}",

  "destination": "{{destination}}",

  "type": "{{type}}",

  "ivrInputs": "{{ivrInputs}}",

  "callerId": "{{callerId}}",

  "agentId": "{{agentId}}",

  "destinationB": "{{destinationB}}",

  "failureReason": "{{failureReason}}",

  "direction": "{{direction}}",

  "agentName": "{{agentName}}",

  "source": "{{source}}"

}

Description of the parameters:

  • uuid
    Unique reference ID that gets generated at our end for every call request.
    Example: "uuid": "8ee1c0bcd7664939a3c92359b3328272"

  • CRQID
    A custom parameter you can pass in the API body. You will receive the same value in the webhook.
    Example: "CRQID": "MSG91_Voice"

  • requestedAt
    Timestamp when an outbound or inbound call was initiated.
    Example: "requestedAt": "2025-07-14 09:23:27"

  • status
    Status of your call - Queued/ Completed/ Ringing/ Failed/ Busy
    Example: "status": "delivered"

  • duration
    Duration of the call in seconds.
    Example: "duration": "19"

  • charged
    Charge deducted for your voice call.
    Example: "charged": "0.500000"

  • startTime
    Timestamp when the call (ring) was started.
    Example: "startTime": "2025-07-14 08:49:06”

  • endTime
    Timestamp when the call was ended.
    Example: "endTime": "2025-07-14 08:49:29"

  • destination
    The number to which the call was initiated. If you have used the click-to-call API, then it will show the number passed under destination A.
    Example: "destination": "91774884XXXX”

  • type
    The mode you used to call - Hello/API.
    Example: "type": "api”

  • ivrInputs
    Sequence of the IVR Inputs (numbers) pressed by the user.
    Example: "ivrInputs": " 1 9 4 99266036XX"

  • callerId
    MSG91 Caller ID (Number) you used to make a call.
    Example: "callerId": "917316914325"

  • agentId
    ID of the agent (member in Hello) who either initiated the call or received it.
    Example: "agentId": "395729"

  • destinationB
    If you used the click-to-call API, then it will show the number passed under the destination B.
      Example: "destinationB": "918818888733"

  • failureReason
    The reason due to which the call failed.
    Example: "failureReason": "User Unreachable"

  • direction
    Direction of the call - Outbound/Inbound
    Example: "direction": "outbound"

  • agentName
    Name of the agent (member’s name in Hello) who either initiated the call or received it.
    Example: "agentName": "Manas Patel"

  • source
    For outbound calls:

"0" indicates the call was initiated from the Panel (Dashboard)

"1" indicates the call was initiated via API
Example: "source": "1"

          For inbound calls:

Displays the user’s mobile number who initiated the call
Example: "source": "917748847XXX"

Sample payload of the data received on Webhook:

{

  "uuid": "8ee1c0bcd7664939a3c92359b3328272",

  "CRQID": "MSG91_voice",

  "requestedAt": "2025-07-14 08:49:06",

  "status": "completed",

  "duration": "11",

  "charged": "0.500000",

  "startTime": "2025-07-14 08:49:06",

  "endTime": "2025-07-14 08:49:29",

  "destination": "917748847XXX",

  "type": "api",

  "ivrInputs": "",

  "callerId": "917316914325",

  "agentId": "410079",

  "destinationB": "",

  "failureReason": "",

  "direction": "outbound",

  "agentName": "Manas Patel",

  "source": "1"

}

You can also add the Headers in the key-value pairs, and we will send all the reports including these Headers:

Voice Headers.png

Step 5. Click Create to save the Webhook.

Still have questions?
Feel free to reach us at +91 8818888733 via call or WhatsApp, or drop an email to [email protected].