Deals CRM
Overview
The Deals CRM provides a complete pipeline for managing business deals, real estate transactions, and commercial agreements. Track deals through stages (lead through won/lost), manage stakeholders, milestones, interactions, deadlines, and documents -- all with sentiment analysis on interactions and smart follow-up reminders.
Visual deal pipeline with stage progression and analytics.
Manage buyers, sellers, agents, attorneys, lenders, and more.
Automated follow-ups, deadline tracking, and sentiment-aware nudges.
Deal Stages
API Endpoints -- Deals
GET /api/v1/deals
Auth
List all deals. Optional filters:
?status=lead&deal_type=real_estate_purchase
POST /api/v1/deals
Auth
Create a new deal.
{"title": "string", "deal_type": "real_estate_purchase|real_estate_lease|commercial_purchase|commercial_lease", "value": 500000, "stage": "lead"}
GET /api/v1/deals/:id
Auth
Get deal details with all related stakeholders, milestones, interactions, and deadlines.
PUT /api/v1/deals/:id
Auth
Update deal fields (title, value, description, etc.).
PUT /api/v1/deals/:id/stage
Auth
Advance a deal to the next stage.
{"stage": "negotiation"}
POST /api/v1/deals/:id/archive
Auth
Archive a deal (remove from active pipeline).
POST /api/v1/deals/:id/restore
Auth
Restore an archived deal back to the active pipeline.
DELETE /api/v1/deals/:id
Auth
Permanently delete a deal.
GET /api/v1/deals/pipeline
Auth
Get a pipeline summary with deal counts per stage and total values.
GET /api/v1/deals/analytics
Auth
Pipeline analytics including conversion rates, average deal size, and time-in-stage metrics.
GET /api/v1/deals/follow-ups
Auth
Get deals needing follow-up based on last interaction date.
GET /api/v1/deals/closing-soon
Auth
Get deals approaching their expected close date.
API Endpoints -- Stakeholders
GET /api/v1/deals/:deal_id/stakeholders
Auth
List all stakeholders for a deal.
POST /api/v1/stakeholders
Auth
Add a stakeholder to a deal.
{"deal_id": "uuid", "name": "string", "role": "buyer|seller|agent|broker|attorney|lender|inspector|appraiser|title_company|other", "email": "...", "phone": "..."}
PUT /api/v1/stakeholders/:id
Auth
Update stakeholder details.
DELETE /api/v1/stakeholders/:id
Auth
Remove a stakeholder from a deal.
API Endpoints -- Milestones
GET /api/v1/deals/:deal_id/milestones
Auth
List milestones for a deal with completion status.
POST /api/v1/milestones
Auth
Create a milestone for a deal.
{"deal_id": "uuid", "title": "string", "due_date": "2026-04-01", "description": "..."}
PUT /api/v1/milestones/:id
Auth
Update milestone title, due date, or description.
POST /api/v1/milestones/:id/complete
Auth
Mark a milestone as completed.
DELETE /api/v1/milestones/:id
Auth
Delete a milestone.
API Endpoints -- Interactions
GET /api/v1/deals/:deal_id/interactions
Auth
List all interactions (calls, emails, meetings, notes) for a deal.
POST /api/v1/interactions
Auth
Log a new interaction. Types: call, email, meeting, note.
{"deal_id": "uuid", "type": "call", "summary": "Discussed pricing...", "stakeholder_ids": ["uuid"]}
GET /api/v1/deals/:deal_id/sentiment
Auth
Get a sentiment summary across all interactions for a deal.
PUT /api/v1/interactions/:id
Auth
Update an interaction's summary or notes.
DELETE /api/v1/interactions/:id
Auth
Delete an interaction log entry.
API Endpoints -- Deadlines
GET /api/v1/deals/:deal_id/deadlines
Auth
List deadlines for a deal.
POST /api/v1/deadlines
Auth
Create a deadline for a deal.
{"deal_id": "uuid", "title": "string", "due_date": "2026-04-15", "reminder_days_before": 3}
GET /api/v1/deadlines/overdue
Auth
Get all overdue deadlines across all deals.
GET /api/v1/deadlines/reminders
Auth
Get deadlines needing reminders (based on
reminder_days_before
setting).
PUT /api/v1/deadlines/:id
Auth
Update deadline title, due date, or reminder settings.
POST /api/v1/deadlines/:id/complete
Auth
Mark a deadline as completed.
DELETE /api/v1/deadlines/:id
Auth
Delete a deadline.
API Endpoints -- Documents
GET /api/v1/deals/:deal_id/documents
Auth
List all documents attached to a deal (contracts, invoices, photos, etc.).
POST /api/v1/documents
Auth
Attach a document to a deal.
{"deal_id": "uuid", "title": "string", "doc_type": "contract|invoice|photo|other", "url": "https://..."}
PUT /api/v1/documents/:id
Auth
Update document metadata (title, doc_type).
DELETE /api/v1/documents/:id
Auth
Remove a document from a deal.