Business Types
Element types that document strategy, governance and analysis artefacts.
Business types make strategy, governance, and analysis artefacts first-class nodes in a diagram — instead of living in side documents, objectives, risks, and decisions travel with the workflow and the AI reads them as context. In the editor they live under Types → Domains → Business.
Every type below can be a bpmn:task or — once it has children — a bpmn:subProcess container; types marked container by default are placed as containers. All of them accept the universal attributes. In the tables, dai:-prefixed keys are attributes on the element; keys marked † are stored as <dai:field key="…"> children (see Where values go).
There are 18 types in this category: Assumption, Budget, Competitor, Constraint, Customer, Decision, Dependency, Initiative, Key Result, KPI, Milestone, Objective, Partner, Policy, Question, Requirement, Risk, Stakeholder.
Assumption
dai:type="dai.types.business.assumption" · dai:stepType="assumption"
A documented assumption the project or model depends on. Recording assumptions explicitly surfaces hidden risks and ensures the team agrees on what is being taken for granted.
| Key | Label | Input | Values / notes |
|---|---|---|---|
dai:status | Status | select | unvalidated · validated · invalidated |
dai:basis | Basis | textarea | What evidence, experience, or reasoning supports this assumption? |
dai:ifWrong | If Wrong | textarea | What is the impact if this assumption turns out to be incorrect? |
dai:owner | Owner | text | Who is responsible for validating this? |
dai:notes | Notes | textarea |
<bpmn:task id="Task_assume" name="Pricing API stays stable" dai:type="dai.types.business.assumption" dai:stepType="assumption"
dai:status="unvalidated"
dai:ifWrong="Enrichment steps must add a schema adapter; roughly three days of work." />
Budget
dai:type="dai.types.business.budget" · dai:stepType="budget"
A budget or cost allocation for a project, initiative, or resource. Makes financial constraints explicit alongside the other business constraints — an AI reading the diagram treats it like any other hard boundary.
| Key | Label | Input | Values / notes |
|---|---|---|---|
dai:amount | Amount | text | e.g. 50,000 |
dai:currency | Currency | select | USD · EUR · GBP · other |
dai:costType | Cost Type | select | capex · opex · headcount · tooling · other |
dai:owner | Owner | text | Who owns or approves this budget? |
dai:notes | Notes | textarea | Additional context, constraints, or approval requirements. |
<bpmn:task id="Task_budget" name="Integration testing" dai:type="dai.types.business.budget" dai:stepType="budget"
dai:amount="15,000" dai:currency="USD" dai:costType="tooling"
dai:notes="Covers third-party API spend for the beta period. Alert at 80%." />
Competitor
dai:type="dai.types.business.competitor" · no dai:stepType
A competing company or product. Documents its positioning, strengths, weaknesses and how much of a threat it is.
| Key | Label | Input | Values / notes |
|---|---|---|---|
website † | Website | text | https://… |
positioning † | Positioning | textarea | Who it targets and how it differentiates |
strengths † | Strengths | textarea | |
weaknesses † | Weaknesses | textarea | |
threat † | Threat | select | low · medium · high |
dai:notes | Notes | textarea |
Constraint
dai:type="dai.types.business.constraint" · no dai:stepType
A fixed limit the work must fit within: a deadline, budget cap, legal or regulatory limit, technical limit or resource limit. Distinct from Requirement (what to build), Policy (an org-wide rule) and Assumption (what is believed true).
| Key | Label | Input | Values / notes |
|---|---|---|---|
constraintType † | Type | select | time · budget · legal · technical · resource · other |
limit † | Limit | text | e.g. Launch by 1 March; max $50k; EU data residency |
dai:source | Source | text | Who or what imposes it |
negotiable † | Negotiable | boolean | default false |
dai:owner | Owner | text | Responsible person or team |
dai:notes | Notes | textarea |
Customer
dai:type="dai.types.business.customer" · no dai:stepType
A customer segment or named account the business serves. Distinct from Persona (a research archetype) and Stakeholder (someone with influence on the project).
| Key | Label | Input | Values / notes |
|---|---|---|---|
customerType † | Type | select | segment · account · individual; default segment |
industry † | Industry | text | |
size † | Size | select | consumer · smb · mid-market · enterprise |
needs † | Needs | textarea | Jobs to be done, problems, buying criteria |
value † | Value | text | e.g. ARR, LTV, revenue share |
dai:owner | Account owner | text | Responsible person or team |
dai:notes | Notes | textarea |
Decision
dai:type="dai.types.business.decision-record" · dai:stepType="decision-record"
A business decision — documents the context, the choice made, and its consequences for future reference. For technical or architecture decisions (ADRs), use Software → Decision.
| Key | Label | Input | Values / notes |
|---|---|---|---|
dai:status | Status | select | proposed · accepted · deprecated · superseded |
dai:context | Context | textarea | What is the issue, situation, or problem that motivated this decision? |
dai:decision | Decision | textarea | What was decided? State the choice clearly. |
dai:consequences | Consequences | textarea | What are the resulting trade-offs, positive or negative? |
dai:notes | Notes | textarea |
<bpmn:task id="Task_decision" name="Launch in the EU before the US" dai:type="dai.types.business.decision-record" dai:stepType="decision-record"
dai:status="accepted"
dai:context="Two design partners are EU-based and data-residency requirements are already met."
dai:decision="Run the paid launch in the EU in Q1; follow with the US in Q2."
dai:consequences="Earlier revenue from committed customers; US marketing spend moves a quarter later." />
Dependency
dai:type="dai.types.business.dependency" · no dai:stepType
Something the work needs from another team, vendor, decision or approval before it can proceed. Distinct from Software → Dependency (packages, services and APIs).
| Key | Label | Input | Values / notes |
|---|---|---|---|
dependencyKind † | Kind | select | team · vendor · decision · approval · data · other |
providedBy † | Provided by | text | Team, vendor or person |
needBy † | Needed by | text | e.g. 2026-11-15 |
dai:status | Status | select | not-started · in-progress · delivered · blocked; default not-started |
dai:owner | Owner | text | Responsible person or team |
dai:notes | Notes | textarea |
Initiative
dai:type="dai.types.business.initiative" · no dai:stepType · container by default
A funded body of work that pursues one or more Objectives. Contains its Milestones, Budget, Requirements and Risks; connect it to the Objectives it serves.
| Key | Label | Input | Values / notes |
|---|---|---|---|
dai:status | Status | select | proposed · approved · in-progress · on-hold · done · cancelled; default proposed |
sponsor † | Sponsor | text | |
dai:timeframe | Timeframe | text | e.g. Q3–Q4 2026 |
startDate † | Start | text | e.g. 2026-07-01 |
dai:targetDate | Target date | text | e.g. 2026-12-31 |
dai:owner | Owner | text | Responsible person or team |
dai:notes | Notes | textarea |
Key Result
dai:type="dai.types.business.key-result" · no dai:stepType
A measurable outcome that shows progress on an Objective, with a baseline, a target and the current value. Connect it to its Objective.
| Key | Label | Input | Values / notes |
|---|---|---|---|
metric † | Metric | text | e.g. Net Promoter Score |
baseline † | Baseline | text | |
dai:target | Target | text | |
current † | Current | text | |
dai:unit | Unit | text | e.g. %, users, $ |
dai:targetDate | Due | text | e.g. 2026-12-31 |
dai:status | Status | select | on-track · at-risk · off-track · achieved · missed; default on-track |
dai:owner | Owner | text | Responsible person or team |
dai:notes | Notes | textarea |
KPI
dai:type="dai.types.business.kpi-metric" · dai:stepType="kpi"
A Key Performance Indicator — a measurable target used to evaluate the success of a process or initiative.
| Key | Label | Input | Values / notes |
|---|---|---|---|
dai:target | Target Value | number | 100; min 0 |
dai:unit | Unit | text | e.g. %, $, count, ms |
dai:formula | Formula / Calculation | code | e.g. e.g. (completed / total) * 100 |
dai:frequency | Reporting Frequency | select | daily · weekly · monthly · quarterly · annually |
dai:owner | Owner | text | Responsible person or team |
dai:notes | Description | textarea | What does this KPI measure and why does it matter? |
<bpmn:task id="Task_kpi" name="Order validation rate" dai:type="dai.types.business.kpi-metric" dai:stepType="kpi"
dai:target="99" dai:unit="%" dai:frequency="weekly"
dai:formula="(valid_orders / total_orders) * 100" />
Milestone
dai:type="dai.types.business.milestone" · dai:stepType="milestone"
A significant checkpoint or delivery target on the project timeline. Documents the target date, the deliverables required, and whether it has been achieved.
| Key | Label | Input | Values / notes |
|---|---|---|---|
dai:targetDate | Target Date | text | e.g. 2025-Q3, 2025-09-30 |
dai:deliverables | Deliverables | textarea | What must be completed or delivered to achieve this milestone? |
dai:status | Status | select | planned · in-progress · achieved · missed |
dai:notes | Notes | textarea | Additional context, dependencies, or risks related to this milestone. |
<bpmn:task id="Task_mstone" name="Public beta" dai:type="dai.types.business.milestone" dai:stepType="milestone"
dai:targetDate="2025-09-30" dai:status="in-progress"
dai:deliverables="Order validation pipeline live in production with monitoring and on-call rota." />
Objective
dai:type="dai.types.business.objective" · dai:stepType="objective"
A strategic goal or OKR — a time-bound target the team aims to achieve. Pairs naturally with KPIs: the objective defines what success looks like, the KPI how it is measured.
| Key | Label | Input | Values / notes |
|---|---|---|---|
dai:status | Status | select | draft · active · achieved · missed |
dai:timeframe | Timeframe | select | q1 · q2 · q3 · q4 · annual · custom |
dai:keyResults | Key Results | textarea | 1. Increase NPS from 42 to 55 2. Reduce churn to below 3% 3. Launch in 2 new markets |
dai:owner | Owner | text | Responsible person or team |
dai:notes | Notes | textarea |
<bpmn:task id="Task_obj" name="Reduce fulfilment errors" dai:type="dai.types.business.objective" dai:stepType="objective"
dai:status="active" dai:timeframe="q3"
dai:keyResults="1. Cut mis-ships from 2% to 0.5% 2. Order validation suite passes continuously 3. Median fulfilment time under 24h" />
Partner
dai:type="dai.types.business.partner" · no dai:stepType
An outside organisation the business works with: a technology, reseller, supplier, integration or strategic partner.
| Key | Label | Input | Values / notes |
|---|---|---|---|
partnerType † | Type | select | technology · reseller · supplier · integration · strategic |
website † | Website | text | https://… |
agreement † | Agreement | text | e.g. MSA, revenue share, referral |
value † | Value | textarea | What each side gets |
dai:status | Status | select | prospect · active · ending · ended; default prospect |
dai:owner | Relationship owner | text | Responsible person or team |
dai:notes | Notes | textarea |
Policy
dai:type="dai.types.business.policy" · dai:stepType="policy"
An organisational or regulatory policy that governs how work is done. Distinct from a project-scoped Rule or Requirement — a Policy is org-level, typically externally mandated or board-approved, and applies across initiatives.
| Key | Label | Input | Values / notes |
|---|---|---|---|
dai:owner | Owner | text | e.g. Legal, Compliance, Board |
dai:authority | Authority | text | e.g. ISO 27001, GDPR, internal board resolution |
dai:scope | Scope | select | org · department · team · project |
dai:enforcementLevel | Enforcement | select | mandatory · advisory |
dai:notes | Notes | textarea | Describe the policy, its rationale, and any exceptions or exemptions. |
<bpmn:task id="Task_policy" name="EU data residency" dai:type="dai.types.business.policy" dai:stepType="policy"
dai:owner="Compliance" dai:authority="GDPR"
dai:scope="org" dai:enforcementLevel="mandatory"
dai:notes="All personal data must be stored and processed in EU regions." />
Question
dai:type="dai.types.business.question" · no dai:stepType
An open question the team needs to answer. Unlike an Assumption it is not taken as true, and unlike a Decision it is not yet resolved.
| Key | Label | Input | Values / notes |
|---|---|---|---|
dai:status | Status | select | open · answered · deferred; default open |
dai:priority | Priority | select | high · medium · low |
dai:targetDate | Answer by | text | e.g. 2026-11-01 |
answer † | Answer | textarea | |
dai:owner | Owner | text | Responsible person or team |
dai:notes | Notes | textarea |
Requirement
dai:type="dai.types.business.requirement" · dai:stepType="requirement"
A business or functional requirement with priority, source, acceptance criteria, and status. Bridges business goals and technical delivery using the MoSCoW prioritisation framework.
| Key | Label | Input | Values / notes |
|---|---|---|---|
dai:priority | Priority | select | must · should · could · wont |
dai:status | Status | select | draft · agreed · implemented · verified · rejected |
dai:source | Source | text | Who or what originated this requirement? |
dai:acceptanceCriteria | Acceptance Criteria | textarea | What conditions must be true for this requirement to be considered met? |
dai:notes | Notes | textarea |
<bpmn:task id="Task_req" name="Column selection" dai:type="dai.types.business.requirement" dai:stepType="requirement"
dai:priority="must" dai:status="agreed"
dai:source="Alex the Analyst (persona interviews)"
dai:notes="Users must be able to select which columns to include before exporting."
dai:acceptanceCriteria="A column selector appears before download. Default is all columns checked." />
Risk
dai:type="dai.types.business.risk-item" · dai:stepType="risk"
A potential threat or uncertainty that could negatively affect the project or outcome. Tracks probability, impact, and mitigation.
| Key | Label | Input | Values / notes |
|---|---|---|---|
dai:probability | Probability | select | low · medium · high · critical |
dai:impact | Impact | select | low · medium · high · critical |
dai:mitigation | Mitigation Strategy | textarea | How will this risk be reduced or avoided? |
dai:owner | Owner | text | Responsible person or team |
dai:notes | Notes | textarea | Additional context or details. |
<bpmn:task id="Task_risk" name="Single-region deployment" dai:type="dai.types.business.risk-item" dai:stepType="risk"
dai:probability="medium" dai:impact="critical"
dai:mitigation="Replicate to a second region before the launch milestone." />
Stakeholder
dai:type="dai.types.business.stakeholder" · dai:stepType="stakeholder"
A person, role, or organisation with interest or influence in the project outcome. Documents their level of engagement and how to manage the relationship.
| Key | Label | Input | Values / notes |
|---|---|---|---|
dai:interest | Interest | select | low · medium · high |
dai:influence | Influence | select | low · medium · high |
dai:engagementStrategy | Engagement Strategy | textarea | How should this stakeholder be kept informed, involved, or managed? |
dai:notes | Notes | textarea |
<bpmn:task id="Task_stake" name="Warehouse operations lead" dai:type="dai.types.business.stakeholder" dai:stepType="stakeholder"
dai:interest="high" dai:influence="high"
dai:engagementStrategy="Weekly demo of the validation pipeline; co-own the cutover checklist." />