Appearance
Leads & Deals
Capture prospects as Leads, qualify them, and convert to Contacts and Deals tracked through your sales pipeline.
Table of Contents
Leads
Accessing Leads
CRM → Leads or /admin/leads
Lead Statuses
| Status | Description |
|---|---|
| New | Just captured, not yet contacted |
| Contacted | Initial outreach made |
| Qualified | Meets criteria for conversion |
| Unqualified | Does not fit — archive or delete |
| Converted | Converted to contact/deal |
Creating a Lead Manually
- Click Create Lead
- Enter contact info: name, email, phone, company
- Set Source (Website Form, Referral, Cold Call, etc.)
- Optional: budget, timeline, description, score (0–100)
- Assign Owner
- 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
- Open a lead (
/admin/leads/{id}) - Click Convert Lead
- 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
- 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_idandconverted_deal_idstored 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
- Click Create Deal
- Enter:
- Title (required)
- Contact (required)
- Account (optional)
- Pipeline and Stage
- Value and Currency
- Expected Close Date
- Owner
- Description
- Click Save
Deal Statuses
| Status | Description |
|---|---|
| Open | Active opportunity |
| Won | Closed successfully (moved to won stage) |
| Lost | Closed 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
- Go to CRM → Pipeline Board (
/admin/deals-kanban) - Select a pipeline (default: Sales Pipeline)
- Deals appear as cards in stage columns
- 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_changednotification sent to owner- Moving to Won/Lost triggers status change and webhooks
Automatic Lead Capture
Leads are created automatically without admin action:
| Source | Trigger |
|---|---|
| Contact form | Visitor submits /contact |
| Service inquiry | Visitor requests a service |
| Quote request | Client submits quote form |
| Public API | POST /api/public/leads |
| Webhook | POST /api/public/webhooks/leads |
All captured leads appear in CRM → Leads with the appropriate source.
Best Practices
- Respond to new leads within 24 hours — Set up notifications for
lead_assigned - Score leads — Use 0–100 score to prioritize follow-up
- Convert when qualified — Don't let leads sit in "New" too long
- Keep pipeline current — Move deals on the Kanban board after every customer touchpoint
- Log lost reasons — Helps improve qualification criteria
Related Documentation
Last updated: June 2026