Call Conversation Created
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
Unix timestamp for replay attack prevention
Unix timestamp (seconds since epoch) of when the webhook was sent - compatible with webhook-timestamp
Ed25519 signature of timestamp|payload for verification
Base64 encoded Ed25519 signature for webhook verification - compatible with webhook-signature
Payload
Example payload
{
"data": {
"record_type": "event",
"event_type": "call.conversation.created",
"id": "eb8775a6-634f-48b0-b177-d5465a8a8e9f",
"occurred_at": "2025-05-29T13:35:38.817785Z",
"created_at": "2025-05-29T13:35:38.927621Z",
"payload": {
"call_control_id": "v3:HDR1vQHx697hpP9xZ0bhlbUOWPFPDtPcxw-nuSMuC6mGVpb0euoklQ",
"call_leg_id": "cc29cce6-3c91-11f0-a8e5-02420aef3d20",
"call_session_id": "cc29c8d6-3c91-11f0-aa7c-02420aef3d20",
"client_state": "g3QAAAACbQAAAAtkYXRhX2NlbnRlcm0AAAADY2gxbQAAAApkZXBsb3ltZW50bQAAAARiYXNl",
"connection_id": "2694492062593582591",
"conversation_id": "0424805b-adc1-4ff8-9f95-e1de6883ecbe",
"from": "+13124287921",
"to": "+13125550100"
}
}
}Response
The server must return an HTTP 200, otherwise we will reattempt delivery at the failover webhook URL.
Changes
Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.