Skip to content

Leads & Deals

Capture prospects as Leads, qualify them, and convert to Contacts and Deals tracked through your sales pipeline.


Table of Contents

  1. Leads
  2. Lead Sources
  3. Converting Leads
  4. Deals
  5. Pipeline Board (Kanban)
  6. Automatic Lead Capture
  7. Best Practices

Leads

Accessing Leads

CRM → Leads or /admin/leads

Lead Statuses

StatusDescription
NewJust captured, not yet contacted
ContactedInitial outreach made
QualifiedMeets criteria for conversion
UnqualifiedDoes not fit — archive or delete
ConvertedConverted to contact/deal

Creating a Lead Manually

  1. Click Create Lead
  2. Enter contact info: name, email, phone, company
  3. Set Source (Website Form, Referral, Cold Call, etc.)
  4. Optional: budget, timeline, description, score (0–100)
  5. Assign Owner
  6. Click Save

Lead List Features

  • Filter by status, source, and owner
  • Search by name, email, company
  • Status badges for quick scanning
  • Bulk actions for assignment

Lead Sources

Default sources (seeded on install):

  • Website Form
  • Referral
  • Cold Call
  • Social Media
  • Event
  • Import
  • Other

Manage sources via the database seeder or add custom sources as needed. Each lead tracks its source for reporting.


Converting Leads

One-Click Conversion

  1. Open a lead (/admin/leads/{id})
  2. Click Convert Lead
  3. Configure conversion options:
    • Create new Contact (or link existing by email)
    • Create new Deal in default pipeline
    • Set deal title, value, and expected close date
  4. Confirm conversion

What Happens on Conversion

  • Lead status → Converted
  • Contact created or linked (by email match)
  • Deal created in the first pipeline stage (if selected)
  • converted_contact_id and converted_deal_id stored on lead
  • Lead remains visible for history

Permissions

Requires the convert leads permission.


Deals

Accessing Deals

  • Table view: CRM → Deals (/admin/deals)
  • Kanban view: CRM → Pipeline Board (/admin/deals-kanban)

Creating a Deal

  1. Click Create Deal
  2. Enter:
    • Title (required)
    • Contact (required)
    • Account (optional)
    • Pipeline and Stage
    • Value and Currency
    • Expected Close Date
    • Owner
    • Description
  3. Click Save

Deal Statuses

StatusDescription
OpenActive opportunity
WonClosed successfully (moved to won stage)
LostClosed unsuccessfully (moved to lost stage)

Won / Lost

When a deal moves to a Won or Lost stage:

  • Status updates automatically
  • Actual close date is recorded
  • Team receives a notification (deal won)
  • Outbound webhook fires (if configured)
  • Dashboard metrics update

Pipeline Board (Kanban)

Using the Board

  1. Go to CRM → Pipeline Board (/admin/deals-kanban)
  2. Select a pipeline (default: Sales Pipeline)
  3. Deals appear as cards in stage columns
  4. Drag and drop cards between stages to update progress

Card Information

Each deal card shows:

  • Deal title
  • Contact name
  • Deal value
  • Expected close date
  • Owner avatar

Stage Move Effects

  • Stage probability updates deal forecast
  • deal_stage_changed notification sent to owner
  • Moving to Won/Lost triggers status change and webhooks

Automatic Lead Capture

Leads are created automatically without admin action:

SourceTrigger
Contact formVisitor submits /contact
Service inquiryVisitor requests a service
Quote requestClient submits quote form
Public APIPOST /api/public/leads
WebhookPOST /api/public/webhooks/leads

All captured leads appear in CRM → Leads with the appropriate source.


Best Practices

  1. Respond to new leads within 24 hours — Set up notifications for lead_assigned
  2. Score leads — Use 0–100 score to prioritize follow-up
  3. Convert when qualified — Don't let leads sit in "New" too long
  4. Keep pipeline current — Move deals on the Kanban board after every customer touchpoint
  5. Log lost reasons — Helps improve qualification criteria


Last updated: June 2026

Released under the MIT License.