Campaign Webhooks
Configure campaign-level webhook events for real-time notifications.
Campaign Webhooks
Webhooks send real-time HTTP notifications when leads reach specific statuses. Campaigns can inherit the organization's webhook settings or override them with campaign-specific configuration.
Events
| Event | Description |
|---|---|
lead.delivered | Lead was successfully delivered to the client |
lead.disqualified | Lead failed qualification |
lead.failed | Delivery attempt failed |
lead.queued | Lead was queued (caps hit or outside schedule) |
lead.first_submission_action | Lead requires a pre-delivery action |
lead.processed | Lead processing complete (any outcome) |
Configuration
Navigate to the Webhooks tab on a campaign.
Inherit from Organization
By default, campaigns inherit the organization's webhook settings (configured in Settings). The current organization settings are shown as a read-only reference.
Campaign Overrides
Toggle Override organization settings to configure campaign-specific webhooks:
- Enable webhooks — Turn webhooks on or off for this campaign
- 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)
Campaign overrides take precedence — if both organization and campaign configure the same event, the campaign's URL and headers are used.
Payload
Webhook payloads include the lead data and event-specific context:
{
"event": "lead.delivered",
"leadId": "lead_abc123",
"submissionId": "sub_xyz789",
"campaignId": "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 lead processing.