---
title: "A call finished"
method: POST
path: "callCompleted"
tags: ["webhooks"]
---

# A call finished

`POST callCompleted` (webhook)

POSTed as JSON to the webhook_url configured on the assistant. Delivery is best effort and fire-and-forget: a non-2xx response or a timeout is logged and NOT retried, so treat it as a notification rather than a queue. Respond 2xx quickly and do the work asynchronously. Calls shorter than FREE_CALL_SECONDS (20s by default) still fire this event even though they are not billed.

## Payload

- CallCompletedEvent: Sent to the assistant's configured webhook_url once a call ends and its summary has been produced.
  - `datetime` string, required: Server local time, 'YYYY-MM-DD HH:MM:SS'.
  - `phone` string, required: The caller's number as presented to the agent.
  - `duration` integer, required: Call duration in seconds.
  - `summary` string, required: Model-written summary of the conversation.
  - `variables` object: Every variable captured during the call, whether set by a flow marker or extracted from the transcript afterwards.

## Acknowledgement `200`

Acknowledged. Any 2xx is treated as success.

## Other responses

- `default`: Logged and dropped -- there is no retry. If you need durability, acknowledge fast and queue on your side.

---

[API](https://skmtc.dev/callagent/apis/callagent-pro-agent-api.md) · [All operations](https://skmtc.dev/callagent/apis/callagent-pro-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/callagent/apis/callagent-pro-agent-api/revisions/38072cf8a24b?raw)
