# azarath-max/ai-lead-qualification-system architecture

> Architecture diagram of the GitHub repository azarath-max/ai-lead-qualification-system, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/azarath-max/ai-lead-qualification-system
- Repository: https://github.com/azarath-max/ai-lead-qualification-system

## Overview

This is an n8n workflow for turning inbound B2B form submissions into validated, deduplicated, AI-qualified leads and temperature-specific follow-up. The documented path runs from webhook intake through validation and duplicate handling, to AI scoring, checked results, Airtable storage, and hot/warm/cold actions. It also records automation events and handles invalid submissions. The README documents these relationships; no source excerpts were available to verify further wiring.

Main entry points: [`AI Lead Qualification & Smart Sales Routing System.json`](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json) (Draft Email)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_intake["Intake &amp; Validation"]
  node_webhook["Lead Webhook"]
  node_clean["Clean Lead Data"]
  node_validate["Validate Submission"]
  node_duplicatecheck["Check Duplicate"]
end

subgraph group_qualification["Lead Qualification"]
  node_duplicateupdate["Update Duplicate Lead"]
  node_normalize["Normalize Budget &amp; Timeline"]
  node_score["Score Lead"]
  node_validateai["Validate AI Result"]
  node_store["Store Lead"]
end

subgraph group_followup["Routing &amp; Follow-up"]
  node_route["Route by Temperature"]
  node_hot["Hot Lead Actions"]
  node_warm["Warm Lead Actions"]
  node_cold["Cold Lead Actions"]
  node_draft["Draft Email"]
end

subgraph group_records["Records &amp; Alerts"]
  node_triggerlog["Log Trigger"]
  node_errorlog["Log Validation Error"]
  node_duplicatelog["Log Duplicate"]
  node_logtable[("Automation Log")]
end

node_lead(("Lead Submitter"))
node_slack["Slack"]
node_airtable[("Airtable")]
node_gemini["Gemini"]
node_gmail["Gmail"]

node_lead -->|"submits"| node_webhook
node_webhook -->|"passes fields"| node_clean
node_clean -->|"passes fields"| node_triggerlog
node_triggerlog -->|"continues"| node_validate
node_validate -->|"invalid submission"| node_errorlog
node_errorlog -->|"alerts"| node_slack
node_validate -->|"valid submission"| node_duplicatecheck
node_duplicatecheck -->|"searches email"| node_airtable
node_duplicatecheck -->|"duplicate found"| node_duplicateupdate
node_duplicateupdate -->|"updates record"| node_airtable
node_duplicateupdate -->|"records event"| node_duplicatelog
node_duplicatecheck -->|"new lead"| node_normalize
node_normalize -->|"passes lead data"| node_score
node_score -->|"requests scoring"| node_gemini
node_gemini -->|"returns analysis"| node_score
node_score -->|"passes result"| node_validateai
node_validateai -->|"validated result"| node_store
node_store -->|"creates lead"| node_airtable
node_store -->|"passes lead"| node_route
node_route -->|"Hot"| node_hot
node_route -->|"Warm"| node_warm
node_route -->|"Cold"| node_cold
node_hot -->|"alerts sales"| node_slack
node_hot -->|"requests draft"| node_draft
node_warm -->|"requests draft"| node_draft
node_cold -->|"requests draft"| node_draft
node_draft -->|"requests email text"| node_gemini
node_gemini -->|"returns draft"| node_draft
node_draft -->|"sends or queues draft"| node_gmail
node_triggerlog -->|"appends event"| node_logtable
node_errorlog -->|"appends event"| node_logtable
node_duplicatelog -->|"appends event"| node_logtable

click node_webhook "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_clean "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_triggerlog "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_validate "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_errorlog "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_duplicatecheck "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_duplicateupdate "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_duplicatelog "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_normalize "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_score "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_validateai "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_store "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_route "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_hot "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_warm "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_cold "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_draft "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"
click node_logtable "https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_webhook,node_clean,node_validate,node_duplicatecheck toneBlue
class node_duplicateupdate,node_normalize,node_score,node_validateai,node_store,node_airtable toneAmber
class node_route,node_hot,node_warm,node_cold,node_draft toneMint
class node_triggerlog,node_errorlog,node_duplicatelog,node_logtable toneRose
class node_lead,node_slack,node_gemini,node_gmail toneIndigo
```

## Components

### Intake & Validation

- [Lead Webhook](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`
- [Clean Lead Data](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`
- [Validate Submission](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`
- [Check Duplicate](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`

### Lead Qualification

- [Update Duplicate Lead](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`
- [Normalize Budget & Timeline](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`
- [Score Lead](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`
- [Validate AI Result](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`
- [Store Lead](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`

### Routing & Follow-up

- [Route by Temperature](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`
- [Hot Lead Actions](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`
- [Warm Lead Actions](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`
- [Cold Lead Actions](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`
- [Draft Email](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`

### Records & Alerts

- [Log Trigger](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`
- [Log Validation Error](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`
- [Log Duplicate](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`
- [Automation Log](https://github.com/azarath-max/ai-lead-qualification-system/blob/main/AI%20Lead%20Qualification%20%26%20Smart%20Sales%20Routing%20System.json): `AI Lead Qualification & Smart Sales Routing System.json`

### Other components

- **Lead Submitter**
- **Slack**
- **Airtable**
- **Gemini**
- **Gmail**

## Connections

- Lead Submitter → Lead Webhook: submits
- Lead Webhook → Clean Lead Data: passes fields
- Clean Lead Data → Log Trigger: passes fields
- Log Trigger → Validate Submission: continues
- Validate Submission → Log Validation Error: invalid submission
- Log Validation Error → Slack: alerts
- Validate Submission → Check Duplicate: valid submission
- Check Duplicate → Airtable: searches email
- Check Duplicate → Update Duplicate Lead: duplicate found
- Update Duplicate Lead → Airtable: updates record
- Update Duplicate Lead → Log Duplicate: records event
- Check Duplicate → Normalize Budget & Timeline: new lead
- Normalize Budget & Timeline → Score Lead: passes lead data
- Score Lead → Gemini: requests scoring
- Gemini → Score Lead: returns analysis
- Score Lead → Validate AI Result: passes result
- Validate AI Result → Store Lead: validated result
- Store Lead → Airtable: creates lead
- Store Lead → Route by Temperature: passes lead
- Route by Temperature → Hot Lead Actions: Hot
- Route by Temperature → Warm Lead Actions: Warm
- Route by Temperature → Cold Lead Actions: Cold
- Hot Lead Actions → Slack: alerts sales
- Hot Lead Actions → Draft Email: requests draft
- Warm Lead Actions → Draft Email: requests draft
- Cold Lead Actions → Draft Email: requests draft
- Draft Email → Gemini: requests email text
- Gemini → Draft Email: returns draft
- Draft Email → Gmail: sends or queues draft
- Log Trigger → Automation Log: appends event
- Log Validation Error → Automation Log: appends event
- Log Duplicate → Automation Log: appends event
