Platform Reference

Tenant, Workspace & Domain

How FlowOS organises data across 1,151 tables — the three-layer hierarchy, collection naming, and the full cross-table relationship map.

Tenant

A tenant is the root isolation boundary in FlowOS. Every single database collection (table) is namespaced under a tenant ID. No data can ever cross tenant boundaries — queries, indexes, and API tokens are all scoped at the tenant level first.

In a SaaS deployment each customer organisation is one tenant. In a self-hosted enterprise deployment you typically have one tenant for the whole company, with multiple workspaces inside it.

The tenantId field is present on every record in every sub-table across the platform. It is required, readonly, and set automatically at record creation. You cannot move a record between tenants.

Workspace

A workspace is a configuration and data silo within a tenant. Workspaces have their own users, roles, workflows, apps, ITSM records, and settings. Most enterprise customers create one workspace per business unit or environment tier (e.g. prod, staging).

Like tenantId, the workspaceId field is stamped on every record in every table, is required and readonly, and all queries are automatically filtered by it based on the API token context.

Pass X-Workspace: <slug> on every API request. Omitting it returns a 400. Each API token is bound to a specific workspace — it cannot read across workspaces even within the same tenant.

Domain

A domain is a logical grouping that controls which module owns a table and which workspaces it is seeded into. Domains do not add an extra column to records — they are a metadata classification used during installation.

The domains table itself describes a tree of named environments (e.g. global → it → prod) used in domain-separation and scoped-app deployments.

FieldTypeReferencesDescription
namestringHuman name, e.g. "IT Production".
slugstringURL-safe identifier. Unique.
descriptionstringOptional description.
parentIdreferencedomainsParent domain — enables a tree. Null for root.
pathstringMaterialised path (global/it/prod). Read-only, auto-computed.
isActivebooleanWhether this domain is currently active.
createdAtdateAuto-set.
updatedAtdateAuto-set.

Domain Catalogue

Every system table belongs to exactly one domain:

DomainTablesWhat it owns
itsm935All ITSM entity families (incident, problem, change, request, catalog) and their sub-tables
platform140Users, roles, workspaces, auth, workflows, apps, audit, webhooks, system config
data16DB Studio tables, data sources, import sets, transform maps, schema snapshots
observability15Health checks, monitoring, alerts, event correlations, synthetic tests
auth12Sessions, MFA, API keys, SSO/SCIM providers, ABAC policies
analytics10KPIs, performance samples, dashboards, report schedules
collaboration8Comments, conversations, knowledge base articles, messages
deployment7Deployment records, gates, windows, env promotions, rollback plans
integration5Connectors, webhooks, event bus, field map templates
cmdb1CMDB configuration items (activated per module install)
hr1Employee records (activated when HR module installed)
csm1Customer accounts (activated when CSM module installed)

Collection Naming

All MongoDB collections start with root_ — enforced at application boot bycollection-guard.ts, which intercepts every Mongoose write and throws if the collection name does not start with root_. Within that constraint, three naming patterns are used:

PatternFormatUsed for
Tenant-scopedroot_<tenantId>_<tableName>Core tables like users, roles — getCoreModel() in non-strict/legacy mode.
Workspace-scopedroot_<tenantId>_<workspaceId>_<tableName>All 1,151 tables including sys_counters and sys_notifications — getWorkspaceModel() and getCoreModel() in strict mode.

For example, the incidents table for tenant t_acme workspace ws_prod isroot_t_acme_ws_prod_incidents, and the counter table for the same workspace isroot_t_acme_ws_prod_sys_counters. Every table — including sys_* tables — follows the same pattern.

Collections are created lazily on first write. The 1,151 figure is the schema definition count; live MongoDB collection count = (number of active workspaces × tables that have had at least one write) plus the small number of global and tenant-scoped collections.

The 1,151 Tables

FlowOS ships 1,151 pre-defined table schemas across all domains. The bulk (935) belong to the ITSM domain and follow a repeating entity-family pattern. The rest are standalone platform, observability, auth, and integration tables.

Family / PrefixCountPattern
itsm_incident_107Full extended sub-table set for incident management
itsm_change_108Full extended sub-table set for change management
itsm_problem_106Full extended sub-table set for problem management
itsm_request_106Full extended sub-table set for service requests
itsm_catalog_98Full extended sub-table set for service catalog
incident_45Lighter standalone incident sub-tables (no itsm_ prefix)
change_52Lighter standalone change sub-tables
problem_44Lighter standalone problem sub-tables
request_42Lighter standalone request sub-tables
catalog_47Lighter standalone catalog sub-tables
release_45Release management family
service_38Service management family
Standalone tables313Platform, CMDB, auth, analytics, observability, deployment, etc.

Universal Base Schema

Every one of the 935 ITSM sub-tables shares an identical set of ~70 base fields. Only the status choices and a single entity-specific parent reference differ between them. This design means you can query, filter, sort, and relate any ITSM sub-table using the same field names.

Identity fields

FieldTypeReferencesDescription
namestringPrimary display name. Required.
displayNamestringAlternate display label.
codestringShort machine-friendly code.
numberstringHuman-readable auto-number (e.g. INC-0042).
externalIdstringID in an upstream system (for import/sync).
sourceSystemstringName of the upstream system that created this record.

Descriptive fields

FieldTypeReferencesDescription
shortDescriptionstringOne-line summary.
descriptionstringFull description. Markdown.
categorystringCategory label.
subcategorystringSubcategory label.
tagslistFree-form tag array.
labelslistStructured labels array.
summarystringAuto-generated or manual summary.

Classification fields

FieldTypeReferencesDescription
statuslistLifecycle state. Choices vary by table type — see Status Variants below.
prioritylistcritical | high | medium | low | planning
impactlisthigh | medium | low
urgencylisthigh | medium | low
risklistvery_high | high | medium | low | very_low
approvalStatuslistnot_required | requested | approved | rejected | expired
recordSourcelistmanual | workflow | api | import | system
environmentlistprod | staging | test | dev

Content / payload fields

FieldTypeReferencesDescription
detailsjsonArbitrary structured detail object.
configurationjsonConfiguration blob.
conditionsjsonCondition definition array.
actionsjsonAction definition array.
scriptstringScript body (JS/Python/etc).
metadatajsonFreeform metadata object.
payloadjsonRaw event/trigger payload.
correlationIdstringCorrelation token linking related records across systems.
batchIdstringBatch import/process identifier.

Versioning & flag fields

FieldTypeReferencesDescription
versionstringSemantic version string.
revisionnumberInteger revision counter.
isDefaultbooleanWhether this is the default record for its type.
isActivebooleanWhether this record is currently active.
isAutomatedbooleanWhether this record was created or runs automatically.
isLockedbooleanWhether this record is locked against edits.

Date / lifecycle fields

FieldTypeReferencesDescription
openedAtdateWhen the record was opened/created as a process item.
plannedStartAtdatePlanned start time.
plannedEndAtdatePlanned end time.
startedAtdateActual start time.
pausedAtdateWhen execution was paused.
resumedAtdateWhen execution was resumed.
dueAtdateDeadline.
resolvedAtdateWhen the record was resolved.
closedAtdateWhen the record was closed.
effectiveFromdatePolicy / rule effective start.
effectiveTodatePolicy / rule expiry.
recordedAtdateWhen the underlying event was observed.
createdAtdateDB insert time. Readonly, auto-set.
updatedAtdateLast modification time. Readonly, auto-set.

Metric & financial fields

FieldTypeReferencesDescription
durationMinutesnumberDuration of the process or event in minutes.
effortHoursnumberHuman effort logged in hours.
elapsedHoursnumberWall-clock elapsed hours.
slaTargetMinutesnumberSLA resolution target in minutes.
olaTargetMinutesnumberOLA target in minutes.
metricNamestringName of the tracked metric.
metricValuenumberCurrent metric value.
scorenumberQuality / compliance score.
thresholdnumberThreshold value for alerts/breaches.
weightnumberWeight used in scoring or priority calculations.
costAmountnumberCost in local currency.
budgetAmountnumberBudget allocation.
actualAmountnumberActual spend.
currencystringISO 4217 currency code.

Workspace context (on every record)

FieldTypeReferencesDescription
tenantIdstringTenant ID. Required, readonly, auto-set.
workspaceIdstringWorkspace ID. Required, readonly, auto-set.

Status Variants

The status field choices are the only thing that meaningfully differs between most sub-tables. There are three patterns:

Process tables
tasks, checklists, watchers, communications, queues, reports
newin_progresspendingon_holdresolvedclosedcancelled
Execution tables
playbooks, runbooks, approvals, plans, jobs, workflows, scripts
draftreadyrunningpausedcompletedfailedretired
Event tables
timelines, escalations, events, correlations, notifications
newprocessedfailedignored

