Skip to content
Help center

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

  1. In your Reachkit dashboard, navigate to Settings
  2. Select the Integrations tab
  3. Find the Webhooks section
  4. Click Add Webhook
  5. 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
  1. 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: Contains inbox_id
  • campaign.launched: Contains campaign_id
  • campaign.paused: Contains campaign_id
  • campaign.resumed: Contains campaign_id
  • campaign.completed: Contains campaign_id
  • campaign.email_sent: Contains campaign_id and lead_id
  • lead.replied: Contains lead_id and campaign_id
  • lead.bounced: Contains lead_id and campaign_id
  • lead.unsubscribed: Contains lead_id and campaign_id
  • unibox.new_message: Contains conversation_id and inbox_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:

  1. Go to Settings > Integrations > Webhooks
  2. 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 2xx status counts as delivered.
  • A 5xx status, a 429 (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.