> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uselevers.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhook Events

> Reference for all available webhook events and their payload structures

## Available Events

Levers sends webhook notifications for the following events:

| Event              | Description                               |
| ------------------ | ----------------------------------------- |
| `phone_call.ended` | Triggered when an AI phone call completes |

***

## phone\_call.ended

Triggered when an AI phone call finishes. This event includes comprehensive call data including transcription, sentiment analysis, and call outcome.

### Payload Schema

```json theme={null}
{
  "providerCallId": "069652c8-d01e-733e-8000-7c64a16dde5f",
  "numberFrom": "+15074106928",
  "numberTo": "+971585420805",
  "providerStatus": "pass",
  "deliveryStatus": "pass",
  "duration": 53,
  "summary": null,
  "endedReason": null,
  "callOutput": "CALL_RESULT",
  "callOutputReasoning": "Detailed evaluation and reasoning for the call result based on the conversation context and objectives.",
  "sentimentOutput": "NEUTRAL",
  "sentimentOutputReasoning": "Analysis of the contact's emotional tone and engagement level throughout the conversation.",
  "transcription": "Full transcript of the conversation between the AI assistant and the contact.",
  "recordingUrl": "levers-test-bucket:livekit-egress/56d4148b-3e6e-4095-b5c2-ca6e383357dd/6e0ac8cd-26c7-41ee-9e1e-a4cb692ba741/recording_1768238221.mp3",
  "metadata": {
    "requestMetadata": {
      "project_id": "proj_123",
      "extra_id": "custom_id_456"
    }
  }
}
```

### Field Descriptions

| Field                      | Type           | Description                                                                                                                                                                      |
| -------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `providerCallId`           | string (UUID)  | Unique identifier for the call from the telephony provider                                                                                                                       |
| `numberFrom`               | string         | The Levers phone number that made the call (E.164 format)                                                                                                                        |
| `numberTo`                 | string         | The phone number that received the call (E.164 format)                                                                                                                           |
| `providerStatus`           | string         | Status of the call from provider perspective (`pass`, `fail`)                                                                                                                    |
| `deliveryStatus`           | string         | Whether the call was successfully delivered (`pass`, `fail`)                                                                                                                     |
| `duration`                 | integer        | Call duration in seconds                                                                                                                                                         |
| `summary`                  | string \| null | Brief summary of the call (may be null)                                                                                                                                          |
| `endedReason`              | string \| null | Reason why the call ended (may be null)                                                                                                                                          |
| `callOutput`               | string         | Result of the call evaluation based on the conversation outcome                                                                                                                  |
| `callOutputReasoning`      | string         | Detailed evaluation and reasoning for the call result based on the conversation context and objectives                                                                           |
| `sentimentOutput`          | string         | Detected sentiment of the contact (`POSITIVE`, `NEUTRAL`, `NEGATIVE`)                                                                                                            |
| `sentimentOutputReasoning` | string         | Analysis of the contact's emotional tone and engagement level throughout the conversation                                                                                        |
| `transcription`            | string         | Full text transcript of the conversation                                                                                                                                         |
| `recordingUrl`             | string         | URL to the call recording audio file                                                                                                                                             |
| `metadata`                 | object         | Additional metadata about the call (key-value pairs). Contains `requestMetadata` which includes any custom data passed when initiating the call (e.g., `project_id`, `extra_id`) |

### Call Output Values

The `callOutput` field can include various outcomes such as:

| Value                 | Description                                    |
| --------------------- | ---------------------------------------------- |
| `PAYMENT EXTENSION`   | Contact requested more time to pay             |
| `PAYMENT PROMISE`     | Contact committed to paying by a specific date |
| `CALL BACK REQUESTED` | Contact asked to be called again later         |
| `WRONG NUMBER`        | The number was invalid or wrong contact        |
| `NOT INTERESTED`      | Contact declined to discuss the matter         |
| `PAYMENT COMPLETED`   | Payment was made during/after the call         |

### Sentiment Values

| Value      | Description                                     |
| ---------- | ----------------------------------------------- |
| `POSITIVE` | Contact was cooperative and engaged             |
| `NEUTRAL`  | Contact was neither cooperative nor resistant   |
| `NEGATIVE` | Contact was frustrated, angry, or uncooperative |

***

<Callout title="Next Steps" href="/webhooks/verification">
  Learn how to verify webhook signatures to secure your endpoint.
</Callout>
