> For clean Markdown of any page, append `.md` to the page URL.
> For a complete documentation index, see https://docs.sarvam.ai/llms.txt.
> For full documentation content in one file, see https://docs.sarvam.ai/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.sarvam.ai/_mcp/server.

# Deployments webhook payload

After an inbound call finishes, Sarvam sends a `POST` request to your webhook URL with the call result. Configure the webhook URL in the deployment's `webhook_config` — see [Create deployment](/conversations/api/deployments/create) and [Update deployment](/conversations/api/deployments/update).

## Payload schema

| Field                    | Type               | Description                                                                                                                                                                                                         |
| ------------------------ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `app_id`                 | string (required)  | ID of the agent.                                                                                                                                                                                                    |
| `app_version`            | integer (required) | Version of the agent.                                                                                                                                                                                               |
| `deployment_id`          | string (required)  | Deployment this call belongs to.                                                                                                                                                                                    |
| `interaction_id`         | string (required)  | Unique identifier for this call interaction. Also used as the `attempt_id` in [delivery records](/conversations/api/deployments/webhooks/list) and [retry requests](/conversations/api/deployments/webhooks/retry). |
| `user_phone_number`      | string (required)  | Phone number of the caller in E.164 format.                                                                                                                                                                         |
| `agent_phone_number`     | string (required)  | Inbound number the user dialed, in E.164 format.                                                                                                                                                                    |
| `duration`               | number             | Call duration in seconds. Defaults to `0.0`.                                                                                                                                                                        |
| `final_agent_variables`  | object \| null     | Agent variables at the end of the conversation.                                                                                                                                                                     |
| `output_agent_variables` | object \| null     | Variables collected by the agent during the call.                                                                                                                                                                   |
| `start_datetime`         | string \| null     | Timestamp when the call started (ISO 8601 UTC, e.g. `2026-09-01T18:44:15Z`).                                                                                                                                        |
| `end_datetime`           | string \| null     | Timestamp when the call ended (ISO 8601 UTC, e.g. `2026-09-01T18:44:31Z`).                                                                                                                                          |
| `interaction_transcript` | array \| null      | Transcript of the conversation as a list of turns. Each turn has `role` (`"agent"` or `"user"`), `en_text`, and optional `indic_text`.                                                                              |
| `metadata`               | object \| null     | Custom metadata from the webhook configuration.                                                                                                                                                                     |

## Example

```json
{
  "app_id": "Conversatio-4889d972-cc49",
  "app_version": 3,
  "deployment_id": "pruthviraj--8430b3a7-dfc1",
  "interaction_id": "20260828/8448d531-12:47:17-0f1a2cb7",
  "user_phone_number": "+917948229484",
  "agent_phone_number": "+918044620704",
  "duration": 51.58,
  "final_agent_variables": {
    "customer_name": "Akul",
    "call_disposition": "BUSY_CALL_BACK",
    "call_outcome": "busy_callback",
    "follow_up_required": true
  },
  "output_agent_variables": {
    "call_outcome": "busy_callback",
    "follow_up_required": true
  },
  "start_datetime": "2026-08-28T07:16:25Z",
  "end_datetime": "2026-08-28T07:17:17Z",
  "interaction_transcript": [
    { "role": "agent", "en_text": "Hello, am I speaking with Akul?", "indic_text": null },
    { "role": "user", "en_text": "Yes, speaking.", "indic_text": null },
    { "role": "agent", "en_text": "I am calling regarding your loan application.", "indic_text": null }
  ],
  "metadata": { "ref": "crm-lead-42" }
}
```