
Lead Scoring & Routing
The Problem
Sales teams spend the same amount of time on every lead regardless of quality. A cold lead from a casual enquiry gets the same follow-up effort as a hot prospect ready to buy. Without a scoring system, high-value leads get lost in the queue and response times on the best opportunities are too slow.
How It Works
- Receives a POST webhook from GoHighLevel when a contact is created or a pipeline stage changes, and immediately returns OK.
- Loads workflow configuration and normalizes the incoming lead fields including name, source, budget, timeline, interest, and message.
- Sends the normalized lead profile to Gemini and requests a strict JSON response containing a score from 1 to 10, reasoning, and a recommended next step.
- Parses the Gemini output, clamps the score to the 1 to 10 range, and assigns the lead tier as Hot, Warm, or Cold.
- For Hot leads, posts an urgent alert to Slack, applies hot and priority tags in GoHighLevel, and creates a follow-up item in Monday.com.
- For Warm leads, posts a nurture notification to Slack and applies warm and nurture tags.
- For Cold leads, applies low-priority tags only.
Tech Stack
| n8n | Webhook ingestion, branching logic, and all API calls without custom server infrastructure |
| GoHighLevel | Source CRM for lead data and destination for tag updates |
| Gemini API | Scores and reasons about lead quality with structured JSON output |
| Slack | Instant notification channel for the sales team |
| Monday.com | Task board for hot lead follow-up tracking |
What I Would Improve
Adding a feedback loop where sales reps can mark outcomes in Monday.com and feed that data back into a fine-tuned scoring prompt would improve accuracy over time. The current scoring criteria are prompt-based and could be augmented with historical deal data for better calibration.