Cross-Table Relationships

Every ITSM sub-table carries a full set of foreign key reference fields that allow any sub-table record to be linked to any other platform entity. These references are optional — set only the ones relevant to the specific sub-table type. The full set present on every sub-table:

Self and sibling references

FieldTypeReferencesDescription
parentIdreference(same table)Parent record within the same table. Enables tree/hierarchy.
relatedRecordIdreference(same table)Single related record in the same table.
relatedRecordIdsreference(same table) ×NMultiple related records in the same table.
incidentParentIdreferenceitsm_incident_*Parent incident family record (on incident sub-tables).
problemParentIdreferenceitsm_problem_*Parent problem family record (on problem sub-tables).
changeParentIdreferenceitsm_change_*Parent change family record (on change sub-tables).
requestParentIdreferenceitsm_request_*Parent request family record (on request sub-tables).
catalogParentIdreferenceitsm_catalog_*Parent catalog family record (on catalog sub-tables).

Core ITSM process references

FieldTypeReferencesDescription
incidentIdreferenceincidentsLinks to an incident record.
problemIdreferenceproblemsLinks to a problem record.
changeRequestIdreferencechange_requestsLinks to a change request.
requestIdreferencerequestsLinks to a service request.
requestItemIdreferencerequest_itemsLinks to a specific request item.
catalogItemIdreferencecatalog_itemsLinks to a catalog item definition.
workflowIdreferenceworkflowsWorkflow that created or manages this record.
approvalIdreferenceapprovalsActive approval record.
taskIdreferencetasksAssociated task record.

Service & infrastructure references

FieldTypeReferencesDescription
serviceIdreferenceservice_offeringsService offering this record relates to.
serviceSpecIdreferenceservice_specsService specification.
serviceBlueprintIdreferenceservice_blueprintsService blueprint.
ciIdreferencecmdb_cisConfiguration item (CMDB).
businessServiceIdreferencecmdb_business_servicesBusiness service from CMDB.
assetIdreferenceassetsPhysical or software asset.
releaseIdreferencereleasesRelease this record belongs to.
eventIdreferenceeventsTriggering or related event.
alertIdreferencealertsAlert that triggered this record.

Vendor & financial references

FieldTypeReferencesDescription
vendorIdreferencevendorsVendor involved.
contractIdreferencevendor_contractsVendor contract.
projectIdreferenceprojectsProject this record belongs to.
milestoneIdreferencemilestonesProject milestone.

User references

FieldTypeReferencesDescription
ownerIdreferenceusersRecord owner.
assignedToreferenceusersPerson this is assigned to.
requestedByreferenceusersPerson who requested this.
approvedByreferenceusersPerson who approved.
reviewedByreferenceusersPerson who reviewed.
escalatedToreferenceusersPerson it was escalated to.
authorIdreferenceusersAuthor / creator.
ownedByreferenceusersBusiness owner.
createdByreferenceusersUser who created this record. Auto-set.
updatedByreferenceusersUser who last updated. Auto-set.

Organisational references

FieldTypeReferencesDescription
groupIdreferencegroupsAssignment group.
departmentIdreferencedepartmentsDepartment.
locationIdreferencelocationsPhysical location.
companyIdreferencecompaniesCompany.
businessUnitIdreferencebusiness_unitsBusiness unit.

ITSM Entity Families

The 935 ITSM tables are organised into seven entity families. The five core ITSM process families (incident, problem, change, request, catalog) each have two prefix variants: the itsm_<entity>_prefix (extended, ~107 sub-tables with all 70 base fields) and the shorter <entity>_ prefix (lighter standalone subset). The release_ and service_ families are standalone-only.

Incident family (152 tables)

Tracks every service disruption from detection through resolution. The root table is incidents. All itsm_incident_* sub-tables carry incidentParentId linking back to a parent record within the same sub-table, and incidentId linking to the root incidents table.

itsm_incident_actionsitsm_incident_allocationsitsm_incident_approval_chainsitsm_incident_approval_stepsitsm_incident_approvalsitsm_incident_assignment_groupsitsm_incident_assignment_rulesitsm_incident_audit_findingsitsm_incident_auditsitsm_incident_baseline_itemsitsm_incident_baselinesitsm_incident_breachesitsm_incident_budgetsitsm_incident_chargebacksitsm_incident_checklist_itemsitsm_incident_checklistsitsm_incident_communication_channelsitsm_incident_communicationsitsm_incident_conditionsitsm_incident_contract_termsitsm_incident_contractsitsm_incident_control_testsitsm_incident_controlsitsm_incident_correlationsitsm_incident_cost_entriesitsm_incident_cost_modelsitsm_incident_dashboard_widgetsitsm_incident_dashboardsitsm_incident_definition_versionsitsm_incident_definitionsitsm_incident_dependenciesitsm_incident_dependency_mapsitsm_incident_escalation_stepsitsm_incident_escalationsitsm_incident_event_linksitsm_incident_eventsitsm_incident_exception_approvalsitsm_incident_exceptionsitsm_incident_forecastsitsm_incident_indexesitsm_incident_insightsitsm_incident_invoice_linesitsm_incident_job_runsitsm_incident_jobsitsm_incident_kpisitsm_incident_linkagesitsm_incident_mappingsitsm_incident_matricesitsm_incident_metric_snapshotsitsm_incident_metricsitsm_incident_model_versionsitsm_incident_modelsitsm_incident_notification_rulesitsm_incident_notificationsitsm_incident_participantsitsm_incident_plan_itemsitsm_incident_plansitsm_incident_playbook_stepsitsm_incident_playbooksitsm_incident_policiesitsm_incident_policy_versionsitsm_incident_postmortemsitsm_incident_purchase_ordersitsm_incident_queue_membershipsitsm_incident_queuesitsm_incident_recordsitsm_incident_registriesitsm_incident_remediation_tasksitsm_incident_remediationsitsm_incident_report_runsitsm_incident_report_schedulesitsm_incident_reportsitsm_incident_review_itemsitsm_incident_reviewsitsm_incident_risk_assessmentsitsm_incident_risksitsm_incident_routing_rulesitsm_incident_rule_versionsitsm_incident_rulesitsm_incident_runbook_stepsitsm_incident_runbooksitsm_incident_scorecardsitsm_incident_scriptsitsm_incident_service_levelsitsm_incident_service_targetsitsm_incident_snapshot_diffsitsm_incident_snapshotsitsm_incident_stakeholdersitsm_incident_subscriptionsitsm_incident_task_dependenciesitsm_incident_task_templatesitsm_incident_tasksitsm_incident_template_versionsitsm_incident_templatesitsm_incident_thresholdsitsm_incident_timelineitsm_incident_timeline_entriesitsm_incident_timelinesitsm_incident_type_mappingsitsm_incident_typesitsm_incident_vendor_contactsitsm_incident_vendorsitsm_incident_war_room_messagesitsm_incident_war_roomsitsm_incident_watchersitsm_incident_workflow_versionsitsm_incident_workflows

Problem family (150 tables)

Root cause investigations and known error tracking. Root table: problems. Sub-tables carry problemParentId and problemId. Incident → Problem relationship is recorded via incidentId on problem sub-tables andproblemId on incident sub-tables — bidirectional cross-references.

