Webhooks & APIOutbound
chat.created
Emitted when a new chat is created from a first-contact channel event
type: chat.created
Fired when a new chat is created — the first time a contact reaches Wexio through a connected channel, or when a chat record is otherwise created for an existing contact.
When it fires
- A WhatsApp / Telegram / Viber / Instagram contact messages a connected integration for the first time.
- An internal process creates a chat record for an existing contact (e.g. a flow that opens a proactive conversation).
Not fired for subsequent messages in an existing chat — those are covered by message.inbound.created and message.outbound.created.
data shape
type Data = {
chat: ChatPayload;
contact?: ContactPayload; // The chat's primary contact, when resolvable
};chat— always present. SeeChatPayload.contact— present when the chat has a resolvable primary contact. SeeContactPayload.
Example envelope
{
"id": "evt_2a3f1d4c-9b2e-4e7a-9c8d-bd8e9a0e4c10",
"type": "chat.created",
"timestamp": "2026-04-24T14:02:10.123Z",
"data": {
"chat": {
"id": "6804f4c2a6f9f35f6e66f1a1",
"integrationId": "67f95b0126a4d1c9e3f0aa12",
"channel": "WHATSAPP",
"externalChatId": "wa_99887766",
"whatsappId": "wa_99887766",
"firstName": "Alex",
"lastName": "Stone",
"createdAt": "2026-04-24T14:02:10.000Z",
"updatedAt": "2026-04-24T14:02:10.000Z",
"archivedAt": null
},
"contact": {
"peopleId": "6804f4d5a6f9f35f6e66f1a2",
"phoneNumber": "+46700000000",
"firstName": "Alex",
"lastName": "Stone",
"createdAt": "2026-04-24T14:02:10.000Z",
"updatedAt": "2026-04-24T14:02:10.000Z"
}
},
"meta": {
"eventId": "evt_2a3f1d4c-9b2e-4e7a-9c8d-bd8e9a0e4c10",
"event": "chat.created",
"occurredAt": "2026-04-24T14:02:10.123Z",
"organisationId": "6640f3d5c8a0d7e8b7f20222",
"connectionId": "6640f45ac8a0d7e8b7f2014a",
"apiVersion": "2026-04-01",
"attempt": 1
}
}Related
chat.updated— consumer-visible field changeschat.deleted— hard-delete- Shared Types —
ChatPayload,ContactPayload - Envelope & Delivery — headers, signing, retry policy