VayaFlow
Playbooks

Playbook Webhooks

Configure playbook-level webhook events for real-time notifications.

Playbook Webhooks

Webhooks send real-time HTTP notifications when contacts reach specific statuses. Playbooks can inherit the organization's webhook settings or override them with playbook-specific configuration.

Events

EventDescription
contact.deliveredContact was successfully delivered to the client
contact.disqualifiedContact failed qualification
contact.failedDelivery attempt failed
contact.queuedContact was queued (caps hit or outside schedule)
contact.first_submission_actionContact requires a pre-delivery action
contact.processedContact processing complete (any outcome)

Configuration

Navigate to the Webhooks tab on a playbook.

Inherit from Organization

By default, playbooks inherit the organization's webhook settings (configured in Settings). The current organization settings are shown as a read-only reference.

Playbook Overrides

Toggle Override organization settings to configure playbook-specific webhooks:

  • Enable webhooks — Turn webhooks on or off for this playbook
  • Webhook URL — The endpoint to receive events
  • Events — Select which events trigger a webhook
  • Custom Headers — Add authentication or custom headers (key-value pairs)
  • Retry Attempts — Number of retries on failure (1-10)
  • Timeout — Request timeout in seconds (1-120)

Playbook overrides take precedence — if both organization and playbook configure the same event, the playbook's URL and headers are used.

Payload

Webhook payloads include the contact data and event-specific context:

{
  "event": "contact.delivered",
  "contactId": "contact_abc123",
  "submissionId": "sub_xyz789",
  "playbookId": "ABC",
  "status": "delivered",
  "timestamp": "2024-06-15T10:30:00Z",
  "data": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john@example.com",
    "phone": "+15551234567"
  }
}

Retry Behavior

Failed webhook deliveries are retried with exponential backoff up to the configured retry limit. If all retries fail, the webhook is marked as failed but does not affect contact processing.

On this page