Skip to content

Webhook Events

The 41 LeadPattern webhook events (messages, conversations, contacts, notes, flows, calls and WooCommerce) and the envelope every delivery uses.

4 min readUpdated Oct 7, 2026

When you create or edit a webhook, the Select Triggers step lists the events it can receive, grouped below. The event name in code is the value of event in the payload and of the X-Webhook-Event header.

The delivery envelope

Every delivery is a JSON POST with the same four fields:

JSON
1{
2 "id": "3f1c2a9e-7b4d-4c1e-9a52-0d6c8e7f1b20",
3 "event": "message_received",
4 "timestamp": "2026-07-01T10:30:00.000Z",
5 "data": {
6 "contact": {
7 "waId": "15550100123",
8 "profileName": "Jordan"
9 },
10 "message": {
11 "messageId": "wamid.HBgM...",
12 "direction": "incoming",
13 "type": "text"
14 }
15 }
16}
  • id: unique per event and identical across retries (also sent as X-Webhook-Id). Use it to skip duplicates.
  • event: the event name.
  • timestamp: when the event happened (ISO 8601, UTC).
  • data: the event details. Its shape depends on the event. The developer API docs include a full example for every event.

Events

EventLabel
message_receivedMessage Received
message_status_updateMessage Status Update
first_messageFirst Message
template_updatedTemplate Updated
raw_whatsappRaw WhatsApp Payload

Test events

Send test delivers a sample payload whose event is test. Make sure your server answers it with a 2xx status, even though it isn't one of the events above.

What's next

Was this article helpful?

Your feedback helps us continuously improve our documentation.

Need more help with this topic?Ask LeadPattern Support

Related Articles