Skip to content

Payloads & Events

Payload Format

Every webhook delivery sends a JSON POST request with this structure:

{
  "event": "product.create",
  "table": "product",
  "action": "create",
  "record": { "id": "abc123", "name": "Widget", ... },
  "timestamp": "2026-03-04T12:00:00.000Z",
  "deliveryId": "a1b2c3d4-e5f6-..."
}
  • event - The full event name in {table}.{action} format.
  • table - The table that was modified.
  • action - The action performed: create, update, or delete.
  • record - The full record data after the operation (or the deleted record for deletes).
  • timestamp - ISO 8601 timestamp of when the event occurred.
  • deliveryId - Unique ID for this delivery, useful for deduplication.

Headers

Each delivery includes these custom headers:

HeaderDescription
X-Webhook-SignatureHMAC-SHA256 hex digest of the request body, signed with your webhook secret
X-Webhook-EventEvent name (e.g. product.create)
X-Webhook-DeliveryUnique delivery ID for deduplication

Event Naming

Events follow the pattern {table}.{action}. Examples:

  • product.create - A new product was created.
  • article.update - An article was updated.
  • user.delete - A user was deleted.
  • order.create - A new order was placed.

Use the event subscriptions in your webhook configuration to limit which events trigger notifications.