Real-time HTTPS POST to your endpoint within 1–3 seconds of a qualified submission. JSON payload, HMAC-signed, exponential-backoff retry. Works with every major legal CRM.
When a lead clears our 9-point validation pipeline and matches your spec, we issue a signed HTTPS POST to your configured endpoint with the full lead payload. Your endpoint should respond 200 OK within 10 seconds to acknowledge receipt.
If your endpoint fails or times out, we retry with exponential backoff: 5s, 30s, 2m, 10m, 1h. After 5 failures we fall back to email/SMS delivery so no lead is lost.
Each request includes an X-Signature header — an HMAC-SHA256 of the raw body, signed with your shared secret. Verify before trusting the payload.
# Request headers Content-Type: application/json X-Signature: sha256=a3f8…b1c2 X-Event-Id: evt_01HZQ8K9PMXR7T X-Timestamp: 1738012345 User-Agent: InjuryLeads-Webhook/1.0
Every field below is delivered for every lead, with extra fields for vertical-specific qualifiers.
{
"lead_id": "ld_01HZQ8K9PMXR7T2YJV",
"timestamp": "2026-05-27T14:32:08.412Z",
"vertical": "auto_accident",
"exclusivity": "exclusive",
"price": 145.00,
"currency": "USD",
"contact": {
"first_name": "Maria",
"last_name": "Hernandez",
"phone": "+13105551042",
"email": "maria.h@example.com",
"preferred_contact": "phone"
},
"location": {
"city": "Los Angeles",
"state": "CA",
"zip": "90015",
"ip": "104.221.18.92"
},
"case": {
"incident_date": "2026-05-22",
"injury_severity": "moderate",
"at_fault": "other_party",
"medical_treatment": true,
"attorney_retained": false,
"description": "Rear-ended on 110 freeway. ER visit + ongoing PT."
},
"consent": {
"tcpa": true,
"timestamp": "2026-05-27T14:32:06.001Z",
"ip": "104.221.18.92",
"user_agent": "Mozilla/5.0 …",
"landing_url": "https://lp.injuryleads.io/ca-mva-1"
},
"attribution": {
"source": "google_search",
"campaign_id": "ca-mva-broad-q2",
"utm_term": "car accident lawyer near me"
},
"quality": {
"intent_score": 87,
"phone_verified": true,
"email_verified": true,
"duplicate": false
}
}
Native one-click integrations — no engineering required. For everything else, the standard webhook is one cURL away.

Native Litify connector. Maps to Lead, Matter, and Intake objects. Live in <30 minutes.
Direct Clio Grow integration. Auto-creates contacts and matter requests.
Real-time push with full custom-field mapping and source attribution.
Webhook → Filevine intake project. Includes custom field templates for PI verticals.
Native CASEpeer integration with auto-assignment by zip or vertical.
Direct API push with full demographic + case data mapping.
For firms running a custom CRM stack. Includes pre-built workflow templates.
Drop the webhook into Zapier or Make for unlimited downstream routing.
Verify every webhook by recomputing the HMAC-SHA256 of the raw body using your shared secret and comparing to the X-Signature header. Reject anything that doesn't match.
Every account gets a sandbox key. We'll fire fake leads at your endpoint so you can confirm parsing and routing before going live.
const crypto = require('crypto'); app.post('/intake', express.raw({type:'*/*'}), (req, res) => { const sig = req.headers['x-signature']; const expected = 'sha256=' + crypto .createHmac('sha256', process.env.IL_SECRET) .update(req.body) .digest('hex'); if (sig !== expected) return res.status(401).end(); const lead = JSON.parse(req.body.toString()); // → push to CRM res.status(200).end(); });
| Field | Type | Description |
|---|---|---|
| lead_id | string | Unique idempotency key. Use this to dedupe in your CRM. |
| timestamp | ISO 8601 | When the lead was qualified and shipped. |
| vertical | enum | auto_accident, slip_fall, workplace, med_neg, wrongful_death |
| exclusivity | enum | shared, semi_exclusive, or exclusive |
| price | decimal | Billed price for this lead. |
| contact | object | first_name, last_name, phone (E.164), email, preferred_contact |
| location | object | city, state (2-char), zip, ip |
| case | object | Vertical-specific qualifiers (see sample payload). |
| consent | object | TCPA flag, timestamp, IP, user agent, landing URL. |
| attribution | object | Source, campaign ID, UTM data. |
| quality | object | Intent score (0–100), validation flags, duplicate status. |
We'll spin up a test endpoint so your dev team can validate integration before the first invoice.