Currently, when a message is deleted ("delete for everyone") in a WhatsApp conversation, we can't tell which message was deleted:
Business-side delete (from the WA Business app): arrives as a new message.sent event with text: "[revoke]", a fresh message.id, and a fresh platformMessageId. No reference to the deleted message.
Customer-side delete: arrives as a new message.received event with text: null, attachments: [] — again a fresh message.id / platformMessageId, no reference to the original.
We are subscribed to message.deleted, but it never fires for either case (confirmed in the webhook logs — only the message.sent / message.received events above appear). The docs say WhatsApp support for message.deleted is limited to deletes issued via the Cloud API, and incoming unsend is Instagram-only.
Ask: emit message.deleted for WhatsApp deletes in both directions (app-side business deletes and customer unsends), carrying the original message's id / platformMessageId — same shape as the Instagram unsend payload. Without a pointer to the original message, inbox UIs can't render a "this message was deleted" state and the [revoke] / null placeholder events are effectively noise.
Example (business-side delete we received — note the ids don't match any prior message):
{
"event": "message.sent",
"message": {
"id": "6a599cbb3d50078defbca0af",
"platformMessageId": "wamid.HBgKNjU4MjgzMjYwOBUCABEYFDJBNTdDMUI3M0ZBM0U4ODAyNEI3AA==",
"direction": "outgoing",
"text": "[revoke]"
}
}
Please authenticate to join the conversation.
In Review
Feature Request
3 days ago

rae tan
Get notified by email when there are changes.
In Review
Feature Request
3 days ago

rae tan
Get notified by email when there are changes.