---
title: "analytics-completed"
method: POST
path: "/webhook-events/analytics-completed"
tags: ["Webhooks"]
---

# analytics-completed

`POST /webhook-events/analytics-completed`

Fired **after** Atoms finishes running the configured disposition and
success metrics on the transcript. Arrives some time after
`post-conversation`.

**Delivery.** Sent as an HTTP POST with a 30 second timeout. Non-2xx
responses and network errors mark the delivery as failed; there are
no retries. Verify the `X-Signature` header before trusting the body.
For the full field-level reference, see the [Webhooks guide](/atoms/atoms-platform/features/webhooks).

## Headers

- `X-Signature` string, required

## Request body

- WebhookEventAnalyticsCompleted — Common envelope shared by every webhook event Atoms delivers to your endpoint. The `metadata` field's shape varies by event type — see the per-event schemas (`WebhookEventPreConversation`, `WebhookEventPostConversation`, `WebhookEventAnalyticsCompleted`).
  - `url` string, required — The webhook URL endpoint that received the event.
  - `description` string, required — Human-readable label configured on the webhook (e.g. "Debt Collection Agent's Endpoint").
  - `event` string, required — Event identifier in the form `{agentId}.{eventType}`.
  - `id` string, required — Unique webhook delivery ID (separate from `metadata.callId`).
  - `metadata` object, required
    - `agentId` string, required
    - `eventType` 'analytics-completed', required
    - `conversationType` string, required
    - `callId` string, required
    - `analytics` object, required
      - `summary` string, required — LLM-generated plain-text summary of the call.
      - `dispositionMetrics` WebhookEventAnalyticsMetric[], required
        - `identifier` string, required — Machine-readable metric name (e.g. `turn_taking_balance`, `escalation_needed`).
        - `value` union, required — The evaluated result. Type depends on `dispositionMetricType`.
          - integer
          - string
          - boolean
        - `confidence` number, float, required — Confidence score (0–1).
        - `reasoning` string, required — LLM-generated explanation for the assigned value.
        - `dispositionMetricPrompt` string, required — The prompt/question that was used to evaluate this metric.
        - `dispositionMetricType` 'STRING' | 'BOOLEAN' | 'INTEGER' | 'ENUM' | 'DATETIME', required — Data type of `value`.
      - `successMetrics` WebhookEventAnalyticsMetric[], required — Same schema as `dispositionMetrics`. May be empty.
        - `identifier` string, required — Machine-readable metric name (e.g. `turn_taking_balance`, `escalation_needed`).
        - `value` union, required — The evaluated result. Type depends on `dispositionMetricType`.
          - integer
          - string
          - boolean
        - `confidence` number, float, required — Confidence score (0–1).
        - `reasoning` string, required — LLM-generated explanation for the assigned value.
        - `dispositionMetricPrompt` string, required — The prompt/question that was used to evaluate this metric.
        - `dispositionMetricType` 'STRING' | 'BOOLEAN' | 'INTEGER' | 'ENUM' | 'DATETIME', required — Data type of `value`.
    - `callData` WebhookEventCallData, required — Call-level metadata shared by `post-conversation` and `analytics-completed` events. In `analytics-completed`, the `callDirection` field may be absent.
      - `fromNumber` string, required — Originating phone number in E.164 format.
      - `toNumber` string, required — Destination phone number in E.164 format.
      - `callDuration` number, float, required — Total call duration in **seconds** (float).
      - `callStatus` 'completed' | 'no_answer' | 'failed' | 'cancelled', required — Terminal status.
      - `callDirection` 'telephony_outbound' | 'telephony_inbound' — Call direction. Present on `post-conversation`; may be absent on `analytics-completed`.
      - `answerTime` string, date-time, required — ISO 8601 timestamp when the call was answered (UTC).
      - `endTime` string, date-time, required — ISO 8601 timestamp when the call ended (UTC).

## Response `2XX`

Your endpoint should return a 2XX status to acknowledge receipt.

---

[API](https://skmtc.net/smallest-inc/apis/agent-management-api.md) · [All operations](https://skmtc.net/smallest-inc/apis/agent-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/smallest-inc/agent-management-api/revisions/c2d0eb64b01a/schema)
