Skip to content
Demiton

Opportunity

Changes to a pipeline opportunity over time.

Part of Opportunities in the register catalog.

Register ID
opportunityUse this name to ask for the register. The API calls it a shelf ID.
Each record is
An eventSomething that happened at a point in time.
Status
AvailableFilled today from connected systems, uploads or public data.
Data
OrganisationPrivate to each organisation's own workspace.
Version
v1Current version.

Connectors

Connected today

Demiton keeps this register current from these systems now.

On the roadmap

Systems in the planned connector rollout that can fill this register. Partial means the system holds only some of its fields.

  • MYOB Acumatica
  • ProcorePartial

Fields

18 fields: 8 required, 10 optional.

Required

Every record carries these fields.

external_idText

The tenant's own opportunity number, unique per source company; the fact's natural key.

Example: OPP-2026-021

occurred_atDate and timeISO 8601, with time zoneUnit: UTC

The episodic event time: source creation date, falling back to last-modified then close date.

Example: 2026-06-20T09:00:00Z

source_systemText

Which bound system produced the event.

Example: D365_BUSINESS_CENTRAL

titleText

Human identity of the opportunity, truncated to 500 characters.

Example: ITT2529 Streetscape Upgrade - Mill & Currie Streets, Nambour

outcomeText

won, lost or open.

Example: open

bid_statusText

bid when the opportunity was actually pursued, else logged_no_bid (a tenant may log every opportunity, including no-bids).

Example: submitted

valueNumberUnit: currency of the CURRENCY axis (AUD for the BC binding)

Estimated opportunity value, INSTANTANEOUS.

Example: 1850000

currencyTextUnit: ISO 4217

Denomination of value.

Example: AUD

Optional

Present when the source system records them.

work_type_idText

The org's classification of the work, from the shared work_types.yaml catalogue.

work_type_sourceText

Provenance of the classification (keyword vs LLM path).

sales_cycle_codeText

The source system's sales-stage code.

Example: TENDER

salespersonText

Name of the source-system opportunity owner.

Example: Brett Hollis

jurisdictionText

AU state/territory the opportunity is in, matched from the title text.

Example: QLD

customerText

The customer entity anchor, when the source row names a contact company/number.

Example: Sunshine Coast Council

projectText

The project/job anchor, when one resolves.

financial_periodText

The financial period the event falls in.

estimatorText

The internal estimator assigned to the pursuit.

Example: Kim Tanaka

Example record

A sample from Bridgeworks Group, Demiton's demonstration company. The values are illustrative; the shape is exactly what the contract describes.

opportunity.example.json
{
"bid_status": "submitted",
"currency": "AUD",
"customer": "Sunshine Coast Council",
"estimator": "Kim Tanaka",
"external_id": "OPP-2026-021",
"jurisdiction": "QLD",
"occurred_at": "2026-06-20T09:00:00Z",
"outcome": "open",
"sales_cycle_code": "TENDER",
"salesperson": "Brett Hollis",
"source_system": "D365_BUSINESS_CENTRAL",
"title": "ITT2529 Streetscape Upgrade - Mill & Currie Streets, Nambour",
"value": 1850000
}

Use this contract

The contract is a standard JSON Schema (draft 2020-12) document, so any JSON Schema validator can check a record against it. Keywords starting with x-demiton- add Demiton's own meaning, such as units and requiredness, and validators ignore them.

Schema URL
https://docs.demiton.io/registers/opportunity/v1.json
Show the full JSON Schema

Loading the schema…

Talk to the team

Tell us what you run - your ERP, field, payroll and document systems - and we will show you the registers Demiton would keep current from them, on your data, in a 30-minute call.

Book a 30-minute callStart free