knowledge/areas/sales-pipeline.md
# Sales Pipeline — LeadsPanther Last updated: 2026-02-24 > **⚠️ This file is a reference document, NOT a data store.** > All lead data lives in the **Supabase PostgreSQL database**. > Use the `supabase-lead-ops` skill and the lead-engine CLI to query/update pipeline data. ## How to Access Pipeline Data ``` set LE=C:/Users/Administrator/.openclaw/workspace/leadspanther-lead-engine # Full pipeline metrics (text) npm --prefix $LE run query:pipeline # JSON output (for programmatic use) npm --prefix $LE run query:pipeline -- --format json # Only outreach-ready leads npm --prefix $LE run query:pipeline -- --ready --verbose # Last 7 days of leads npm --prefix $LE run query:pipeline -- --recent 7 ``` ## Pipeline Stages - **New** — Lead in DB, `ready_for_outreach = false` - **Enriched** — Lead has GBP analysis, email, website data - **Ready for Outreach** — `ready_for_outreach = true` (passed enrichment gates) - **Synced to HubSpot** — `hubspot_company_id IS NOT NULL` - **Contacted** — First outreach sent (tracked in HubSpot/conversations table) - **Responded** — Lead replied (tracked in messages table) - **Qualified** — Passes Pain + Budget ($5K+) + Access framework - **Proposal Sent** — Proposal/quote delivered - **Closed-Won** — Deal signed - **Closed-Lost** — Deal dead (log reason) ## Database Tables - **leads** — 737+ leads with 37 columns (GBP data, enrichment, readiness gates, HubSpot sync) - **lead_assignments** — lead → client exclusive assignment - **exclusivity_locks** — 90-day address-level exclusivity - **conversations** / **messages** — communication tracking - **clients** — customer accounts with tier/caps ## Tracks ### Track 1: Upwork Leads Tracked manually until Upwork API integration. Use upwork-prospector skill. ### Track 2: DFW Leads Automated via lead-engine. Google Maps/Places → Supabase → enrichment → HubSpot. Query: `npm --prefix $LE run query:pipeline -- --ready --verbose` ### Track 3: OpenClaw Setup Leads (Month 2-3) Future track. Will use same DB infrastructure.