Event catalog
These examples mirror the event naming already used in Watsi's existing integration docs and are meant to show the shape an integration should expect and persist.
Index
| Event | Description |
|---|---|
| message.received | New inbound message payload from the messaging pipeline. |
| message.status | Delivery/read/failure status change for an outbound message. |
| conversation.created | A new conversation record was created. |
| conversation.updated | A conversation attribute such as assignee or automation state changed. |
| contact.created | A new contact record was created. |
| contact.updated | A contact profile was updated. |
message.received
Triggered when an inbound message enters Watsi. Handlers typically use this event to sync inbound messages into an external CRM, warehouse, or workflow engine.
{
"id": "evt_01HXYZ111111111",
"type": "message.received",
"created_at": "2025-03-15T10:30:00.000Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"from": "5215512345678",
"body": "Hola, quiero información",
"messageId": "wamid.HBgL...",
"conversationId": "chat_123",
"channel": "whatsapp"
}
}message.status
Triggered when an outbound message changes state. Use it to reconcile sent, delivered, read, or failed transitions in downstream systems.
{
"id": "evt_01HXYZ222222222",
"type": "message.status",
"created_at": "2025-03-15T10:32:00.000Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"messageId": "wamid.HBgL...",
"status": "delivered",
"recipientId": "5215512345678",
"timestamp": "1710499920"
}
}conversation.created
Triggered when Watsi opens a new conversation record for a contact.
{
"id": "evt_01HXYZ333333333",
"type": "conversation.created",
"created_at": "2025-03-15T10:30:00.000Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"conversationId": "chat_123",
"contactId": "contact_123",
"status": "active",
"channel": "whatsapp"
}
}conversation.updated
Triggered when a tracked conversation field changes, such as assignment, closure state, or automation status.
{
"id": "evt_01HXYZ444444444",
"type": "conversation.updated",
"created_at": "2025-03-15T11:00:00.000Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"conversationId": "chat_123",
"status": "closed",
"assignedUserId": "user_123",
"watsiEnabled": false
}
}contact.created
Triggered when Watsi creates a new contact record.
{
"id": "evt_01HXYZ555555555",
"type": "contact.created",
"created_at": "2025-03-15T10:30:00.000Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"contactId": "contact_123",
"phone": "+5215512345678",
"name": "Ana Martínez"
}
}contact.updated
Triggered when Watsi updates a contact profile.
{
"id": "evt_01HXYZ666666666",
"type": "contact.updated",
"created_at": "2025-03-16T09:00:00.000Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"contactId": "contact_123",
"name": "Ana M. García",
"email": "ana@example.com"
}
}