---
title: "Call Conversation Created"
method: POST
path: "callConversationCreated"
tags: ["Callbacks"]
---

# Call Conversation Created

`POST callConversationCreated` (webhook)

Emitted when a conversation is created for a call, including when an AI assistant starts automatically after an `answer` command with `assistant.id` or a `dial` command with `assistant.id`, or through `ai_assistant_start` or `gather_using_ai`. Read `data.payload.conversation_id` and correlate it with `data.payload.call_control_id`.

For the answer-with-assistant flow, the `answer` response does not include the conversation ID. This webhook supplies it during assistant startup without waiting for `call.conversation.ended` or polling the Conversations API. It is delivered to the configured Call Control webhook URL and does not require `send_message_history_updates`.

The event indicates that the conversation was created; it does not confirm that the assistant is ready to speak or that greeting audio has started.

This webhook uses Telnyx headers (telnyx-timestamp, telnyx-signature-ed25519) that are compatible with Standard Webhooks specification for SDK generation. Custom validation logic can map these to standard webhook-timestamp and webhook-signature equivalents. See https://github.com/standard-webhooks/standard-webhooks for details.

## Headers

- `telnyx-timestamp` integer, required: Unix timestamp for replay attack prevention
- `telnyx-signature-ed25519` string, required: Ed25519 signature of timestamp|payload for verification

## Payload

- CallConversationCreatedEvent
  - `data` CallConversationCreated: A conversation has been created for the call. Use the conversation ID to correlate subsequent conversation events.
    - `record_type` 'event': Identifies the type of the resource.
    - `event_type` 'call.conversation.created': The type of event being delivered.
    - `id` string, uuid: Unique identifier for the event.
    - `occurred_at` string, date-time: ISO 8601 datetime of when the event occurred.
    - `created_at` string, date-time: Timestamp when the event was created in the system.
    - `payload` object
      - `call_control_id` string: Call ID used to issue commands via Call Control API.
      - `call_leg_id` string: ID that is unique to the call leg.
      - `call_session_id` string: ID that is unique to the call session (group of related call legs).
      - `connection_id` string: Call Control App ID (formerly Telnyx connection ID) used in the call.
      - `client_state` string: Base64-encoded state received from a command.
      - `conversation_id` string, uuid: Unique identifier of the conversation created for this call.
      - `from` string: The caller's number or identifier.
      - `to` string: The callee's number or SIP address.
      - `calling_party_type` 'pstn' | 'sip': The type of calling party connection.

## Acknowledgement `200`

The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL.

---

[API](https://skmtc.dev/team-telnyx/apis/telnyx-api-2.md) - [All operations](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/llms.txt) - [OpenAPI document](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/revisions/f82938f53ff4?raw)
