Webhooks & APIOutbound

message.inbound.deleted

Emitted when an inbound message is hard-deleted

type: message.inbound.deleted

Fired when an inbound message is permanently removed — either by the contact on the channel side (channels that support message deletion) or by an internal cleanup process.

data shape

type Data = {
  chat: Pick<ChatPayload, "id" | "integrationId" | "channel">;
  message: Pick<MessagePayload, "id" | "chatId" | "direction" | "type">;
  deletedAt: string;  // ISO-8601 UTC
};

Only slim identifying fields are included — by the time this event fires, the full record is gone. See the slim variants.

Example envelope

{
  "id": "evt_f1e2d3c4-b5a6-9780-1234-56789abcdef0",
  "type": "message.inbound.deleted",
  "timestamp": "2026-04-24T12:20:00.000Z",
  "data": {
    "chat": {
      "id": "6804f4c2a6f9f35f6e66f1a1",
      "integrationId": "67f95b0126a4d1c9e3f0aa12",
      "channel": "WHATSAPP"
    },
    "message": {
      "id": "msg_01",
      "chatId": "6804f4c2a6f9f35f6e66f1a1",
      "direction": "INBOUND",
      "type": "TEXT"
    },
    "deletedAt": "2026-04-24T12:20:00.000Z"
  },
  "meta": {
    "eventId": "evt_f1e2d3c4-b5a6-9780-1234-56789abcdef0",
    "event": "message.inbound.deleted",
    "occurredAt": "2026-04-24T12:20:00.000Z",
    "organisationId": "6640f3d5c8a0d7e8b7f20222",
    "connectionId": "6640f45ac8a0d7e8b7f2014a",
    "apiVersion": "2026-04-01",
    "attempt": 1
  }
}

On this page