Webhook Events

Message events

  • message.received: A new direct message arrived from another user; only new messages emit it, not history imported when a conversation is first synced.
  • message.sent: A message was sent through PostZen (dashboard, API, or a comment automation, including its Opening DM, follow-request, and nudge messages as well as the final DM); messages sent from the platform's own app do not emit it.

Delivered as a POST to every active endpoint that subscribes to the event and whose profile access covers it. Delivery is at least once and events are not ordered, so deduplicate by id.

postWebhookmessageEvents

Payload

idstring required

Event id (evt_…). Stable across automatic retries and manual redeliveries; deduplicate on it.

type'message.received' | 'message.sent' required
apiVersionstring required

Payload version.

createdAtstring date-time required

When the event was created.

Example payload

{
  "apiVersion": "2026-08-06"
}

Response

Acknowledges the delivery. Any other status, or no response within 10 seconds, schedules a retry.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.