Score and route new trial leads with Firecrawl, Scrapin.io, OpenAI, Slack and Instantly
Go to WorkflowDescription
n8n Lead Qualification & Sales Intelligence Workflow (Top of Funnel)
Overview / Purpose
This workflow automatically processes new free-trial / lead sign-ups in real time:
Catches a webhook from any source (Webflow form, Intercom, custom agent, etc.)
Filters out personal / disposable / .edu emails → only business emails continue
Validates the company website is live
Scrapes the website with Firecrawl to find the official LinkedIn company page
Enriches the company via AI Agent (Scrapin.io) → pulls name, follower count, headcount, HQ location, industry, and clean description
Runs a multi-factor scoring engine (Location + Headcount + Industry)
Sends a beautiful rich Slack notification to the sales team with score, rating, and quick-action buttons
Segments the lead by score tier (Very High / High / Mid / Low)
Checks if the lead already exists in Instantly
Adds qualified leads to the correct Instantly campaign with first/last name extracted from email
Core Flow (Step-by-Step)
Webhook – Trigger (POST /new-lead)
Extract Email Root Domain – Pulls @company.com part
Blacklist Regex Domains – Blocks all personal, free, and .edu emails
Check Email Not Null – Safety gate
Check if Website Exists – HEAD request (continues only on 200-399)
Firecrawl Scrape – Scrapes homepage looking for LinkedIn URL in footer/links
Extract LinkedIn Url – Code node that finds and cleans /company/ URL
Check LinkedIn Not Null + Is Company Page – Rejects personal profiles
LinkedIn Agent (AI Agent)
Uses Scrapin.io enrichment tool
Structured output: company_name, followers, employee_count, headquarters_location, industry, description
Audit LI Results – Ensures all key fields returned
Sanitize Description – Cleans Unicode, newlines, caps length for Slack
Normalize Country – GPT-4.1-nano turns "Sheridan, US" → "United States"
Score Country – Code node (0–10 points based on market tier)
Score Staff Count – Code node (0–10 points based on headcount buckets)
Industry Scoring – Code node (normalizes raw industry + 0–10 points)
Algo Score – Final score = weighted average → 0–100 + rating label ("Excellent Fit", "Good Fit", etc.)
Send to Slack – Rich blocks with:
Email, Company Name, Location (+score), Staff Count (+score), Followers, Industry (+score)
Clean description
Final Score + Rating
Buttons: Visit LinkedIn + Visit Website
Score-Based Routing
Very High (90–100)
High (70–89)
Mid (50–69)
Low (0–49)
Instantly Checks – For each tier: search if lead already exists
Extract Name From Email (GPT) – Turns [email protected] → First/Last Name (or "there")
Wait nodes (optional delay before adding)
Add Lead to Campaign – Pushes to Instantly with website custom field
Scoring Logic (Fully Configurable in Code Nodes)
Based on your ICP, narrow down your scoring based on how you want to segment.
What Makes This Workflow Powerful
Zero manual work after webhook
Rich, actionable Slack alerts (sales team loves it)
Smart scoring that matches real ICP
Built-in deduplication with Instantly
Fully modular code nodes (easy to tweak scoring without breaking anything)
Heavy error handling and safety gates
This is a complete, production-ready, public template.
You can import the JSON and it will run immediately after you connect your own:
Webhook source
Firecrawl API
Scrapin.io (or alternative)
OpenAI
Slack
Instantly
Any questions/comments/concerns, please email [email protected]
Built by Brandon Charleson
https://www.youtube.com/@brandoncharleson
https://www.linkedin.com/in/brandon-charleson
https://x.com/brandon_ai