Webhooks
Reachkit’s webhook functionality allows you to receive real-time notifications about events in your cold email campaigns directly to your own systems or third-party applications.
Setting Up Webhooks
- In your Reachkit dashboard, navigate to Settings
- Select the Integrations tab
- Find the Webhooks section
- Click Add Webhook
- Enter:
- A name for your webhook (for your reference)
- The destination URL that will receive the webhook
- Select the events you want to trigger this webhook
- Click Create Webhook
Available Webhook Events
Reachkit can send webhooks for these events:
-
inbox.disconnected- When an email account disconnects -
campaign.launched- When a campaign starts -
campaign.paused- When a campaign is paused -
campaign.resumed- When a paused campaign is resumed -
campaign.completed- When a campaign finishes sending to all of its leads -
campaign.email_sent- When an email is sent from a campaign -
lead.replied- When a lead status becomes replied -
lead.bounced- When a lead gets marked as bounced -
lead.unsubscribed- When a lead formally opts out via the unsubscribe link or one-click header (a reply asking to be removed blocklists the address but does not fire this event) -
unibox.new_message- When a new message appears in Unibox
Webhook Payload Format
For security reasons, webhook payloads include only reference IDs rather than complete data. Each event type includes specific IDs:
-
inbox.disconnected: Containsinbox_id -
campaign.launched: Containscampaign_id -
campaign.paused: Containscampaign_id -
campaign.resumed: Containscampaign_id -
campaign.completed: Containscampaign_id -
campaign.email_sent: Containscampaign_idandlead_id -
lead.replied: Containslead_idandcampaign_id -
lead.bounced: Containslead_idandcampaign_id -
lead.unsubscribed: Containslead_idandcampaign_id -
unibox.new_message: Containsconversation_idandinbox_id
The full payload will have this structure:
{
"event_type": "lead.replied",
"data": {
"lead_id": "lead_456",
"campaign_id": "campaign_123"
},
"timestamp": "2025-03-31T14:22:53Z"
}
To retrieve complete information about these entities, you’ll need to make a separate API call using the provided IDs.
Managing Webhooks
To manage your webhook configurations:
- Go to Settings > Integrations > Webhooks
-
From here you can:
- Edit existing webhooks
- Delete webhooks you no longer need
- Create additional webhooks
Delivery, Retries and Failures
Each webhook shows the outcome of its most recent delivery in Settings > Integrations > Webhooks: either Last delivered with a time, or Last delivery failed with the reason (for example HTTP 404 or timeout).
-
A response with a
2xxstatus counts as delivered. -
A
5xxstatus, a429(rate limited), a timeout (10 seconds) or a connection error is retried up to 4 more times over roughly 10 minutes, then dropped. -
Any other status (
404,401,403, a redirect) is treated as the endpoint rejecting the request and is not retried. Fix the URL or the receiving side and the next event will be delivered normally.
Webhooks are never disabled automatically; a failing webhook keeps receiving new events until you deactivate or fix it.
Need Additional Events?
If you need webhook events that aren’t currently available, please contact our support team. We’re continuously expanding our integration capabilities based on user feedback.
Still stuck?
Ask in the chat at the bottom of the page, or browse the other guides.