CRM: Opportunity Lifecycle
Stage-based progression for logistics B2B sales motions, lane-native qualification, and conversion control points.
Capability
How it works
- 1 Initial CRM relational schema added for crm_opportunities and crm_assignment_rules (conditions_json included from migration 000001).
- 2 Opportunity board endpoints added (GET /internal/opportunities, PATCH /internal/opportunities/{opportunityID}/stage) with stage validation and closed-won conversion trigger support.
- 3 Pipeline stage configuration now loads per-tenant stage definitions from crm_pipeline_stages (with default bootstrap), exposes GET /internal/pipelines/stages,...
- 4 Lane-native opportunity support added with crm_lanes schema, lane create endpoint (POST /internal/opportunities/{opportunityID}/lanes), board lane projections, and...
Operational outcomes
- Initial CRM relational schema added for crm_opportunities and crm_assignment_rules (conditions_json included from migration 000001).
- Opportunity board endpoints added (GET /internal/opportunities, PATCH /internal/opportunities/{opportunityID}/stage) with stage validation and closed-won conversion trigger support.
- Pipeline stage configuration now loads per-tenant stage definitions from crm_pipeline_stages (with default bootstrap), exposes GET /internal/pipelines/stages,...
Integration boundaries
- Intake & Qualification
- Accounts & Contacts
Proof model
Feature-level proof
Opportunity Lifecycle scope is defined in product module catalog.
verified
docs/products/crm/product.md · Module Catalog > Opportunity Lifecycle
CRM modules support intake processing, route projection, and qualification lifecycle evidence.
verified
docs/products/crm/product.md · Module Catalog > Intake & Qualification
Code: backend/services/crm/internal/modules/intake
Contract: proto/crm/intake/v1
CRM intake and qualification flows are implemented in dedicated modules and contracts.
verified
docs/products/crm/product.md · Module Catalog > Intake & Qualification
Code: backend/services/crm/internal/modules/intake
Contract: proto/crm/intake/v1
Solution routes that reuse this feature
Open these solution and feature-map routes to test this behavior in end-to-end buyer workflows (1).
Commercial to execution
Outcome: Converted commercial records move into execution with less re-entry and clearer ownership.
Commercial handoff friction drops when conversion and execution planning are connected by shared identifiers.
Continuity routes for this capability
Route-level continuity checks where this feature appears in product-pair workflows.
Revenue-to-Execution
Formula: Execution-Aware Sales -> Load Lifecycle
Open continuity routeZero-to-Onboarded
Formula: CRM -> TMS
Open continuity routeOperational validation path
Use adjacent feature and solution routes to inspect how this capability participates in cross-product execution.