Messages events

Outbound webhook events for messages: when each one fires and the exact JSON payload Centerfy POSTs to your URL.

2 events. Subscribe to them in Settings → API & Webhooks → Webhooks or with the outbound webhook subscription endpoints. Delivery, authentication headers and the common envelope are described in the webhooks overview.

EventWhen it fires
message.receivedA contact sends you a message on any channel (SMS, WhatsApp, Facebook, Instagram, chat) — no matter the source.
message.sentA message is sent to a contact (AI agent, the send-message webhook, bulk sends, manual replies) — no matter the source.

message.received

Message received (inbound). A contact sends you a message on any channel (SMS, WhatsApp, Facebook, Instagram, chat) — no matter the source.

{
  "event": "message.received",
  "occurred_at": "2026-06-20T14:30:00.000Z",
  "sub_account_id": "<sub account uuid>",
  "organization_id": "<organization uuid>",
  "message": {
    "id": "<uuid>",
    "conversation_id": "<uuid>",
    "contact_id": "<uuid>",
    "channel": "sms",
    "direction": "inbound",
    "sender_type": "contact",
    "content": "Hi, is anyone there?",
    "attachment_urls": [],
    "timestamp": "2026-06-20T14:30:00.000Z"
  }
}

message.sent

Message sent (outbound). A message is sent to a contact (AI agent, the send-message webhook, bulk sends, manual replies) — no matter the source.

{
  "event": "message.sent",
  "occurred_at": "2026-06-20T14:30:00.000Z",
  "sub_account_id": "<sub account uuid>",
  "organization_id": "<organization uuid>",
  "message": {
    "id": "<uuid>",
    "conversation_id": "<uuid>",
    "contact_id": "<uuid>",
    "channel": "sms",
    "direction": "outbound",
    "sender_type": "agent",
    "content": "Hi Jane! How can I help?",
    "attachment_urls": [],
    "timestamp": "2026-06-20T14:30:00.000Z"
  }
}
© 2026 Centerfy AI. All rights reserved.