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
| Event | Description |
|---|---|
contact.delivered | Contact was successfully delivered to the client |
contact.disqualified | Contact failed qualification |
contact.failed | Delivery attempt failed |
contact.queued | Contact was queued (caps hit or outside schedule) |
contact.first_submission_action | Contact requires a pre-delivery action |
contact.processed | Contact 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.