DEMAND: Demand
Structured intake of incoming work requests. Demands are triaged, prioritised and approved before converting to Initiatives or Projects.
Default definition. This article describes the default
DEMAND 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 DEMAND.Entity properties
| Property | Value |
|---|---|
| Entity code | DEMAND |
| Display name | Demand |
| Plural | Demands |
| Level | 11500 |
Use cases
DEMAND is the pre-governance front door to the portfolio. Submitters raise a demand; PMO triages via Under Review → Approved / Rejected / Deferred. Approved demands convert to INI or PJ via toolbar actions, which copy relevant fields, set status to Converted, and populate convertedTo. Default view is kanban with status as the lane field so PMO can drag cards through the workflow. Priority and status both use gridColor for visual triage.
Fields
Identity
| Field | Type | Required | Notes |
|---|---|---|---|
name | text | Yes | Demand Title. |
description | text (multi-line) | Description. Example: Describe the request, business need, and desired outcome. | |
category | enum | Valid ids: new_capability (New Capability), enhancement (Enhancement), regulatory (Regulatory), cost_reduction (Cost Reduction), technical_debt (Technical Debt), infrastructure (Infrastructure), other (Other). | |
priority | enum | Valid ids: critical (Critical), high (High), medium (Medium), low (Low). |
Requester
| Field | Type | Required | Notes |
|---|---|---|---|
requestedBy | reference → user | Requested By. | |
requestDate | date | Request Date. | |
department | reference → DEPT | Department. | |
sponsor | reference → user | Sponsor. | |
status | enum | Valid ids: submitted (Submitted), under_review (Under Review), approved (Approved), rejected (Rejected), deferred (Deferred), converted (Converted). |
Estimates
| Field | Type | Required | Notes |
|---|---|---|---|
estimatedCost | number | Estimated Cost ($). | |
estimatedBenefit | number | Estimated Benefit ($). | |
estimatedDuration | number | Estimated Duration (months). |
Strategic Alignment
| Field | Type | Required | Notes |
|---|---|---|---|
strategicPillar | reference → DOBJ | Strategic Pillar / Objective. |
Decision
| Field | Type | Required | Notes |
|---|---|---|---|
approvedBy | reference → user | Decision By. | |
approvalDate | date | Decision Date. | |
rejectionReason | text (multi-line) | Rejection / Deferral Reason. |
Resulting Initiative / Project
| Field | Type | Required | Notes |
|---|---|---|---|
convertedToEntity | text | Converted To (Entity). Read only. | |
convertedTo | reference → INI | Converted To (Initiative). Read only. | |
convertedToPJ | reference → PJ | Converted To (Project). Read only. | |
convertedDate | datetime | Converted On. Read only. |
Attachments
| Field | Type | Required | Notes |
|---|---|---|---|
documents | file | Allowed types: any. |
Activity timeline panel attached.
Relationships
- Lookup:
department(reference →DEPT). - Lookup:
strategicPillar(reference →DOBJ). - Lookup:
convertedTo(reference →INI). - Lookup:
convertedToPJ(reference →PJ).
Creating a Demand via the API
POST /v1/objects
Authorization: Bearer <your-pat>
Content-Type: application/json
{
"entity": "DEMAND",
"level": 11500,
"comboKey": "SUB:<your-sub-id>|ENT:|BU:<bu-id>|DIV:<div-id>|DEPT:<dept-id>|ENT:",
"name": "Example name",
"description": "Example value",
"category": "new_capability",
"priority": "critical"
}
Listing Demands records
GET /v1/entities/DEMAND/SUB:<your-sub-id>
GET /v1/entities/DEMAND/SUB:<your-sub-id>|BU:<parent-id>