Skip to main content
The pipeline system tracks leads from initial discovery through close, with full history and probability tracking.

Pipeline Stages

Default pipeline stages (customizable per org):
StageDescription
unqualifiedNew lead, not yet evaluated
qualifiedInitial qualification complete
contactedOutreach initiated
meeting_scheduledMeeting booked
proposal_sentProposal delivered
negotiatingActive negotiation
closed_wonSuccessfully closed
closed_lostLost opportunity
disqualifiedNot a fit

Pipeline State

Each lead maintains pipeline state:
interface PipelineState {
  stage: string;           // Current stage
  owner: string | null;    // Assigned team member
  probability: number;     // Close probability (0-100)
  expectedCloseDate: string | null;
  notes: string | null;    // Latest notes
  updatedAt: number;       // Last stage change
}

Stage History

Every stage transition is recorded:
interface StageHistoryEntry {
  id: string;
  leadId: string;
  fromStage: string | null;
  toStage: string;
  notes: string | null;
  changedBy: string;       // User ID
  changedAt: number;       // Timestamp
}

Updating Pipeline Stage

Move a lead to a new stage:
curl -X POST "https://api.adaptengine.com/api/v1/leads/{leadId}/pipeline" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "stage": "qualified",
    "notes": "Strong fit for commercial projects",
    "probability": 40,
    "expectedCloseDate": "2024-06-30"
  }'

Pipeline Visualization

The board view displays leads as cards grouped by pipeline stage, allowing drag-and-drop stage transitions.

Pipeline Metrics

Track pipeline health with:
  • Stage counts - Leads per stage
  • Conversion rates - Stage-to-stage progression
  • Velocity - Average time per stage
  • Win rate - Closed won vs. closed lost

API Endpoints

MethodEndpointDescription
GET/api/v1/leads/{leadId}/pipelineGet pipeline state and history
POST/api/v1/leads/{leadId}/pipelineUpdate stage
GET/api/v1/pipeline/stagesList available stages