itsm_problem_actionsitsm_problem_allocationsitsm_problem_approval_chainsitsm_problem_approval_stepsitsm_problem_approvalsitsm_problem_assignment_groupsitsm_problem_assignment_rulesitsm_problem_audit_findingsitsm_problem_auditsitsm_problem_baseline_itemsitsm_problem_baselinesitsm_problem_breachesitsm_problem_budgetsitsm_problem_chargebacksitsm_problem_checklist_itemsitsm_problem_checklistsitsm_problem_communication_channelsitsm_problem_communicationsitsm_problem_conditionsitsm_problem_contract_termsitsm_problem_contractsitsm_problem_control_testsitsm_problem_controlsitsm_problem_correlationsitsm_problem_cost_entriesitsm_problem_cost_modelsitsm_problem_dashboard_widgetsitsm_problem_dashboardsitsm_problem_definition_versionsitsm_problem_definitionsitsm_problem_dependenciesitsm_problem_dependency_mapsitsm_problem_escalation_stepsitsm_problem_escalationsitsm_problem_event_linksitsm_problem_eventsitsm_problem_exception_approvalsitsm_problem_exceptionsitsm_problem_forecastsitsm_problem_indexesitsm_problem_insightsitsm_problem_invoice_linesitsm_problem_job_runsitsm_problem_jobsitsm_problem_kpisitsm_problem_linkagesitsm_problem_mappingsitsm_problem_matricesitsm_problem_metric_snapshotsitsm_problem_metricsitsm_problem_model_versionsitsm_problem_modelsitsm_problem_notification_rulesitsm_problem_notificationsitsm_problem_participantsitsm_problem_plan_itemsitsm_problem_plansitsm_problem_playbook_stepsitsm_problem_playbooksitsm_problem_policiesitsm_problem_policy_versionsitsm_problem_postmortemsitsm_problem_purchase_ordersitsm_problem_queue_membershipsitsm_problem_queuesitsm_problem_recordsitsm_problem_registriesitsm_problem_remediation_tasksitsm_problem_remediationsitsm_problem_report_runsitsm_problem_report_schedulesitsm_problem_reportsitsm_problem_review_itemsitsm_problem_reviewsitsm_problem_risk_assessmentsitsm_problem_risksitsm_problem_routing_rulesitsm_problem_rule_versionsitsm_problem_rulesitsm_problem_runbook_stepsitsm_problem_runbooksitsm_problem_scorecardsitsm_problem_scriptsitsm_problem_service_levelsitsm_problem_service_targetsitsm_problem_snapshot_diffsitsm_problem_snapshotsitsm_problem_stakeholdersitsm_problem_subscriptionsitsm_problem_task_dependenciesitsm_problem_task_templatesitsm_problem_tasksitsm_problem_template_versionsitsm_problem_templatesitsm_problem_thresholdsitsm_problem_timelineitsm_problem_timeline_entriesitsm_problem_timelinesitsm_problem_type_mappingsitsm_problem_typesitsm_problem_vendor_contactsitsm_problem_vendorsitsm_problem_war_room_messagesitsm_problem_war_roomsitsm_problem_watchersitsm_problem_workflow_versionsitsm_problem_workflows

Change family (160 tables)

ITIL-aligned change requests with CAB workflow, approval chains, and implementation windows. Root table: the main change record referenced via changeRequestId. Change sub-tables reference incidents via incidentId (the changes that fix incidents) and problems via problemId (permanent fixes for known errors).

itsm_change_actionsitsm_change_allocationsitsm_change_approval_chainsitsm_change_approval_stepsitsm_change_approvalsitsm_change_assignment_groupsitsm_change_assignment_rulesitsm_change_audit_findingsitsm_change_auditsitsm_change_baseline_itemsitsm_change_baselinesitsm_change_breachesitsm_change_budgetsitsm_change_chargebacksitsm_change_checklist_itemsitsm_change_checklistsitsm_change_communication_channelsitsm_change_communicationsitsm_change_conditionsitsm_change_contract_termsitsm_change_contractsitsm_change_control_testsitsm_change_controlsitsm_change_correlationsitsm_change_cost_entriesitsm_change_cost_modelsitsm_change_dashboard_widgetsitsm_change_dashboardsitsm_change_definition_versionsitsm_change_definitionsitsm_change_dependenciesitsm_change_dependency_mapsitsm_change_escalation_stepsitsm_change_escalationsitsm_change_event_linksitsm_change_eventsitsm_change_exception_approvalsitsm_change_exceptionsitsm_change_forecastsitsm_change_indexesitsm_change_insightsitsm_change_invoice_linesitsm_change_job_runsitsm_change_jobsitsm_change_kpisitsm_change_linkagesitsm_change_mappingsitsm_change_matricesitsm_change_metric_snapshotsitsm_change_metricsitsm_change_model_versionsitsm_change_modelsitsm_change_notification_rulesitsm_change_notificationsitsm_change_participantsitsm_change_plan_itemsitsm_change_plansitsm_change_playbook_stepsitsm_change_playbooksitsm_change_policiesitsm_change_policy_versionsitsm_change_postmortemsitsm_change_purchase_ordersitsm_change_queue_membershipsitsm_change_queuesitsm_change_recordsitsm_change_registriesitsm_change_remediation_tasksitsm_change_remediationsitsm_change_report_runsitsm_change_report_schedulesitsm_change_reportsitsm_change_review_itemsitsm_change_reviewsitsm_change_risk_assessmentsitsm_change_risksitsm_change_routing_rulesitsm_change_rule_versionsitsm_change_rulesitsm_change_runbook_stepsitsm_change_runbooksitsm_change_scorecardsitsm_change_scriptsitsm_change_service_levelsitsm_change_service_targetsitsm_change_snapshot_diffsitsm_change_snapshotsitsm_change_stakeholdersitsm_change_subscriptionsitsm_change_task_dependenciesitsm_change_task_templatesitsm_change_tasksitsm_change_template_versionsitsm_change_templatesitsm_change_thresholdsitsm_change_timelineitsm_change_timeline_entriesitsm_change_timelinesitsm_change_type_mappingsitsm_change_typesitsm_change_vendor_contactsitsm_change_vendorsitsm_change_war_room_messagesitsm_change_war_roomsitsm_change_watchersitsm_change_workflow_versionsitsm_change_workflows

Request family (148 tables)

Service request fulfilment. Root table: requests / request_items.requestId and requestItemId are the foreign keys used on sub-tables. Requests reference catalogItemId for the service definition and workflowIdfor the fulfillment automation.

itsm_request_actionsitsm_request_allocationsitsm_request_approval_chainsitsm_request_approval_stepsitsm_request_approvalsitsm_request_assignment_groupsitsm_request_assignment_rulesitsm_request_audit_findingsitsm_request_auditsitsm_request_baseline_itemsitsm_request_baselinesitsm_request_breachesitsm_request_budgetsitsm_request_chargebacksitsm_request_checklist_itemsitsm_request_checklistsitsm_request_communication_channelsitsm_request_communicationsitsm_request_conditionsitsm_request_contract_termsitsm_request_contractsitsm_request_control_testsitsm_request_controlsitsm_request_correlationsitsm_request_cost_entriesitsm_request_cost_modelsitsm_request_dashboard_widgetsitsm_request_dashboardsitsm_request_definition_versionsitsm_request_definitionsitsm_request_dependenciesitsm_request_dependency_mapsitsm_request_escalation_stepsitsm_request_escalationsitsm_request_event_linksitsm_request_eventsitsm_request_exception_approvalsitsm_request_exceptionsitsm_request_forecastsitsm_request_indexesitsm_request_insightsitsm_request_invoice_linesitsm_request_job_runsitsm_request_jobsitsm_request_kpisitsm_request_linkagesitsm_request_mappingsitsm_request_matricesitsm_request_metric_snapshotsitsm_request_metricsitsm_request_model_versionsitsm_request_modelsitsm_request_notification_rulesitsm_request_notificationsitsm_request_participantsitsm_request_plan_itemsitsm_request_plansitsm_request_playbook_stepsitsm_request_playbooksitsm_request_policiesitsm_request_policy_versionsitsm_request_postmortemsitsm_request_purchase_ordersitsm_request_queue_membershipsitsm_request_queuesitsm_request_recordsitsm_request_registriesitsm_request_remediation_tasksitsm_request_remediationsitsm_request_report_runsitsm_request_report_schedulesitsm_request_reportsitsm_request_review_itemsitsm_request_reviewsitsm_request_risk_assessmentsitsm_request_risksitsm_request_routing_rulesitsm_request_rule_versionsitsm_request_rulesitsm_request_runbook_stepsitsm_request_runbooksitsm_request_scorecardsitsm_request_scriptsitsm_request_service_levelsitsm_request_service_targetsitsm_request_snapshot_diffsitsm_request_snapshotsitsm_request_stakeholdersitsm_request_subscriptionsitsm_request_task_dependenciesitsm_request_task_templatesitsm_request_tasksitsm_request_template_versionsitsm_request_templatesitsm_request_thresholdsitsm_request_timelineitsm_request_timeline_entriesitsm_request_timelinesitsm_request_type_mappingsitsm_request_typesitsm_request_vendor_contactsitsm_request_vendorsitsm_request_war_room_messagesitsm_request_war_roomsitsm_request_watchersitsm_request_workflow_versionsitsm_request_workflows

Catalog family (145 tables)

Service catalog definitions — what employees can request. Root entity: catalog items. Referenced by catalogItemId throughout the request family. Catalog sub-tables link to serviceId (service offering) and workflowId (fulfillment workflow).

