Skip to main content
WEBHOOK
conversation.completed
{
  "eventId": "evt_01234567890abcdef",
  "eventType": "conversation.completed",
  "payload": {
    "id": "conv_1234567890abcdef",
    "phoneId": "phone_1234567890abcdef",
    "agentId": "agent_1234567890abcdef",
    "flowId": null,
    "workspaceId": "ws_1234567890abcdef",
    "callStartTime": "2023-01-01T12:00:00.000Z",
    "callEndTime": "2023-01-01T12:00:00.000Z",
    "userJoinTime": "2023-01-01T12:00:00.000Z",
    "userLeaveTime": "2023-01-01T12:00:00.000Z",
    "agentJoinTime": "2023-01-01T12:00:00.000Z",
    "agentLeaveTime": "2023-01-01T12:00:00.000Z",
    "transferStartTime": "2023-01-01T12:00:00.000Z",
    "transferEndTime": "2023-01-01T12:00:00.000Z",
    "transferUserJoinTime": "2023-01-01T12:00:00.000Z",
    "transferUserLeaveTime": "2023-01-01T12:00:00.000Z",
    "transferStatus": null,
    "customerId": "cust_1234567890abcdef",
    "customer": {
      "name": "John Doe",
      "id": "cust_1234567890abcdef",
      "createdAt": "2023-01-01T12:00:00.000Z",
      "updatedAt": "2023-01-01T12:00:00.000Z",
      "workspaceId": "ws_1234567890abcdef",
      "email": "john.doe@example.com",
      "phoneNumber": "+1234567890",
      "identifier": "john.doe",
      "priority": 1,
      "sourceFile": null,
      "source": {
        "method": "api"
      },
      "isDoNotDisturbEnabled": false,
      "metadata": {
        "custom_field": "value"
      }
    },
    "toPhoneNumber": "+1234567890",
    "fromPhoneNumber": "+0987654321",
    "transferDestination": null,
    "conversationStatus": "completed",
    "telephonyType": "outbound",
    "telephonyStatus": "completed",
    "endReason": "user_hangup",
    "recordingStatus": "completed",
    "conversationType": "telephony",
    "dynamicVariables": "{\"customer_name\": \"John Doe\", \"priority\": \"high\"}",
    "campaignId": "camp_1234567890abcdef",
    "campaignRunId": "run_1234567890abcdef",
    "recordingUrl": "https://uploads.oration.ai/public/conversations/conv_1234567890abcdef/recordings/mono.mp4",
    "transcript": "Agent: Hello, how can I help you today?\nCustomer: I'd like to know about your pricing...",
    "transcripts": [
      {
        "id": "t_1234567890abcdef",
        "conversationId": "conv_1234567890abcdef",
        "messages": "[{\"messageType\":\"userMessage\",\"message\":\"Hello, can you hear me?\",\"timestamp\":\"2026-01-26T12:45:37.578Z\"}]",
        "conversationAgentId": "ca_1234567890abcdef",
        "agentId": "agent_1234567890abcdef",
        "flowId": null,
        "createdAt": "2023-01-01T12:00:00.000Z",
        "updatedAt": "2023-01-01T12:00:00.000Z"
      },
      {
        "id": "t_1234567890abcdef",
        "conversationId": "conv_1234567890abcdef",
        "messages": "[{\"messageType\":\"userMessage\",\"message\":\"Hello, can you hear me?\",\"timestamp\":\"2026-01-26T12:45:37.578Z\"}]",
        "conversationAgentId": "ca_1234567890abcdef",
        "agentId": "agent_1235467890abcdef",
        "flowId": null,
        "createdAt": "2023-01-01T12:00:00.000Z",
        "updatedAt": "2023-01-01T12:00:00.000Z"
      }
    ],
    "postCallMetadata": null,
    "createdAt": "2023-01-01T12:00:00.000Z",
    "updatedAt": "2023-01-01T12:00:00.000Z",
    "agents": [
      {
        "id": "ca_1234567890abcdef",
        "agentId": "agent_1234567890abcdef",
        "conversationId": "conv_1234567890abcdef",
        "segmentId": null,
        "sourceHandoffId": null,
        "participantRole": "primary",
        "agentJoinTime": "2023-01-01T12:00:00.000Z",
        "agentLeaveTime": "2023-01-01T12:00:00.000Z",
        "createdAt": "2023-01-01T12:00:00.000Z",
        "updatedAt": "2023-01-01T12:00:00.000Z"
      }
    ],
    "users": [
      {
        "id": "cu_1234567890abcdef",
        "agentId": "agent_1234567890abcdef",
        "conversationId": "conv_1234567890abcdef",
        "userJoinTime": "2023-01-01T12:00:00.000Z",
        "userLeaveTime": "2023-01-01T12:00:00.000Z",
        "createdAt": "2023-01-01T12:00:00.000Z",
        "updatedAt": "2023-01-01T12:00:00.000Z"
      }
    ],
    "transfers": [
      {
        "id": "ct_1234567890abcdef",
        "agentId": "agent_1234567890abcdef",
        "conversationId": "conv_1234567890abcdef",
        "transferStartTime": "2023-01-01T12:00:00.000Z",
        "transferEndTime": "2023-01-01T12:00:00.000Z",
        "transferUserJoinTime": "2023-01-01T12:00:00.000Z",
        "transferUserLeaveTime": "2023-01-01T12:00:00.000Z",
        "transferDestination": "+15555555555",
        "transferStatus": "transfer_connected",
        "createdAt": "2023-01-01T12:00:00.000Z",
        "updatedAt": "2023-01-01T12:00:00.000Z"
      }
    ],
    "conversationCost": {
      "totalCost": 0.1395,
      "totalActualDuration": 120,
      "totalBillableDuration": 120,
      "items": [
        {
          "chargeType": "llm_call_charge",
          "cost": 0.0245,
          "actualDuration": 45,
          "billableDuration": 60,
          "providerModel": "openai/gpt-4o"
        },
        {
          "chargeType": "tts_call_charge",
          "cost": 0.012,
          "actualDuration": 42,
          "billableDuration": 45,
          "providerModel": "elevenlabs/eleven_multilingual_v2"
        },
        {
          "chargeType": "stt_call_charge",
          "cost": 0.008,
          "actualDuration": 40,
          "billableDuration": 40,
          "providerModel": "deepgram/nova-2"
        },
        {
          "chargeType": "platform_charge",
          "cost": 0.03,
          "actualDuration": 120,
          "billableDuration": 120
        },
        {
          "chargeType": "telephony_call_charge",
          "cost": 0.015,
          "actualDuration": 60,
          "billableDuration": 60
        },
        {
          "chargeType": "agent_charge",
          "cost": 0.05,
          "actualDuration": 60,
          "billableDuration": 60
        }
      ]
    }
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.oration.ai/llms.txt

Use this file to discover all available pages before exploring further.

Body

application/json
eventId
string<uuid>
required
eventType
string
required
Allowed value: "conversation.completed"
payload
object
required

Response

200

Webhook received successfully