Law Firm Lead Qualification Pipeline
Law Firm Lead Qualification Pipeline
A personal injury law firm was handling 80–120 contact form submissions per week. Intake staff spent 3–4 hours daily reading through submissions, looking up basic case details, deciding which attorney should handle each case, and manually entering everything into Clio.
High-value cases were sitting in an inbox for hours. Low-quality submissions (wrong jurisdiction, case type the firm doesn't take) were getting the same manual treatment as strong leads.
We built an n8n pipeline that qualifies, routes, and books in under 8 minutes.
The Workflow
Trigger: Website Contact Form
Node 1 - Webhook (Gravity Forms) Fires on every new submission. Extracts: name, phone, email, case type, incident date, jurisdiction (state), brief description, how they heard about the firm.
Stage 1: Enrichment
Node 2 - Clearbit Enrichment (HTTP Request) Looks up the submitter's email against Clearbit. Returns company, role, LinkedIn if available. Adds context for commercial/business cases.
Node 3 - Google Maps API: Jurisdiction Check
Validates the incident location against the firm's licensed states. Returns a jurisdiction_valid boolean.
Stage 2: Qualification Scoring
Node 4 - Code Node (JavaScript): Scoring Engine
Applies a weighted scoring model:
let score = 0;
// Case type match (firm takes PI, medical malpractice, wrongful death)
const highValueTypes = ['personal-injury', 'medical-malpractice', 'wrongful-death'];
if (highValueTypes.includes(caseType)) score += 40;
// Incident recency (statute of limitations proxy)
const daysSinceIncident = daysBetween(incidentDate, today);
if (daysSinceIncident < 180) score += 30;
else if (daysSinceIncident < 730) score += 15;
// Jurisdiction
if (jurisdictionValid) score += 20;
// Description length/quality (proxy for case detail)
if (description.length > 200) score += 10;
return { score, tier: score >= 70 ? 'A' : score >= 40 ? 'B' : 'C' };Node 5 - Switch Node: Route by Tier
- Tier A (70+) → immediate attorney routing
- Tier B (40–69) → intake queue for same-day review
- Tier C (below 40) → auto-response email, no manual work
Stage 3: Attorney Routing
Node 6 - HTTP Request → Clio: Check Attorney Availability Queries each attorney's current active matter count. Returns the attorney in the relevant practice area with the lowest current load.
Node 7 - Clio: Create Matter Creates a new matter in Clio: client name, case type, incident date, jurisdiction, score, referral source. Assigns to the selected attorney.
Node 8 - Clio: Create Contact Creates the prospective client contact record linked to the matter.
Stage 4: Consultation Booking
Node 9 - Calendly API: Get Available Slots Fetches the assigned attorney's next 5 available consultation slots (30-min blocks).
Node 10 - Twilio SMS: Booking Link Sends the prospective client a text within 8 minutes of their form submission:
"Hi [Name], thanks for reaching out to [Firm]. We've reviewed your case and want to speak with you. Book your free consultation here: [Calendly link]. [Attorney Name]"
Node 11 - Gmail: Confirmation Email Sends a parallel email with the same booking link, firm intake packet PDF attachment, and what to prepare for the call.
Stage 5: Post-Booking Sync
Node 12 - Calendly Webhook → n8n (second workflow) When the client books via the Calendly link, a second workflow fires: updates the Clio matter status to "Consultation Scheduled", adds the call time, and sends a calendar invite to the attorney with case notes prepopulated.
Node 13 - Slack: Attorney Alert Sends the assigned attorney a Slack message with the new matter summary, client contact info, case score, and consultation time, so they walk into the call prepared.
Tier C: Auto-Response
Node 14 - Gmail: Declination Email For Tier C leads, sends a polished response: "After reviewing your submission, this case type falls outside our current practice areas. We recommend [referral resources]." Logs the submission to a Google Sheet for monthly review.
Results
- 8 min avg from form submission to client receiving booking SMS (was 2–6 hours)
- 3.4 hrs/day of intake staff time recovered
- Tier A conversion rate increased 22%; faster response time directly correlated with booking rate
- Zero Clio entry errors: all matter data sourced directly from form and enrichment APIs
Stack
| Layer | Tool |
|---|---|
| Automation | n8n (self-hosted) |
| Forms | Gravity Forms (WordPress) |
| Legal CRM | Clio |
| Enrichment | Clearbit |
| Scheduling | Calendly |
| SMS | Twilio |
| Gmail API | |
| Alerts | Slack |
My Role
- Mapped the full intake workflow with the firm's ops director and documented every manual step before writing a single node
- Built the qualification scoring model based on the firm's own historical conversion data
- Integrated Clio, Clearbit, Calendly, and Twilio with proper OAuth and error handling
- Built the parallel Calendly → Clio sync workflow
- Ran 3 weeks of shadow testing before full cutover, with all edge cases documented and handled