itsm_catalog_actionsitsm_catalog_allocationsitsm_catalog_approval_chainsitsm_catalog_approval_stepsitsm_catalog_approvalsitsm_catalog_assignment_groupsitsm_catalog_assignment_rulesitsm_catalog_audit_findingsitsm_catalog_auditsitsm_catalog_baseline_itemsitsm_catalog_baselinesitsm_catalog_breachesitsm_catalog_budgetsitsm_catalog_chargebacksitsm_catalog_checklist_itemsitsm_catalog_checklistsitsm_catalog_communication_channelsitsm_catalog_communicationsitsm_catalog_conditionsitsm_catalog_contract_termsitsm_catalog_contractsitsm_catalog_control_testsitsm_catalog_controlsitsm_catalog_cost_entriesitsm_catalog_cost_modelsitsm_catalog_dashboard_widgetsitsm_catalog_dashboardsitsm_catalog_definition_versionsitsm_catalog_definitionsitsm_catalog_dependenciesitsm_catalog_dependency_mapsitsm_catalog_escalation_stepsitsm_catalog_escalationsitsm_catalog_event_linksitsm_catalog_eventsitsm_catalog_exception_approvalsitsm_catalog_exceptionsitsm_catalog_forecastsitsm_catalog_indexesitsm_catalog_insightsitsm_catalog_invoice_linesitsm_catalog_job_runsitsm_catalog_jobsitsm_catalog_kpisitsm_catalog_linkagesitsm_catalog_mappingsitsm_catalog_matricesitsm_catalog_metric_snapshotsitsm_catalog_metricsitsm_catalog_model_versionsitsm_catalog_modelsitsm_catalog_notification_rulesitsm_catalog_notificationsitsm_catalog_participantsitsm_catalog_plan_itemsitsm_catalog_plansitsm_catalog_playbook_stepsitsm_catalog_playbooksitsm_catalog_policiesitsm_catalog_policy_versionsitsm_catalog_purchase_ordersitsm_catalog_queue_membershipsitsm_catalog_queuesitsm_catalog_recordsitsm_catalog_registriesitsm_catalog_remediation_tasksitsm_catalog_remediationsitsm_catalog_report_runsitsm_catalog_report_schedulesitsm_catalog_reportsitsm_catalog_review_itemsitsm_catalog_reviewsitsm_catalog_risk_assessmentsitsm_catalog_risksitsm_catalog_routing_rulesitsm_catalog_rule_versionsitsm_catalog_rulesitsm_catalog_runbook_stepsitsm_catalog_runbooksitsm_catalog_scorecardsitsm_catalog_scriptsitsm_catalog_service_levelsitsm_catalog_service_targetsitsm_catalog_snapshot_diffsitsm_catalog_snapshotsitsm_catalog_stakeholdersitsm_catalog_subscriptionsitsm_catalog_task_dependenciesitsm_catalog_task_templatesitsm_catalog_tasksitsm_catalog_template_versionsitsm_catalog_templatesitsm_catalog_thresholdsitsm_catalog_timelineitsm_catalog_timeline_entriesitsm_catalog_timelinesitsm_catalog_type_mappingsitsm_catalog_typesitsm_catalog_vendor_contactsitsm_catalog_vendorsitsm_catalog_war_room_messagesitsm_catalog_war_roomsitsm_catalog_watchersitsm_catalog_workflow_versionsitsm_catalog_workflows

Release family (45 tables)

Release management — planning, packaging, and deploying changes to production. Root entity: releases. Release sub-tables reference releaseId → releases and cross-link to changeRequestId(changes bundled into a release) and ciId (infrastructure items being released onto).

release_notesrelease_plansrelease_packagesrelease_tasksrelease_milestonesrelease_risk_assessmentsrelease_communicationsrelease_approvalsrelease_registriesrelease_templatesrelease_policiesrelease_policy_versionsrelease_rulesrelease_rule_versionsrelease_workflowsrelease_workflow_versionsrelease_task_templatesrelease_queuesrelease_queue_membershipsrelease_playbooksrelease_playbook_stepsrelease_runbooksrelease_runbook_stepsrelease_checklistsrelease_checklist_itemsrelease_timelinesrelease_timeline_entriesrelease_eventsrelease_event_linksrelease_approval_stepsrelease_stakeholdersrelease_dependenciesrelease_exceptionsrelease_review_boardsrelease_scorecardsrelease_kpisrelease_metric_snapshotsrelease_dashboardsrelease_dashboard_widgetsrelease_reportsrelease_report_schedulesrelease_simulationsrelease_simulation_runsrelease_auditsrelease_audit_findings

Service family (38 tables)

Service management — the service portfolio, offerings, blueprints, and operational health. These tables define what services exist and how they are operated, distinct from the catalog (which defines what can be requested). Referenced by serviceId and serviceSpecIdthroughout the ITSM entity families.

service_blueprintsservice_specsservice_portfoliosservice_offeringsservice_catalog_categoriesservice_catalog_subcategoriesservice_request_templatesservice_health_snapshotsservice_cost_modelsservice_cost_entriesservice_registriesservice_templatesservice_policiesservice_policy_versionsservice_rulesservice_rule_versionsservice_workflowsservice_workflow_versionsservice_tasksservice_task_templatesservice_queuesservice_queue_membershipsservice_playbooksservice_playbook_stepsservice_runbooksservice_runbook_stepsservice_checklistsservice_checklist_itemsservice_timelinesservice_timeline_entriesservice_eventsservice_event_linksservice_approvalsservice_approval_stepsservice_communicationsservice_stakeholdersservice_dependenciesservice_exceptions

Sub-Table Type Catalogue

Each of the 107 sub-table suffixes represents a specific process concern. The same suffix exists across all five entity families (incident, problem, change, request, catalog) with identical base schema and purpose — only the entity parent reference differs.

*_actionsexecution status

Automated or manual action definitions and their execution records.

Key relations: workflowId → workflows; assignedTo → users
*_allocationsprocess status

Resource allocation records — who/what is allocated to this entity.

Key relations: assignedTo → users; groupId → groups
*_approval_chainsexecution status

Multi-step approval chain definitions with ordered approver groups.

Key relations: workflowId → workflows; groupId → groups
*_approval_stepsexecution status

Individual steps within an approval chain. One record per approver/group.

Key relations: approvedBy → users; groupId → groups
*_approvalsexecution status

Approval instances — a request for approval on a specific record.

Key relations: approvedBy → users; requestedBy → users; approvalId → approvals
*_assignment_groupsprocess status

Groups eligible to receive assignments for this entity type.

Key relations: groupId → groups
*_assignment_rulesexecution status

Auto-assignment rules — conditions that route new records to groups/users.

Key relations: assignedTo → users; groupId → groups
*_audit_findingsprocess status

Findings from internal or external audits related to this entity.

Key relations: reviewedBy → users; assignedTo → users
*_auditsexecution status

Audit execution records with scope, schedule, and results.

Key relations: ownerId → users; assignedTo → users
*_baseline_itemsprocess status

Individual items captured in a configuration or process baseline.

Key relations: ciId → cmdb_cis
*_baselinesexecution status

Point-in-time snapshots of configuration or process state.

Key relations: ownerId → users; ciId → cmdb_cis
*_breachesevent status

SLA or OLA breach records — when a target was missed and by how much.

Key relations: assignedTo → users; groupId → groups
*_budgetsprocess status

Budget allocations and current spend tracking for this entity.

Key relations: ownerId → users; departmentId → departments
*_chargebacksprocess status

Cost chargeback entries attributed to this entity.

Key relations: departmentId → departments; businessUnitId → business_units
*_checklist_itemsprocess status

Individual checklist line items with completion state.

Key relations: assignedTo → users
*_checklistsprocess status

Ordered checklist definitions or instances attached to this entity.

Key relations: assignedTo → users; templateId (self)
*_communication_channelsprocess status

Communication channel configurations (email lists, Slack channels, etc).

Key relations: groupId → groups
*_communicationsprocess status

Communication records — emails, notifications, status updates sent to stakeholders.

Key relations: authorId → users; groupId → groups
*_conditionsexecution status

Condition definitions used in rules, routing, and automation triggers.

Key relations: workflowId → workflows
*_contract_termsprocess status

Individual terms and obligations within a contract.

Key relations: contractId → vendor_contracts; vendorId → vendors
*_contractsprocess status

Vendor or service contracts related to this entity.

Key relations: vendorId → vendors; contractId → vendor_contracts; ownerId → users
*_control_testsexecution status

Results of testing security or compliance controls.

Key relations: assignedTo → users; reviewedBy → users
*_controlsprocess status

Security or compliance control definitions applicable to this entity.

Key relations: ownerId → users
*_correlationsevent status

Event correlation records — related events grouped by root cause or pattern.

Key relations: eventId → events; alertId → alerts
*_cost_entriesprocess status

Individual cost line items (labour, infrastructure, vendor fees).

Key relations: createdBy → users; departmentId → departments
*_cost_modelsexecution status

Cost model definitions for calculating and allocating costs.

Key relations: ownerId → users; departmentId → departments
*_dashboard_widgetsexecution status

Widget configurations embedded in entity-specific dashboards.

Key relations: ownerId → users
*_dashboardsexecution status

