AI Lead Qualification Agent
Vector + LLM scoring · CRM webhooks
● Demo mode: runs in your browser GitHub ↗
Speed-to-lead, automated

Every inbound lead scored, explained and routed in seconds

A webhook receives the lead from your CRM or form. Qwen3 embeddings (via Ollama) compare it with your ideal customer profiles and past won/lost deals. Claude (or OpenAI) then qualifies it on BANT using that evidence, and the score, tier, next action and a reply draft are pushed back to HubSpot, Pipedrive, Slack or any webhook.

01Webhook inHubSpot · Pipedrive · forms
02NormalizeOne lead schema, PII-capped
03EmbedQwen3-Embedding via Ollama
04Vector fitICP similarity + kNN won/lost
05RulesEmail, title, spam, size
06LLM qualifyClaude / OpenAI, BANT JSON
07Blend & routeTier A–D + next action
08CRM outSigned webhook / API
Loading demo…

Run it for real

ollama pull qwen3-embedding:0.6b
cp .env.example .env (add an Anthropic or OpenAI key)
npm install && npm start

Connect your CRM

Point a HubSpot workflow, Pipedrive webhook or Zapier/Make/n8n step at POST /webhooks/lead/:source. Results come back as signed webhooks or direct CRM property updates.

Why vectors + LLM?

Embeddings ground the score in your history (what actually closed). The LLM reads intent and BANT and writes the reply. Rules add hard guards, so spam never reaches sales.

Score your own lead

Nothing leaves your browser