Webhooks
Push real-time events from Clarm to your own systems. Webhooks fire on purchases, identifies, enterprise alerts, and goal completions.
Setting up a webhook
- Go to Dashboard → Integrations
- Click Add Integration
- Choose Webhook and enter your endpoint URL
- Select which events should trigger the webhook
- Save and enable
Webhook payload
All webhooks send a JSON POST with this structure:
Webhook payloadjson
{
"event": "purchase",
"timestamp": "2026-02-12T14:30:00Z",
"data": {
"visitor_id": "v_abc123",
"email": "jane@acme.com",
"amount": 299.00,
"currency": "USD",
"plan": "growth"
}
}Supported events
purchase— a conversion or payment was trackedidentify— a visitor was identified with email/namegoal_achieved— a custom goal was completedenterprise_alert— AI detected an enterprise buyervisitor_enriched— IP enrichment identified a company for a visitor for the first timehigh_intent_visitor— visitor's behavioral intent score crossed the threshold (≥70)
Enrichment webhook payloads
visitor_enriched payloadjson
{
"event": "visitor_enriched",
"timestamp": "2026-03-23T14:30:00Z",
"data": {
"visitor_id": "v_abc123",
"company": {
"name": "Acme Corp",
"domain": "acme.com",
"industry": "Software",
"size": "201-500",
"revenue": "$50M-$100M",
"location": "San Francisco, CA"
},
"enterprise_score": 75,
"enrichment_source": "peopledatalabs"
}
}high_intent_visitor payloadjson
{
"event": "high_intent_visitor",
"timestamp": "2026-03-23T14:35:00Z",
"data": {
"visitor_id": "v_abc123",
"intent_score": 82,
"company": {
"name": "Acme Corp",
"industry": "Software",
"size": "201-500"
},
"engagement": {
"pages_viewed": 5,
"messages_sent": 3,
"current_url": "https://example.com/pricing"
}
}
}Retry policy
Failed deliveries (non-2xx responses) are retried up to 3 times with exponential backoff (2s, 4s, 8s). After all retries fail, the event is logged in Dashboard → Integrations → Delivery Logs.
!
Webhook endpoints must respond within 10 seconds. For long-running processing, return 200 immediately and process asynchronously.