Dashboard definitions scoped to this entity type.

Key relations: ownerId → users; createdBy → users
*_definition_versionsexecution status

Versioned snapshots of definition records.

Key relations: createdBy → users
*_definitionsexecution status

Generic definition records (field definitions, type definitions, etc).

Key relations: ownerId → users
*_dependenciesprocess status

Dependency relationships — what this entity depends on or blocks.

Key relations: ciId → cmdb_cis; taskId → tasks
*_dependency_mapsexecution status

Visual dependency map definitions for this entity.

Key relations: ciId → cmdb_cis; serviceId → service_offerings
*_escalation_stepsevent status

Individual steps in an escalation policy — who gets notified at each tier.

Key relations: assignedTo → users; groupId → groups
*_escalationsevent status

Active escalation records — an entity that has been escalated and its current tier.

Key relations: escalatedTo → users; groupId → groups
*_event_linksevent status

Links between this entity and related platform events.

Key relations: eventId → events; alertId → alerts
*_eventsevent status

Events that occurred in the lifecycle of this entity.

Key relations: createdBy → users; ciId → cmdb_cis
*_exception_approvalsexecution status

Approval records specifically for policy exceptions.

Key relations: approvedBy → users; requestedBy → users
*_exceptionsprocess status

Policy or SLA exception records — when normal rules are waived.

Key relations: approvedBy → users; ownerId → users
*_forecastsprocess status

Forecast records — predicted future values for metrics or volumes.

Key relations: ownerId → users
*_indexesexecution status

Custom search index definitions for this entity type.

Key relations:
*_insightsprocess status

AI/analytics-generated insights attached to this entity.

Key relations: createdBy → users (system)
*_invoice_linesprocess status

Invoice line items for costs associated with this entity.

Key relations: vendorId → vendors; contractId → vendor_contracts
*_job_runsevent status

Individual background job execution records.

Key relations: createdBy → users
*_jobsexecution status

Background job definitions scheduled against this entity.

Key relations: assignedTo → users; workflowId → workflows
*_kpisprocess status

KPI definitions and current measured values.

Key relations: ownerId → users
*_linkagesprocess status

Generic linkage records between this entity and any other platform entity.

Key relations: relatedRecordId (self); incidentId; changeRequestId; problemId
*_mappingsexecution status

Field or data mapping definitions (e.g. for integration transforms).

Key relations:
*_matricesexecution status

Matrix configurations — e.g. impact/urgency → priority calculation grids.

Key relations:
*_metric_snapshotsevent status

Point-in-time metric value snapshots for trending.

Key relations: ownerId → users
*_metricsprocess status

Metric definitions with current values and thresholds.

Key relations: ownerId → users
*_model_versionsexecution status

Versioned snapshots of AI/ML model configurations.

Key relations: createdBy → users
*_modelsexecution status

AI/ML model references used for prediction or classification.

Key relations: ownerId → users
*_notification_rulesexecution status

Rules defining when and to whom notifications are sent.

Key relations: groupId → groups; assignedTo → users
*_notificationsevent status

Notification records — what was sent, to whom, and when.

Key relations: assignedTo → users; groupId → groups
*_participantsprocess status

Participation records — users actively engaged with this entity (e.g. war room).

Key relations: assignedTo → users; groupId → groups
*_plan_itemsprocess status

Individual items in a plan (implementation, rollback, test plan).

Key relations: assignedTo → users; taskId → tasks
*_plansexecution status

Plan definitions — implementation plans, rollback plans, continuity plans.

Key relations: ownerId → users; assignedTo → users
*_playbook_stepsexecution status

Individual steps within a playbook with execution state.

Key relations: assignedTo → users; taskId → tasks
*_playbooksexecution status

Playbook definitions — ordered step sequences for responding to this entity type.

Key relations: ownerId → users; workflowId → workflows
*_policiesprocess status

Policy definitions governing how this entity type is handled.

Key relations: ownerId → users; approvedBy → users
*_policy_versionsexecution status

Versioned snapshots of policy records.

Key relations: createdBy → users
*_postmortemsprocess status

Post-incident/post-change review records with timeline and learnings.

Key relations: ownerId → users; assignedTo → users; incidentId → incidents
*_purchase_ordersprocess status

Purchase orders raised for resources needed by this entity.

Key relations: vendorId → vendors; ownerId → users
*_queue_membershipsprocess status

Records of which queues this entity or its items belong to.

Key relations: groupId → groups; assignedTo → users
*_queuesprocess status

Queue definitions — work queues for routing and prioritising entity items.

Key relations: groupId → groups; ownerId → users
*_recordsprocess status

Generic record references linking to any other table record.

Key relations: relatedRecordId (self)
*_registriesprocess status

Registry entries — named lookups for types, codes, and classifications.

Key relations:
*_remediation_tasksprocess status

Tasks created specifically to remediate a finding, risk, or breach.

Key relations: assignedTo → users; taskId → tasks
*_remediationsexecution status

Remediation plans with goals and completion tracking.

Key relations: assignedTo → users; ownerId → users
*_report_runsevent status

Individual report execution records with output snapshots.

Key relations: createdBy → users
*_report_schedulesexecution status

Scheduled report configurations — when to run and who to deliver to.

Key relations: ownerId → users; assignedTo → users
*_reportsexecution status

Report definitions — query, layout, and delivery config.

Key relations: ownerId → users; createdBy → users
*_review_itemsprocess status

Individual items on a review checklist (post-incident, PIR, CAB).

Key relations: assignedTo → users
*_reviewsprocess status

Review records — post-incident reviews, CAB reviews, audit reviews.

Key relations: ownerId → users; reviewedBy → users
*_risk_assessmentsprocess status

Risk assessments with probability, impact, and mitigation plan.

Key relations: ownerId → users; assignedTo → users
*_risksprocess status

Risk definitions identified for this entity.

Key relations: ownerId → users; assignedTo → users
*_routing_rulesexecution status

Auto-routing rules that assign incoming records to queues or groups.

Key relations: groupId → groups; assignedTo → users
*_rule_versionsexecution status

Versioned snapshots of business rule records.

Key relations: createdBy → users
*_rulesexecution status

Business rule definitions — conditions + actions that fire on record events.

Key relations: workflowId → workflows; ownerId → users
*_runbook_stepsexecution status

Individual steps in a runbook with execution state and output.

Key relations: assignedTo → users; taskId → tasks
*_runbooksexecution status

Runbook definitions — scripted operational procedures.

Key relations: ownerId → users; workflowId → workflows
*_scorecardsprocess status

Scorecard records with KPI values and health scores.

Key relations: ownerId → users
*_scriptsexecution status

Script definitions (JS/Python) associated with this entity.

Key relations: authorId → users
*_service_levelsprocess status

Service level definitions — the agreed performance targets.

Key relations: serviceId → service_offerings; ownerId → users
*_service_targetsprocess status

Specific measurable targets within a service level (response, resolution times).

Key relations: serviceId → service_offerings
*_snapshot_diffsevent status

Diffs between two snapshots showing what changed between them.

Key relations: createdBy → users
*_snapshotsexecution status

Full state snapshots of this entity at a point in time.

Key relations: createdBy → users; ciId → cmdb_cis
*_stakeholdersprocess status

Stakeholder records — people with interest in this entity's outcome.

Key relations: assignedTo → users; groupId → groups; departmentId → departments
*_subscriptionsprocess status

Notification subscriptions — users/groups watching this entity for updates.

Key relations: assignedTo → users; groupId → groups
*_task_dependenciesprocess status

Dependency links between tasks — blocks/is-blocked-by relationships.

Key relations: taskId → tasks; relatedRecordId (self)
*_task_templatesexecution status

Reusable task template definitions for this entity type.

Key relations: ownerId → users; groupId → groups
*_tasksprocess status

Task records with assignee, due date, and completion state.

Key relations: assignedTo → users; groupId → groups; taskId → tasks
*_template_versionsexecution status

Versioned snapshots of template records.

Key relations: createdBy → users
*_templatesexecution status

Template definitions — reusable starting points for new records.

Key relations: ownerId → users; createdBy → users
*_thresholdsprocess status

Threshold definitions that trigger alerts or escalations when crossed.

Key relations: ownerId → users
*_timelineevent status

Main timeline — the ordered list of significant events for this entity.

Key relations: createdBy → users; assignedTo → users
*_timeline_entriesevent status

Individual timeline entry records (comments, state changes, actions).

Key relations: authorId → users; assignedTo → users
*_timelinesevent status

Named timeline definitions (multiple timelines per entity are supported).

Key relations: ownerId → users
*_type_mappingsexecution status

Mappings between internal and external type/category codes.

Key relations:
*_typesexecution status

