object
WebhookPayload
Signed webhook event body. Deduplicate deliveries by id, which matches the webhook-id header.
Variants
Use type to choose one of `contact.created`, `contact.updated`, `contact.archived`, `conversation.started`, `conversation.updated`, `conversation.closed`, `message.created`, `message.updated`.
ContactCreatedWebhookEvent
contact.createdRequired: `id`, `type`, `timestamp`, `data`.
- Name
id- Type
- string
- Description
- Event id. Matches the `webhook-id` header and is the consumer dedupe key.
- Name
type- Type
- enum
- Description
- Required property. Allowed values: contact.created.
- Name
timestamp- Type
- string
- Description
- Time when the source domain event happened.
- Name
data- Type
- ContactWebhookEventData
- Description
- Required property.
Example
contact.created
{
"id": "string",
"type": "contact.created",
"timestamp": "string",
"data": {
"contact": {
"id": "con_01HV8Y5R5RFMS0TFK6PKF9H2S8",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"name": "Anna Kowalska",
"createdAt": "2026-04-30T09:20:00Z",
"updatedAt": "2026-04-30T10:10:00Z",
"identities": [
{
"id": "idn_01HV8Y7YF5J4Y7M9M7T3H3X2A1",
"channel": "whatsapp",
"metadata": {
"phoneNumber": "+48123456789"
}
}
],
"tagIds": [
"tag_01HV8Y9R3Q4J6A7M8N9P0Q2S4"
],
"customFields": {
"lifecycleStage": "customer",
"preferredStore": "Krakow"
},
"archivedAt": null
}
}
}ContactUpdatedWebhookEvent
contact.updatedRequired: `id`, `type`, `timestamp`, `data`.
- Name
id- Type
- string
- Description
- Event id. Matches the `webhook-id` header and is the consumer dedupe key.
- Name
type- Type
- enum
- Description
- Required property. Allowed values: contact.updated.
- Name
timestamp- Type
- string
- Description
- Time when the source domain event happened.
- Name
data- Type
- ContactWebhookEventData
- Description
- Required property.
Example
contact.updated
{
"id": "string",
"type": "contact.updated",
"timestamp": "string",
"data": {
"contact": {
"id": "con_01HV8Y5R5RFMS0TFK6PKF9H2S8",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"name": "Anna Kowalska",
"createdAt": "2026-04-30T09:20:00Z",
"updatedAt": "2026-04-30T10:10:00Z",
"identities": [
{
"id": "idn_01HV8Y7YF5J4Y7M9M7T3H3X2A1",
"channel": "whatsapp",
"metadata": {
"phoneNumber": "+48123456789"
}
}
],
"tagIds": [
"tag_01HV8Y9R3Q4J6A7M8N9P0Q2S4"
],
"customFields": {
"lifecycleStage": "customer",
"preferredStore": "Krakow"
},
"archivedAt": null
}
}
}ContactArchivedWebhookEvent
contact.archivedRequired: `id`, `type`, `timestamp`, `data`.
- Name
id- Type
- string
- Description
- Event id. Matches the `webhook-id` header and is the consumer dedupe key.
- Name
type- Type
- enum
- Description
- Required property. Allowed values: contact.archived.
- Name
timestamp- Type
- string
- Description
- Time when the source domain event happened.
- Name
data- Type
- ContactWebhookEventData
- Description
- Required property.
Example
contact.archived
{
"id": "string",
"type": "contact.archived",
"timestamp": "string",
"data": {
"contact": {
"id": "con_01HV8Y5R5RFMS0TFK6PKF9H2S8",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"name": "Anna Kowalska",
"createdAt": "2026-04-30T09:20:00Z",
"updatedAt": "2026-04-30T10:10:00Z",
"identities": [
{
"id": "idn_01HV8Y7YF5J4Y7M9M7T3H3X2A1",
"channel": "whatsapp",
"metadata": {
"phoneNumber": "+48123456789"
}
}
],
"tagIds": [
"tag_01HV8Y9R3Q4J6A7M8N9P0Q2S4"
],
"customFields": {
"lifecycleStage": "customer",
"preferredStore": "Krakow"
},
"archivedAt": null
}
}
}ConversationStartedWebhookEvent
conversation.startedRequired: `id`, `type`, `timestamp`, `data`.
- Name
id- Type
- string
- Description
- Event id. Matches the `webhook-id` header and is the consumer dedupe key.
- Name
type- Type
- enum
- Description
- Required property. Allowed values: conversation.started.
- Name
timestamp- Type
- string
- Description
- Time when the source domain event happened.
- Name
data- Type
- ConversationWebhookEventData
- Description
- Required property.
Example
conversation.started
{
"id": "string",
"type": "conversation.started",
"timestamp": "string",
"data": {
"conversation": {
"id": "cnv_01HV8Y7YF5J4Y7M9M7T3H3X2A1",
"channel": "whatsapp",
"externalId": "48123456789",
"inboxId": "ibx_01HV8Y4QH7C8H1K5K0C8A2B9E4",
"name": "Anna Kowalska",
"contactId": "con_01HV8Y5R5RFMS0TFK6PKF9H2S8",
"contactName": "Anna Kowalska",
"lastMessageAt": "2026-04-30T10:35:00Z",
"lastMessagePreview": "Thanks, I will check it now.",
"lastMessageSender": "customer"
},
"contact": {
"id": "con_01HV8Y5R5RFMS0TFK6PKF9H2S8",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"name": "Anna Kowalska",
"createdAt": "2026-04-30T09:20:00Z",
"updatedAt": "2026-04-30T10:10:00Z",
"identities": [
{
"id": "idn_01HV8Y7YF5J4Y7M9M7T3H3X2A1",
"channel": "whatsapp",
"metadata": {
"phoneNumber": "+48123456789"
}
}
],
"tagIds": [
"tag_01HV8Y9R3Q4J6A7M8N9P0Q2S4"
],
"customFields": {
"lifecycleStage": "customer",
"preferredStore": "Krakow"
},
"archivedAt": null
},
"inbox": {
"id": "ibx_01HV8Y4QH7C8H1K5K0C8A2B9E4",
"createdAt": "2026-04-30T09:00:00Z",
"updatedAt": "2026-04-30T09:10:00Z",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"channel": "whatsapp",
"externalId": "112233445566778",
"createdBy": "usr_01HV8Y3K2R6G7K3F5B9N8M1Q0",
"name": "Support WhatsApp",
"teamId": "team_01HV8Y6W0W4T5A8S9V7Q2P1M3",
"status": {
"state": "active",
"reasons": []
},
"config": {
"phoneNumberId": "112233445566778"
}
}
}
}ConversationUpdatedWebhookEvent
conversation.updatedRequired: `id`, `type`, `timestamp`, `data`.
- Name
id- Type
- string
- Description
- Event id. Matches the `webhook-id` header and is the consumer dedupe key.
- Name
type- Type
- enum
- Description
- Required property. Allowed values: conversation.updated.
- Name
timestamp- Type
- string
- Description
- Time when the source domain event happened.
- Name
data- Type
- ConversationWebhookEventData
- Description
- Required property.
Example
conversation.updated
{
"id": "string",
"type": "conversation.updated",
"timestamp": "string",
"data": {
"conversation": {
"id": "cnv_01HV8Y7YF5J4Y7M9M7T3H3X2A1",
"channel": "whatsapp",
"externalId": "48123456789",
"inboxId": "ibx_01HV8Y4QH7C8H1K5K0C8A2B9E4",
"name": "Anna Kowalska",
"contactId": "con_01HV8Y5R5RFMS0TFK6PKF9H2S8",
"contactName": "Anna Kowalska",
"lastMessageAt": "2026-04-30T10:35:00Z",
"lastMessagePreview": "Thanks, I will check it now.",
"lastMessageSender": "customer"
},
"contact": {
"id": "con_01HV8Y5R5RFMS0TFK6PKF9H2S8",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"name": "Anna Kowalska",
"createdAt": "2026-04-30T09:20:00Z",
"updatedAt": "2026-04-30T10:10:00Z",
"identities": [
{
"id": "idn_01HV8Y7YF5J4Y7M9M7T3H3X2A1",
"channel": "whatsapp",
"metadata": {
"phoneNumber": "+48123456789"
}
}
],
"tagIds": [
"tag_01HV8Y9R3Q4J6A7M8N9P0Q2S4"
],
"customFields": {
"lifecycleStage": "customer",
"preferredStore": "Krakow"
},
"archivedAt": null
},
"inbox": {
"id": "ibx_01HV8Y4QH7C8H1K5K0C8A2B9E4",
"createdAt": "2026-04-30T09:00:00Z",
"updatedAt": "2026-04-30T09:10:00Z",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"channel": "whatsapp",
"externalId": "112233445566778",
"createdBy": "usr_01HV8Y3K2R6G7K3F5B9N8M1Q0",
"name": "Support WhatsApp",
"teamId": "team_01HV8Y6W0W4T5A8S9V7Q2P1M3",
"status": {
"state": "active",
"reasons": []
},
"config": {
"phoneNumberId": "112233445566778"
}
}
}
}ConversationClosedWebhookEvent
conversation.closedRequired: `id`, `type`, `timestamp`, `data`.
- Name
id- Type
- string
- Description
- Event id. Matches the `webhook-id` header and is the consumer dedupe key.
- Name
type- Type
- enum
- Description
- Required property. Allowed values: conversation.closed.
- Name
timestamp- Type
- string
- Description
- Time when the source domain event happened.
- Name
data- Type
- ConversationWebhookEventData
- Description
- Required property.
Example
conversation.closed
{
"id": "string",
"type": "conversation.closed",
"timestamp": "string",
"data": {
"conversation": {
"id": "cnv_01HV8Y7YF5J4Y7M9M7T3H3X2A1",
"channel": "whatsapp",
"externalId": "48123456789",
"inboxId": "ibx_01HV8Y4QH7C8H1K5K0C8A2B9E4",
"name": "Anna Kowalska",
"contactId": "con_01HV8Y5R5RFMS0TFK6PKF9H2S8",
"contactName": "Anna Kowalska",
"lastMessageAt": "2026-04-30T10:35:00Z",
"lastMessagePreview": "Thanks, I will check it now.",
"lastMessageSender": "customer"
},
"contact": {
"id": "con_01HV8Y5R5RFMS0TFK6PKF9H2S8",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"name": "Anna Kowalska",
"createdAt": "2026-04-30T09:20:00Z",
"updatedAt": "2026-04-30T10:10:00Z",
"identities": [
{
"id": "idn_01HV8Y7YF5J4Y7M9M7T3H3X2A1",
"channel": "whatsapp",
"metadata": {
"phoneNumber": "+48123456789"
}
}
],
"tagIds": [
"tag_01HV8Y9R3Q4J6A7M8N9P0Q2S4"
],
"customFields": {
"lifecycleStage": "customer",
"preferredStore": "Krakow"
},
"archivedAt": null
},
"inbox": {
"id": "ibx_01HV8Y4QH7C8H1K5K0C8A2B9E4",
"createdAt": "2026-04-30T09:00:00Z",
"updatedAt": "2026-04-30T09:10:00Z",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"channel": "whatsapp",
"externalId": "112233445566778",
"createdBy": "usr_01HV8Y3K2R6G7K3F5B9N8M1Q0",
"name": "Support WhatsApp",
"teamId": "team_01HV8Y6W0W4T5A8S9V7Q2P1M3",
"status": {
"state": "active",
"reasons": []
},
"config": {
"phoneNumberId": "112233445566778"
}
}
}
}MessageCreatedWebhookEvent
message.createdRequired: `id`, `type`, `timestamp`, `data`.
- Name
id- Type
- string
- Description
- Event id. Matches the `webhook-id` header and is the consumer dedupe key.
- Name
type- Type
- enum
- Description
- Required property. Allowed values: message.created.
- Name
timestamp- Type
- string
- Description
- Time when the source domain event happened.
- Name
data- Type
- MessageWebhookEventData
- Description
- Required property.
Example
message.created
{
"id": "string",
"type": "message.created",
"timestamp": "string",
"data": {
"message": {
"id": "msg_01HV8Z2G8Z3H5M9K2S6A1N0P4",
"createdAt": "2026-04-30T10:36:00Z",
"updatedAt": "2026-04-30T10:36:02Z",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"conversationId": "cnv_01HV8Y7YF5J4Y7M9M7T3H3X2A1",
"senderType": "user",
"senderId": "usr_01HV8Y3K2R6G7K3F5B9N8M1Q0",
"content": {
"type": "text",
"text": {
"body": "Hi Anna, your order is ready for pickup."
}
},
"deliveryStatus": "delivered",
"channelMessageId": "wamid.HBgLMjQxMjM0NTY3ODkVAgARGBI"
},
"conversation": {
"id": "cnv_01HV8Y7YF5J4Y7M9M7T3H3X2A1",
"channel": "whatsapp",
"externalId": "48123456789",
"inboxId": "ibx_01HV8Y4QH7C8H1K5K0C8A2B9E4",
"name": "Anna Kowalska",
"contactId": "con_01HV8Y5R5RFMS0TFK6PKF9H2S8",
"contactName": "Anna Kowalska",
"lastMessageAt": "2026-04-30T10:35:00Z",
"lastMessagePreview": "Thanks, I will check it now.",
"lastMessageSender": "customer"
},
"contact": {
"id": "con_01HV8Y5R5RFMS0TFK6PKF9H2S8",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"name": "Anna Kowalska",
"createdAt": "2026-04-30T09:20:00Z",
"updatedAt": "2026-04-30T10:10:00Z",
"identities": [
{
"id": "idn_01HV8Y7YF5J4Y7M9M7T3H3X2A1",
"channel": "whatsapp",
"metadata": {
"phoneNumber": "+48123456789"
}
}
],
"tagIds": [
"tag_01HV8Y9R3Q4J6A7M8N9P0Q2S4"
],
"customFields": {
"lifecycleStage": "customer",
"preferredStore": "Krakow"
},
"archivedAt": null
},
"inbox": {
"id": "ibx_01HV8Y4QH7C8H1K5K0C8A2B9E4",
"createdAt": "2026-04-30T09:00:00Z",
"updatedAt": "2026-04-30T09:10:00Z",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"channel": "whatsapp",
"externalId": "112233445566778",
"createdBy": "usr_01HV8Y3K2R6G7K3F5B9N8M1Q0",
"name": "Support WhatsApp",
"teamId": "team_01HV8Y6W0W4T5A8S9V7Q2P1M3",
"status": {
"state": "active",
"reasons": []
},
"config": {
"phoneNumberId": "112233445566778"
}
}
}
}MessageUpdatedWebhookEvent
message.updatedRequired: `id`, `type`, `timestamp`, `data`.
- Name
id- Type
- string
- Description
- Event id. Matches the `webhook-id` header and is the consumer dedupe key.
- Name
type- Type
- enum
- Description
- Required property. Allowed values: message.updated.
- Name
timestamp- Type
- string
- Description
- Time when the source domain event happened.
- Name
data- Type
- MessageWebhookEventData
- Description
- Required property.
Example
message.updated
{
"id": "string",
"type": "message.updated",
"timestamp": "string",
"data": {
"message": {
"id": "msg_01HV8Z2G8Z3H5M9K2S6A1N0P4",
"createdAt": "2026-04-30T10:36:00Z",
"updatedAt": "2026-04-30T10:36:02Z",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"conversationId": "cnv_01HV8Y7YF5J4Y7M9M7T3H3X2A1",
"senderType": "user",
"senderId": "usr_01HV8Y3K2R6G7K3F5B9N8M1Q0",
"content": {
"type": "text",
"text": {
"body": "Hi Anna, your order is ready for pickup."
}
},
"deliveryStatus": "delivered",
"channelMessageId": "wamid.HBgLMjQxMjM0NTY3ODkVAgARGBI"
},
"conversation": {
"id": "cnv_01HV8Y7YF5J4Y7M9M7T3H3X2A1",
"channel": "whatsapp",
"externalId": "48123456789",
"inboxId": "ibx_01HV8Y4QH7C8H1K5K0C8A2B9E4",
"name": "Anna Kowalska",
"contactId": "con_01HV8Y5R5RFMS0TFK6PKF9H2S8",
"contactName": "Anna Kowalska",
"lastMessageAt": "2026-04-30T10:35:00Z",
"lastMessagePreview": "Thanks, I will check it now.",
"lastMessageSender": "customer"
},
"contact": {
"id": "con_01HV8Y5R5RFMS0TFK6PKF9H2S8",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"name": "Anna Kowalska",
"createdAt": "2026-04-30T09:20:00Z",
"updatedAt": "2026-04-30T10:10:00Z",
"identities": [
{
"id": "idn_01HV8Y7YF5J4Y7M9M7T3H3X2A1",
"channel": "whatsapp",
"metadata": {
"phoneNumber": "+48123456789"
}
}
],
"tagIds": [
"tag_01HV8Y9R3Q4J6A7M8N9P0Q2S4"
],
"customFields": {
"lifecycleStage": "customer",
"preferredStore": "Krakow"
},
"archivedAt": null
},
"inbox": {
"id": "ibx_01HV8Y4QH7C8H1K5K0C8A2B9E4",
"createdAt": "2026-04-30T09:00:00Z",
"updatedAt": "2026-04-30T09:10:00Z",
"tenantId": "tn_01HV8Y1N3QPY9X2HBQ1M9E8D0",
"channel": "whatsapp",
"externalId": "112233445566778",
"createdBy": "usr_01HV8Y3K2R6G7K3F5B9N8M1Q0",
"name": "Support WhatsApp",
"teamId": "team_01HV8Y6W0W4T5A8S9V7Q2P1M3",
"status": {
"state": "active",
"reasons": []
},
"config": {
"phoneNumberId": "112233445566778"
}
}
}
}