Webhook payload (Platform)
The shape of the payloads Landbot POSTs to your registered message-hook URL.
When a message moves through a Web or WhatsApp channel, Landbot POSTs it to your registered hook URL. The complete schema — the envelope, every message-type variant (a discriminated messages[] union), and the delivery/retry semantics — is documented as the structured message webhook in the Platform API reference. Expand it there to explore each type.
A few things to know before you build:
- One message per POST — Landbot never batches;
messages[]always has exactly one entry. - Two author vocabularies:
sender.type(customer/bot/agent/sys) vs_raw.author_type(user/bot/agent/sys). Pick one as canonical; don't mix. is_externalis the string"True"/"False", not a boolean.- Ordering & dedupe: bursts can arrive out of order (~10–50 ms) — sort by
timestamp; dedupe on thesentry-traceheader (stable across retries). - Auth: an optional hook
tokenis echoed asAuthorization: Token <token>— a static shared secret, no HMAC. - Retries: any non-
2xxis retried on linear backoff; return any2xxto acknowledge.
→ Full schema and every message type: Platform API reference → Webhooks.