Type registry entries — e.g. incident types, change types.

Key relations: parentId (self)
*_vendor_contactsprocess status

Vendor contacts involved with this entity.

Key relations: vendorId → vendors; assignedTo → users
*_vendorsprocess status

Vendor records associated with this entity.

Key relations: vendorId → vendors; contractId → vendor_contracts
*_war_room_messagesevent status

Chat messages within a war room session for this entity.

Key relations: authorId → users
*_war_roomsexecution status

War room session records — collaborative incident bridges.

Key relations: ownerId → users; assignedTo → users; incidentId → incidents
*_watchersprocess status

Watcher records — people monitoring this entity for any change.

Key relations: assignedTo → users; groupId → groups
*_workflow_versionsexecution status

Versioned snapshots of workflow definitions linked to this entity.

Key relations: workflowId → workflows; createdBy → users
*_workflowsexecution status

Workflow definitions associated with this entity (fulfillment, automation, etc).

Key relations: workflowId → workflows; ownerId → users

Cross-Entity ITSM Tables

Beyond the five entity families, the ITSM domain includes standalone tables that operate across all entity types:

FieldTypeReferencesDescription
itsm_approval_chainsitsmGlobal approval chain definitions shared across all ITSM modules.
itsm_blackout_windowsitsmChange freeze windows — no changes permitted during these periods.
itsm_cab_workflowsitsmCAB (Change Advisory Board) workflow definitions.
itsm_escalation_historyitsmGlobal escalation history across all entity types.
itsm_escalationsitsmActive escalations across all entity types.
itsm_impact_urgency_rulesitsmRules for auto-calculating priority from impact + urgency.
itsm_known_errorsitsmKnown error database — problems with documented workarounds.
itsm_ola_policiesitsmOperational Level Agreement policies for internal teams.
itsm_priority_matrixitsmImpact × urgency → priority mapping matrix.
itsm_sla_breachesitsmAll SLA breach records across every ITSM entity type.
itsm_sla_notification_rulesitsmRules for sending SLA warning/breach notifications.
itsm_status_lifecyclesitsmConfigurable status transition rules per entity type.
itsm_ticket_bookmarksitsmUser bookmarks on any ITSM ticket.
itsm_ticket_linksitsmCross-entity links (e.g. incident linked to change).
itsm_ticket_remindersitsmUser-set reminders on any ITSM ticket.
itsm_ticket_watchersitsmWatchers on any ITSM ticket, keyed by entity type + ID.
itsm_war_room_messagesitsmWar room chat messages shared across the ITSM platform.
itsm_war_roomsitsmActive war room sessions (major incident bridges).
itsm_workaround_linksitsmLinks between known errors and their workaround articles.

Platform Domain Tables (140)

These tables back every module and are always present regardless of which ITSM modules are installed.

Identity & access

FieldTypeReferencesDescription
usersauth← workspace_members, role_assignments, group_membersPlatform user accounts. Unique per email across the instance.
rolesauth← role_assignmentsRBAC role definitions with permission sets.
role_assignmentsauth→ users, rolesUser → role assignment junction (per workspace).
groupsauth← group_membersUser groups for assignment and notification routing.
group_membersauth→ users, groupsUser → group membership junction.
departmentsorg← users, incidents, changesOrganisational departments.
companiesorg← usersCompany records (internal or external).
business_unitsorg← users, budget_plansBusiness unit records.
locationsorg← users, cmdb_cisPhysical location records.
abac_policiesauth→ rolesAttribute-based access control policy definitions.
field_aclsauth→ rolesField-level read/write permissions per role.
row_aclsauth→ rolesRow-level security rules per table and role.
permission_policiesauth→ rolesComposite permission policy definitions.

Authentication

FieldTypeReferencesDescription
api_keysauth→ usersAPI key definitions with scopes and expiry.
api_key_rotation_policiesauth→ api_keysPolicies governing when API keys must be rotated.
auth_sessionsauth→ usersActive user sessions.
mfa_configauthMFA configuration per workspace.
mfa_enrollmentsauth→ usersUser MFA method enrollments.
mfa_otpsauth→ usersOne-time passwords issued and consumed.
sso_providersauthSSO provider configurations (SAML, OIDC).
oauth_providersauthOAuth 2.0 provider configurations.
tokensauth→ usersShort-lived access tokens.
sessionsauth→ usersPersisted session records.
directory_sync_configsauthSCIM/LDAP directory sync configurations.
directory_sync_logsauth→ directory_sync_configsDirectory sync run logs.
scim_groupsauth→ groupsSCIM-provisioned groups.

Workflows

FieldTypeReferencesDescription
workflowsplatform← workflow_executions, workflow_versionsWorkflow definitions — trigger, nodes, edges.
workflow_versionsplatform→ workflowsPublished version snapshots of a workflow.
workflow_executionsplatform→ workflows, usersIndividual workflow run records.
workflow_action_definitionsplatformBuilt-in and custom action type definitions.
workflow_templatesplatform→ usersReusable workflow templates.
workflow_custom_nodesplatform→ usersUser-defined custom workflow nodes.
workflow_decision_tablesplatform→ workflowsDecision table definitions used in workflow nodes.
workflow_connection_aliasesplatformNamed connection aliases for workflow integrations.
workflow_credential_aliasesplatformNamed credential aliases.
workflow_secret_referencesplatformSecret references used in workflows.
workflow_library_itemsplatform→ usersShared workflow library items.
workflow_trigger_subscriptionsplatform→ workflowsEvent subscriptions that trigger workflows.
workflow_execution_metricsplatform→ workflowsPerformance metrics per workflow.
workflow_failure_alertsplatform→ workflows, usersAlert configurations for workflow failures.
workflow_compliance_evidenceplatform→ workflowsCompliance evidence captured during workflow runs.
workflow_wait_tokensplatform→ workflow_executionsPause/wait tokens for long-running workflows.
workflow_approvalsplatform→ workflows, usersApproval records created by workflow approval nodes.
flow_scriptsplatform→ usersSDK script definitions.
flow_script_versionsplatform→ flow_scriptsVersioned snapshots of flow scripts.
flow_execution_logsplatform→ flow_scriptsExecution logs for flow scripts.
flow_rulesplatform→ usersBusiness rule definitions in the flow engine.
flow_guardsplatform→ flow_rulesGuard conditions for flow transitions.
flow_behaviorsplatform→ usersBehavior definitions for flow automation.

Apps & UI

FieldTypeReferencesDescription
appsplatform← app_versions, app_deployment_logsApp Studio application definitions.
app_versionsplatform→ appsPublished app version snapshots.
app_audit_eventsplatform→ apps, usersApp-specific audit events.
app_deployment_logsplatform→ apps, usersApp deployment history.
app_chat_sessionsplatform→ apps, usersAI assistant chat sessions inside App Studio.
app_command_historyplatform→ apps, usersCommand history inside App Studio code editor.
custom_domainsplatform→ appsCustom domain configurations for apps.
ui_pagesplatform→ appsUI page definitions inside App Studio.
ui_page_versionsplatform→ ui_pagesVersioned snapshots of UI pages.
ui_componentsplatform→ appsReusable UI component definitions.
ui_policiesplatform→ ui_pagesUI policy rules (show/hide/mandatory based on conditions).

Audit & security

FieldTypeReferencesDescription
security_audit_logsauth→ usersSecurity-specific audit events (login, permission changes).
immutable_audit_entriesplatform→ usersTamper-proof audit log. Write-once, no updates/deletes.
field_audit_configplatformConfiguration for which fields to audit-log.
field_audit_entriesplatform→ usersPer-field change history.
activity_logsplatform→ usersUser activity log across all resources.

SLA / OLA

FieldTypeReferencesDescription
sla_policiesitsm→ sla_business_hours_calendarsSLA policy definitions with response and resolution targets.
sla_business_hours_calendarsitsm← sla_policiesBusiness hours calendars used for SLA calculations.
sla_definitionsitsm→ sla_policiesDetailed SLA definition records.
sla_targetsitsm→ sla_policiesSpecific measurable SLA targets per entity type.
sla_schedulesitsm→ sla_policiesSLA schedule definitions.
sla_exceptionsitsm→ sla_policies, usersApproved SLA exceptions.
ola_policiesitsm→ groupsOperational Level Agreement policies.
ola_definitionsitsm→ ola_policiesOLA definition records.
ola_targetsitsm→ ola_policiesOLA measurable targets.
underpinning_contractsitsm→ vendorsVendor underpinning contracts supporting SLAs.
priority_matrixitsmImpact × urgency → priority mapping table.

CMDB

