Automated Lead Qualification & Follow-Up System
Capture and qualify inquiries, acknowledge new leads, alert Slack to hot leads, and coordinate follow-ups with reply tracking.
- Platform
- n8n
- Focus
- Lead management
- Evidence available
- Annotated overview & case study
Project overview
An independent portfolio project connects three n8n workflows through a shared Google Sheets CRM: Intake, Follow-Ups and Reply Tracking. Kyle configured the integrations, wrote JavaScript decision logic, mapped lead and activity fields, and tested the main paths. No AI model is required for the documented scoring path.
Business problem
Handling inquiries across a form, inbox, spreadsheet and notifications creates repeated handoffs: checking duplicates, prioritizing leads, acknowledging inquiries and remembering when to follow up without emailing someone who has already replied.
Automation solution
Normalize and score new inquiries, save their CRM records, send acknowledgments and notify Slack for Hot leads. Separate Gmail and scheduled workflows maintain reply status and assess conversations before sending up to two follow-up emails.
Simplified process summary. Explore the architecture below for branches and decision logic.
Workflow evidence
Annotated overview, preserved as supplied. This illustration is not unedited execution evidence.
Three connected workflows share Google Sheets lead records: Intake, Follow-Ups and Reply Tracking. This is an annotated overview, not a live execution.
Workflow architecture
Trigger & input
An n8n inquiry form starts Intake. A Gmail Trigger starts Reply Tracking. A schedule starts Follow-Ups every 15 minutes; all three share lead records and an activity log in Google Sheets.
Processing & output
- Intake normalizes submitted data and searches for an existing email. Duplicates skip new-lead creation and acknowledgment. New leads are scored with JavaScript, saved, acknowledged through Gmail and logged; Hot leads also generate a Slack notification.
- Reply Tracking finds the lead by Gmail thread and checks Active status. Eligible replies mark the lead Replied, clear the next follow-up date and log a lead_replied event. Gmail search exclusions reduce common mailer-daemon and postmaster false matches.
- Follow-Ups selects due leads, processes them individually, refreshes their records and rechecks eligibility. It retrieves the Gmail conversation and assesses message labels, the original acknowledgment, incoming messages, drafts and the saved follow-up count.
- Conversation assessment returns Send, Replied or Review. Send records and logs an eligible follow-up; Replied stops future follow-ups; Review stops automatic follow-ups and flags Needs Review. The sequence is limited to two follow-up emails.
- Activity entries record event ID, lead ID, event type, timestamp, message ID, result and error details. Reply events use a Gmail-message-based event ID with append-or-update to reduce duplicate log rows; this does not establish exactly-once email delivery.
Conditional logic
Duplicate checks gate Intake; Active status gates reply updates. Follow-ups respect saved permission and eligibility checks. Missing or mismatched threads, incomplete message details, unverified acknowledgments, drafts and inconsistent sent counts take the review path. Delivery-notice assessment runs before the ordinary incoming-message decision.
Key features
- JavaScript lead normalization and qualification
- Duplicate intake prevention and acknowledgment logging
- Slack alerts for Hot leads
- Scheduled follow-ups capped at two emails
- Reply tracking that clears future follow-ups
- Conversation checks and a Needs Review path
Technical challenges
A delivery-failure notice exposed why matching a thread alone does not prove a person replied. Kyle added Gmail search exclusions and sender, subject and delivery-report checks. Manual and automatic triggers also needed separate tests. A successful send followed by a failed CRM update can still leave applications out of sync.
Business value
Coordinates inquiry handling, lead visibility and follow-up records with fewer manual handoffs as an intended benefit. The demo demonstrates practical integration and state management; time savings, conversion rates and revenue impact have not been measured in a live client environment.
Project status
Testing & limitations
Documented tests
The supplied case study documents manual acknowledgment, reply, follow-up, stopping and logging checks, plus automatic duplicate intake, Gmail triggering and scheduling. The schedule ran with no Active leads, so scheduled email delivery end to end remains unverified. Delivery-notice sample checks were reported; a live bounce test was not completed. This is owner-documented testing, not a fresh audit of the n8n instance. The annotated overview is an illustration, not unedited execution evidence.
Source: Kyle Reynoso’s four-page case study dated October 21, 2026, and supplied annotated workflow overview. Testing claims are attributed to that document; current workflow configuration and production outcomes have not been independently audited.
Limitations & next steps
What needs verification: resolve these open questions before treating this design as a verified implementation.
- Fresh end-to-end scheduled follow-up and subsequent reply with an eligible, consenting lead
- Live bounce testing and broader automatic-response handling
- Dedicated error alerts, retries and recovery from partial failures
- Unedited execution screenshots and sanitized CRM/activity records for independent review