Manage deals, stakeholders, milestones, interactions, and deadlines with the built-in CRM.

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.

Pipeline Tracking

Visual deal pipeline with stage progression and analytics.

Stakeholders

Manage buyers, sellers, agents, attorneys, lenders, and more.

Smart Reminders

Automated follow-ups, deadline tracking, and sentiment-aware nudges.

Deal Stages

lead qualified proposal negotiation closing won lost

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.

Request Body:
{
  "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.

Request Body:
{
  "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.

Request Body:
{
  "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.

Request Body:
{
  "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.

Request Body:
{
  "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.

Request Body:
{
  "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/deals/:deal_id/documents Auth

Attach a document to a deal.

Request Body:
{
  "title": "string",
  "doc_type": "contract|invoice|photo|other",
  "url": "https://..."
}
PUT /api/v1/deals/:deal_id/documents/:id Auth

Update document metadata (title, doc_type).

DELETE /api/v1/deals/:deal_id/documents/:id Auth

Remove a document from a deal.