FieldTypeReferencesDescription
cmdb_ciscmdb← cmdb_rel_cis, cmdb_install_baseConfiguration items — every tracked IT asset.
cmdb_rel_ciscmdb→ cmdb_cis (×2)Relationships between CIs (depends_on, runs_on, etc).
cmdb_business_servicescmdb→ cmdb_cisBusiness service records backed by CIs.
cmdb_install_basecmdb→ cmdb_cisInstalled software/hardware inventory.
cmdb_ci_classescmdbCI class definitions (server, network_device, etc).
cmdb_ci_attributescmdb→ cmdb_ci_classesClass-specific attribute definitions.
cmdb_ci_attribute_valuescmdb→ cmdb_cis, cmdb_ci_attributesAttribute values per CI.
cmdb_ci_modelscmdbCI hardware/software models.
cmdb_ci_relationship_typescmdbRelationship type definitions.
cmdb_ci_dependenciescmdb→ cmdb_cis (×2)CI dependency graph edges.
cmdb_ci_service_mapscmdb→ cmdb_cis, cmdb_business_servicesService impact maps showing CI → service relationships.
cmdb_discovery_sourcescmdbDiscovery source configurations (agents, scanners).
cmdb_discovery_jobscmdb→ cmdb_discovery_sourcesDiscovery job run records.
cmdb_discovery_resultscmdb→ cmdb_discovery_jobsRaw discovery results pending reconciliation.
cmdb_reconciliation_rulescmdbRules for merging discovery results into CI records.
cmdb_data_quality_rulescmdbData quality validation rules for CI records.
cmdb_data_quality_issuescmdb→ cmdb_cisData quality issues found in CI records.
cmdb_audit_snapshotscmdb→ cmdb_cisPoint-in-time CI configuration snapshots.
cmdb_audit_diffscmdb→ cmdb_audit_snapshots (×2)Diffs between two CI audit snapshots.

Asset management

FieldTypeReferencesDescription
assetsplatform→ cmdb_cis, usersPhysical and digital asset inventory.
asset_modelsplatform← assetsAsset model definitions (manufacturer, model name).
asset_categoriesplatform← assetsAsset category hierarchy.
asset_stocksplatform→ asset_modelsStock levels for spare assets.
asset_lifecycle_policiesplatform→ asset_categoriesLifecycle management policies (replace after N years).
asset_lifecycle_eventsplatform→ assetsLifecycle events (purchase, deploy, retire).
asset_assignmentsplatform→ assets, users, locationsUser/location assignments for assets.
asset_maintenance_plansplatform→ assetsPlanned maintenance schedules.
asset_maintenance_eventsplatform→ assets, asset_maintenance_plansMaintenance event records.
asset_warrantiesplatform→ assets, vendorsWarranty records for assets.
asset_leasesplatform→ assets, vendorsLease records.
asset_disposalsplatform→ assets, usersAsset disposal records.
software_productsplatform→ vendorsSoftware product catalogue.
software_entitlementsplatform→ software_products, vendorsSoftware license entitlements.
software_installationsplatform→ software_products, cmdb_cisInstallation records on CIs.
software_usage_samplesplatform→ software_installationsUsage telemetry samples for license optimisation.
software_reclamationsplatform→ software_installationsLicense reclamation records for unused software.
consumable_itemsplatformConsumable item definitions (printer cartridges, etc).
consumable_stocksplatform→ consumable_items, locationsConsumable stock levels per location.

Availability & capacity

FieldTypeReferencesDescription
availability_servicesplatform→ cmdb_business_servicesService availability tracking definitions.
availability_targetsplatform→ availability_servicesAvailability target percentages per service.
availability_measurementsplatform→ availability_servicesMeasured availability data points.
availability_outagesplatform→ availability_services, incidentsService outage records.
capacity_servicesplatform→ cmdb_cisCapacity planning service definitions.
capacity_plansplatform→ capacity_services, usersCapacity plan documents.
capacity_measurementsplatform→ capacity_servicesCapacity utilisation measurements.
continuity_plansplatform→ cmdb_business_services, usersBusiness continuity plan definitions.
continuity_testsplatform→ continuity_plansDR/continuity test execution records.
continuity_findingsplatform→ continuity_testsFindings from continuity tests.

Vendor management

FieldTypeReferencesDescription
vendorsplatform← vendor_contracts, vendor_contactsVendor / supplier records.
vendor_contactsplatform→ vendorsVendor contact persons.
vendor_contractsplatform→ vendorsVendor contracts with terms and obligations.
contract_service_mappingsplatform→ vendor_contracts, service_offeringsMaps vendor contracts to service offerings.
contract_obligationsplatform→ vendor_contractsIndividual contract obligation line items.
purchase_ordersplatform→ vendors, usersPurchase orders.
purchase_order_linesplatform→ purchase_ordersPO line items.
invoicesplatform→ vendors, purchase_ordersVendor invoices.
invoice_linesplatform→ invoicesInvoice line items.

Financial & budgeting

FieldTypeReferencesDescription
chargeback_modelsplatform→ business_unitsCost chargeback model definitions.
chargeback_entriesplatform→ chargeback_models, business_unitsIndividual chargeback entries.
budget_plansplatform→ business_units, usersBudget plan definitions per business unit / period.
budget_actualsplatform→ budget_plansActual spend records against budget plans.
cost_allocation_rulesplatform→ business_unitsRules for allocating costs to business units.

Risk & compliance

FieldTypeReferencesDescription
risk_registersplatform→ usersRisk register definitions per scope.
risk_assessmentsplatform→ risk_registers, usersRisk assessment records.
control_catalogplatformSecurity / compliance control catalogue.
control_testsplatform→ control_catalog, usersControl test results.
audit_plansplatform→ usersAudit plan definitions.
audit_findingsplatform→ audit_plans, usersAudit findings.
remediation_plansplatform→ audit_findings, usersRemediation plans for audit findings.
remediation_tasksplatform→ remediation_plans, usersTasks within remediation plans.
policy_exceptionsplatform→ usersApproved exceptions to policies.
security_incidentsplatform→ incidents, usersSecurity incident records.
security_incident_tasksplatform→ security_incidents, usersTasks within security incidents.
security_vulnerabilitiesplatform→ cmdb_cisVulnerability records.
security_vulnerability_findingsplatform→ security_vulnerabilities, cmdb_cisVulnerability scan findings.
security_patchesplatformSecurity patch definitions.
security_patch_deploymentsplatform→ security_patches, cmdb_cisPatch deployment records.

Observability & alerting

FieldTypeReferencesDescription
alert_sourcesobservabilityAlert source configurations (Prometheus, PagerDuty, etc).
alertsobservability→ alert_sources, cmdb_cis, incidentsAlert records received from monitoring systems.
alert_acknowledgementsobservability→ alerts, usersUser acknowledgements on alerts.
alert_escalationsobservability→ alerts, usersAlert escalation records.
monitoring_checksobservability→ cmdb_cisMonitoring check definitions.
monitoring_check_resultsobservability→ monitoring_checksCheck execution results.
synthetic_testsobservability→ cmdb_cisSynthetic/uptime test definitions.
synthetic_test_runsobservability→ synthetic_testsSynthetic test run records.
event_rulesobservabilityEvent processing rules (de-dup, correlation, suppress).
event_correlationsobservability→ events, alertsCorrelated event groups.
health_checksobservabilityPlatform component health check results.
eventsplatform→ users, cmdb_cisPlatform event records (source for workflow triggers).
event_typesplatformEvent type definitions.
event_logsplatform→ eventsRaw event log entries.
event_subscriptionsplatform→ events, workflowsEvent subscriptions for webhooks and workflows.
error_eventsplatform→ usersError event records for debugging.

On-call & escalation

FieldTypeReferencesDescription
on_call_schedulesitsm→ groups, usersOn-call rotation schedule definitions.
on_call_rotationsitsm→ on_call_schedulesIndividual rotation configurations within a schedule.
on_call_membersitsm→ on_call_rotations, usersUsers on a rotation with their shift times.
on_call_handoffsitsm→ on_call_rotations, users (×2)On-call handoff records between shifts.
escalation_policiesitsm→ groups, usersEscalation policy definitions.
escalation_policy_stepsitsm→ escalation_policies, users, groupsSteps within an escalation policy.
support_queuesitsm→ groups, usersSupport queue definitions for ticket routing.

Knowledge

