DEAL: Deal
A CRM deal representing a sales opportunity linked to a pipeline, account, and products.
DEAL definition shipped with DemandFlow. Administrators can add, remove, rename, or re-type fields, change which ones are required, and alter the layout from the Definitions screen in Settings. Your tenant's current schema may differ from what is shown here. To read the current definition at any time, GET the DEFINITION object whose id matches DEAL.Entity properties
| Property | Value |
|---|---|
| Entity code | DEAL |
| Display name | Deal |
| Plural | Deals |
| Level | 230 |
Use cases
DEAL is the core sales opportunity entity. It sits under PIPE in the comboKey hierarchy (SUB|PIPE|ENT). The status field maps to a pipeline stage column ID. The pipeline field is an objectLookup to PIPE. Key financial fields: amount, probability, weightedAmount (computed). closeDate tracks expected close. Links to ACCOUNT via objectLookup and comboKey2 for reverse queries. DEALPRODUCT junction links to PROD. The Summary panel provides a dashboard view with stage progress, health gauge, metrics, recent activities, and products summary.
Fields
Deal Details
| Field | Type | Required | Notes |
|---|---|---|---|
name | text | Yes | Deal Name. |
description | text (multi-line) | Description. | |
amount | number | Amount. | |
probability | number | Probability %. | |
closeDate | date | Expected Close Date. | |
dealType | enum | Valid ids: newBusiness (New Business), renewal (Renewal), upsell (Upsell), crossSell (Cross-sell). | |
priority | enum | Valid ids: 1 (Critical), 2 (High), 3 (Medium), 4 (Low). | |
dealSource | enum | Valid ids: inbound (Inbound), outbound (Outbound), referral (Referral), event (Event), website (Website), partner (Partner), other (Other). |
Pipeline & Outcome
| Field | Type | Required | Notes |
|---|---|---|---|
pipeline | reference → PIPE | Pipeline. | |
stage | text | Stage is set via the pipeline kanban board or Won/Lost toolbar actions Read only. | |
dealOutcome | enum | Valid ids: open (Open), won (Won), lost (Lost), abandoned (Abandoned). | |
lostReason | text (multi-line) | Lost/Abandoned Reason. | |
wonDate | date | Won Date. | |
lostDate | date | Lost Date. |
Relationships
| Field | Type | Required | Notes |
|---|---|---|---|
account | reference → ACCOUNT | Account. | |
primaryContact | reference → PPL | Primary Contact. | |
competitor | text | Competitor. |
Team
| Field | Type | Required | Notes |
|---|---|---|---|
dealOwner | reference → user | Deal Owner. | |
assigned | array of references → user | Assigned Team. | |
champion | reference → PPL | Champion Contact. | |
decisionMaker | reference → PPL | Decision Maker. |
Key Dates
| Field | Type | Required | Notes |
|---|---|---|---|
lastContactDate | date | Last Contacted. | |
nextFollowUp | date | Next Follow-up. | |
duedate | date | Due Date. |
Attachments
| Field | Type | Required | Notes |
|---|---|---|---|
files | file | Allowed types: any. |
Activity timeline panel attached.
Additional panels: dashboard.
Relationships
- Lookup:
pipeline(reference →PIPE). - Lookup:
account(reference →ACCOUNT). - Lookup:
primaryContact(reference →PPL). - Lookup:
champion(reference →PPL). - Lookup:
decisionMaker(reference →PPL). - Related list:
DEALPRODUCT, comboKey formatSUB|DEAL. - Related list:
ACTIVITY, comboKey formatSUB|DEAL. - Related list:
SCON, comboKey formatSUB|DEAL.
Creating a Deal via the API
POST /v1/objects
Authorization: Bearer <your-pat>
Content-Type: application/json
{
"entity": "DEAL",
"level": 230,
"comboKey": "SUB:<your-sub-id>|PIPE:<pipe-id>|ENT:",
"name": "Example name",
"description": "Example value",
"amount": 0,
"probability": 0
}
Listing Deals records
GET /v1/entities/DEAL/SUB:<your-sub-id>
GET /v1/entities/DEAL/SUB:<your-sub-id>|PIPE:<parent-id>