Leads
Pre-qualification pipeline that converts to a customer + opportunity.
Last updated 2026-05-05
Leads represent prospects who have not yet become customers. The Kanban board at Sales → Leads groups by status (New, Contacted, Qualified, Proposal Sent, Won, Lost) with drag-and-drop transitions; each transition writes an audit row so a manager can later reconstruct how a lead moved. Conversion turns a lead into a Customer + Contact + (optionally) an open Estimate or Proposal in a single transaction. Lead source attribution rolls up to the Reports → Sales dashboard.
Web-to-lead capture is supported via a public form endpoint protected by Cloudflare Turnstile; embed the form on any external page.
Related endpoints
GET /api/tenant/leads— list with status + source filters.POST /api/tenant/leads— create (also reachable via the public web-to-lead URL).POST /api/tenant/leads/:id/convert— convert to customer.PATCH /api/tenant/leads/:id/status— move stage; emits an audit event.GET /api/public/leads/form-config/:tenantSlug— public form schema.
See the source at apps/web/src/app/(tenant)/leads and apps/api/src/leads.