FieldTypeReferencesDescription
knowledge_basescollaboration→ usersKnowledge base definitions.
knowledge_articlescollaboration→ knowledge_bases, usersKnowledge article records.
knowledge_article_versionscollaboration→ knowledge_articles, usersArticle version history.
knowledge_article_tagscollaboration→ knowledge_articlesTags on articles.
knowledge_article_viewscollaboration→ knowledge_articles, usersArticle view telemetry.
knowledge_article_feedbackcollaboration→ knowledge_articles, users"Helpful / not helpful" feedback.
knowledge_article_attachmentscollaboration→ knowledge_articlesFile attachments on articles.
knowledge_contributionscollaboration→ knowledge_articles, usersContribution records (suggestions from end users).
knowledge_workflowscollaboration→ knowledge_bases, workflowsReview/publish workflow configs for a knowledge base.
kb_articlescollaboration→ usersLegacy/internal KB article table.
known_error_articlesitsm→ knowledge_articles, problemsArticles documenting known errors.
known_error_workaroundsitsm→ known_error_articlesWorkaround steps for known errors.

Projects & programs

FieldTypeReferencesDescription
projectsplatform→ usersProject records.
milestonesplatform→ projectsProject milestones.
project_risksplatform→ projectsRisk records for projects.
project_issuesplatform→ projectsIssue records for projects.
project_dependenciesplatform→ projects (×2)Cross-project dependency links.
project_status_reportsplatform→ projects, usersProject status report snapshots.
project_portfoliosplatform← projectsProject portfolio groupings.
programsplatform→ usersProgramme definitions.
program_increment_plansplatform→ programsPI planning records (SAFe methodology).
key_resultsplatform→ objectives, usersOKR key result records.
objectivesplatform→ usersOKR objective records.
kpisplatform→ usersKPI definitions and tracked values.

Deployment & release

FieldTypeReferencesDescription
releasesplatform→ projects, users; ← deployment_recordsRelease records.
deployment_recordsplatform→ releases, usersIndividual deployment records.
deployment_runsplatform→ deployment_recordsDeployment run executions.
deployment_run_tasksplatform→ deployment_runs, usersIndividual tasks within a deployment run.
deployment_gatesplatform→ deployment_records, usersApproval gates in deployment pipelines.
deployment_windowsplatformPermitted deployment window definitions.
env_promotionsplatform→ usersEnvironment promotion records (dev→staging→prod).
rollback_plansplatform→ deployment_records, usersRollback plan definitions.
restore_pointsplatform→ usersSystem restore point records.
update_setsplatform→ usersUpdate set records (config bundle migrations).

Miscellaneous platform tables

FieldTypeReferencesDescription
attachmentsplatform→ usersFile attachment records for any entity.
commentscollaboration→ usersComment records on any entity.
conversationscollaboration→ usersConversation threads on any entity.
messagescollaboration→ conversations, usersMessages within conversations.
notificationsplatform→ usersIn-app notification records.
notification_centerplatform→ usersNotification center inbox per user.
cron_jobsplatform→ usersScheduled cron job definitions.
cron_runsplatform→ cron_jobsCron job execution records.
import_setsdata→ usersData import batch records.
data_sourcesdata→ usersData source connection definitions.
data_policiesdataData governance policy definitions.
field_map_templatesplatformReusable field mapping templates for integrations.
transform_mapsdataData transform mapping definitions.
impact_assessmentsplatform→ usersCross-studio impact analysis results.
approvalsplatform→ usersPlatform-level approval records (non-ITSM).
assignment_rulesplatform→ groups, usersPlatform-wide auto-assignment rules.
business_rulesplatform→ usersPlatform-wide business rule definitions.
tasksplatform→ usersGeneric task records (used cross-studio).
stakeholdersplatform→ usersGeneric stakeholder records.
comm_plansplatform→ usersCommunication plan definitions.
webhooksplatform→ usersOutbound webhook subscription definitions.
webhook_delivery_logsplatform→ webhooksWebhook delivery attempt logs.
rate_limitsplatformAPI rate limit configurations.
localesplatformSupported locale definitions.
locale_translationsplatform→ localesTranslation strings per locale.
locale_policiesplatform→ localesLocale enforcement policies per workspace.
multilang_contentplatform→ localesMulti-language content records.
metadataplatform→ usersGeneric metadata records attached to any entity.
sys_dictionariesplatformSystem data dictionary — all table and field definitions.
sys_db_objectsplatformDatabase object registry.
sys_notificationsplatformSystem-generated notification templates.
sys_countersplatformAuto-increment counter state per table.
system_logsplatformPlatform system logs.
system_propertiesplatformKey-value system configuration properties.
feature_flagsplatformFeature flag definitions and enabled state.
choicesplatformDropdown choice lists for any field.
user_preferencesplatform→ usersPer-user UI preferences (list view, theme, etc).
config_historiesplatformConfiguration change history.
scoped_appsplatform→ usersScoped application definitions.
search_indexesplatformSearch index configurations.
staged_importsdata→ import_setsStaging table for import validation.
schema_snapshotsdataTable schema version snapshots.
migrationsdata→ usersDatabase migration records.
db_studio_boardsdata→ usersDB Studio board configurations.
db_studio_commentsdata→ usersComments on DB Studio objects.
db_studio_snapshotsdata→ usersDB Studio table snapshots.
adrsplatform→ usersArchitecture Decision Records.
arch_diagramsplatform→ usersArchitecture diagram definitions.
tech_stackplatformTechnology stack registry.
perf_samplesanalyticsPerformance sample data points.
log_retention_policiesplatformLog data retention policies.
backup_policiesplatformBackup policy definitions.
cache_policiesplatformCache policy configurations.
dr_drillsplatform→ continuity_plans, usersDisaster recovery drill records.
trace_entriesobservability→ usersDistributed trace entries.
major_incidentsitsm→ incidents, usersMajor incident records (P1 bridges).
major_incident_tasksitsm→ major_incidents, usersTasks within major incident bridges.
major_incident_stakeholdersitsm→ major_incidents, usersStakeholders on major incidents.
major_incident_communicationsitsm→ major_incidents, usersCommunications for major incidents.
war_room_participantsplatform→ usersWar room participant records.
incidentsitsm→ users, groups, cmdb_cis; ← itsm_incident_*Root incident records. Central ITSM table.
problemsitsm→ users, groups; ← itsm_problem_*Root problem records.
marketplace_pluginsplatform→ usersPlugin marketplace listings.
plugin_installationsplatform→ marketplace_plugins, usersInstalled plugin records.
plugin_execution_logsplatform→ plugin_installationsPlugin execution logs.
owner_validationsplatform→ usersOwner validation check records.
api_endpointsplatform→ usersCustom API endpoint definitions.
api_versionsplatformAPI version definitions.
api_throttle_rulesplatformAPI rate throttle rule definitions.
employeeshr→ users, departmentsEmployee records (HR module).
csm_accountscsm→ usersCustomer account records (CSM module).
Every table is queryable via GET /api/v1/tables/:slug/records. Use the field names documented above in filter[fieldName]=value query parameters. Reference fields support dot-notation for joined lookups: filter[assignedTo.email]=alice@acme.com.

Model Factory Pattern

Every Mongoose model in FlowOS is created at query time through one of two factory functions. There are no hardcoded collection names anywhere in the application — the factories build the correct root_-prefixed name and cache the model.

getWorkspaceModel — standard tables

typescript
import { getWorkspaceModel } from '../modules/feature-registry/model-factory.js'

// Collection produced: root_<tenantId>_<workspaceId>_incidents
const Incident = getWorkspaceModel<IIncident>(tenantId, workspaceId, 'incidents', incidentSchema)
const doc = await Incident.findOne({ _id: id, tenantId, workspaceId })

Use getWorkspaceModel for all new tables and custom tables. It:

  • Builds collection name root_<tenantId>_<workspaceId>_<tableName>.
  • Calls enforceTenantWorkspaceEnvelope — auto-adds tenantId and workspaceId fields + compound index if not in the schema.
  • Caches the Mongoose model by collection name — safe to call on every request.

getCoreModel — tenant-scoped legacy tables

typescript
import { getCoreModel } from '../modules/feature-registry/model-factory.js'

// Non-strict mode: root_<tenantId>_users
// Strict mode:     root_<tenantId>_<workspaceId>_users
const User = getCoreModel<IUser>(tenantId, 'users', userSchema, { workspaceId })

Use getCoreModel only for a handful of early tables (users, roles, tenants) that pre-date workspace isolation. All new tables use getWorkspaceModel.

The collection guard

src/config/collection-guard.ts is installed at boot and wraps every Mongoose write method. It throws immediately if a collection name does not start withroot_. This prevents any accidental write to a bare collection name.

typescript
// This would throw at runtime — never do this
const BareModel = mongoose.model('Incident', schema, 'incidents')
await BareModel.create({ ... }) // ← Blocked: "Blocked non-compliant MongoDB collection 'incidents'"

// Correct
const Incident = getWorkspaceModel(tenantId, workspaceId, 'incidents', schema)
await Incident.create({ tenantId, workspaceId, ... }) // ← OK: 'root_t_acme_ws_prod_incidents'