Semantius Logo

IT Operations Starter

1. Overview

Cross-domain starter kit for small and mid-sized IT teams. Embeds lightweight shells of the records a small IT shop manages: the helpdesk (optional), the hardware register, the SaaS application and renewal tracker, and the contract register. The renewal/contract spine (asset_contracts + saas_subscriptions) is required; hardware, SaaS apps, helpdesk, and on-prem licenses are optional. domain_id NULL; hosts ITSM, HAM, SMP, ITAM, SAM. Replaces the helpdesk-plus-spreadsheets reality; budget stays in the general ledger.

2. Entity summary

Namedata_objectDescription
Asset Contractsasset_contractsLease, maintenance, support, or warranty contracts governing an asset or pool of assets, indexed on the asset side.
Hardware Assetshardware_assetsPhysical IT assets such as laptops, servers, network gear, and peripherals, with serial number, asset tag, current user or location, and lifecycle state.
Incidentsservice_incidentsUnplanned service interruptions or quality reductions, with severity, priority, category, assignee, and affected components.
SaaS Applicationssaas_applicationsSaaS applications in the company portfolio, with vendor, category, criticality, owner, and whether each is sanctioned or shadow IT.
SaaS Subscriptionssaas_subscriptionsContractual subscriptions for SaaS apps: plan tier, seat count, recurring cost, billing cadence, renewal date, and owner.
Service Requestsservice_requestsPlanned, catalog-driven requests for access, hardware, software, or information, distinct from reactive incidents.
Software Licensessoftware_licensesLicense entitlements granting the right to use a software title, with vendor, purchased count, license model, term, and renewal date.
UsersusersPlatform users referenced as assignees, authors, approvers, and creators across records.
flowchart TD
  classDef embedded_master fill:#fff4cc,stroke:#c79100,color:#5b4500;
  classDef consumer fill:#e8def8,stroke:#7b1fa2,color:#3a155d;
  asset_contracts["Asset Contracts"]
  saas_subscriptions["SaaS Subscriptions"]
  service_incidents["Incidents"]
  service_requests["Service Requests"]
  hardware_assets["Hardware Assets"]
  saas_applications["SaaS Applications"]
  software_licenses["Software Licenses"]
  users["Users"]
  users -->|"assigned hardware"| hardware_assets
  users -->|"custodian of assets"| hardware_assets
  asset_contracts -->|"covers"| saas_applications
  users -->|"owned contracts"| asset_contracts
  users -->|"owned licenses"| software_licenses
  users -->|"requests"| service_requests
  users -->|"fulfills"| service_requests
  service_requests -->|"routes_to"| service_incidents
  service_requests -->|"triggers"| service_incidents
  users -->|"assigned incidents"| service_incidents
  users -->|"reported incidents"| service_incidents
  users -->|"assigned requests"| service_requests
  users -->|"submitted requests"| service_requests
  saas_applications -->|"has"| saas_subscriptions
  users -->|"owns"| saas_applications
  users -->|"manages"| saas_subscriptions
  saas_applications -->|"raises_incident"| service_incidents
  class asset_contracts embedded_master;
  class saas_subscriptions embedded_master;
  class service_incidents embedded_master;
  class service_requests embedded_master;
  class hardware_assets embedded_master;
  class saas_applications embedded_master;
  class software_licenses embedded_master;
  class users consumer;
  style service_incidents stroke-dasharray:5 5;
  style service_requests stroke-dasharray:5 5;
  style hardware_assets stroke-dasharray:5 5;
  style saas_applications stroke-dasharray:5 5;
  style software_licenses stroke-dasharray:5 5;

Additional Requirements Specification

Cost fields on the embedded shells. For the standalone renewal-and-cost view to resolve, two embedded masters each need a flat cost figure plus a currency code:

  • asset_contracts: a flat renewal_cost (or annual_value) numeric field.
  • saas_subscriptions: a flat annual_spend (or MRR/ARR) numeric field.

Coexistence: these flat fields are a standalone-only denormalization. They are not needed when the full asset-management and SaaS-management modules are already installed (those carry cost on their own spend entities); when such a full module is added later, the flat field must be deduplicated and reconciled against the canonical source so cost is not double-counted.

3. Entities catalog

#data_objectcanonical codesingularpluralrolemastered inmastered labelnecessitypersonal_contententity_typewrite tiernotes
1asset_contractsasset_contractsAsset ContractAsset Contractsembedded_masteritam-contractsCross-Asset Contract Managementrequired-operational_workflow:manage-
2hardware_assetshardware_assetsHardware AssetHardware Assetsembedded_masterham-asset-registryHardware Asset Registryoptional-operational_workflow:manage-
3service_incidentsservice_incidentsIncidentIncidentsembedded_masteritsm-incident-mgmtIncident Managementoptionalyesoperational_workflow:manage-
4saas_applicationssaas_applicationsSaaS ApplicationSaaS Applicationsembedded_mastersmp-discoverySMP Discovery and Catalogoptional-operational_workflow:manage-
5saas_subscriptionssaas_subscriptionsSaaS SubscriptionSaaS Subscriptionsembedded_mastersmp-renewal-vendorSMP Renewal and Vendor Managementrequired-operational_workflow:manage-
6service_requestsservice_requestsService RequestService Requestsembedded_masteritsm-service-requestService Request Fulfillmentoptional-operational_workflow:manage-
7software_licensessoftware_licensesSoftware LicenseSoftware Licensesembedded_mastersam-entitlement-mgmtEntitlement Reconciliation and Renewaloptional-operational_workflow:manage-
8usersusersUserUsersconsumer(platform built-in)(platform built-in)required-operational_record:manage-

4. Aliases and industry synonyms

(none: no industry-scoped aliases for this scope)

5. Relationships

5.1 Intra-scope edges

fromverbtocardinalitykindnecessityowner_sidedelete_modefk_formatnotes
asset_contractscoverssaas_applicationsmany_to_manyreferenceoptionaltargetclearreference-
service_requestsroutes_toservice_incidentsone_to_manyreferenceoptionalsourceclearreference-
service_requeststriggersservice_incidentsone_to_manyreferenceoptionaltargetclearreference-
saas_applicationshassaas_subscriptionsone_to_manyreferenceoptionalsourceclearreference-
saas_applicationsraises_incidentservice_incidentsone_to_manyreferenceoptionalsourceclearreference-

5.2 Built-in edges (users and other platform built-ins)

fromverbtocardinalitynecessityowner_sidedelete_modefk_formatnotes
usersassigned hardwarehardware_assetsone_to_manyoptionalsourceclearreference-
userscustodian of assetshardware_assetsone_to_manyoptionalsourceclearreference-
usersowned contractsasset_contractsone_to_manyoptionalsourceclearreference-
usersowned licensessoftware_licensesone_to_manyoptionalsourceclearreference-
usersrequestsservice_requestsone_to_manyrequiredsourcerestrictreference-
usersfulfillsservice_requestsone_to_manyoptionalsourceclearreference-
usersassigned incidentsservice_incidentsone_to_manyoptionalsourceclearreference-
usersreported incidentsservice_incidentsone_to_manyrequiredsourcerestrictreference-
usersassigned requestsservice_requestsone_to_manyoptionalsourceclearreference-
userssubmitted requestsservice_requestsone_to_manyrequiredsourcerestrictreference-
usersownssaas_applicationsone_to_manyrequiredtargetrestrictreference-
usersmanagessaas_subscriptionsone_to_manyrequiredtargetrestrictreference-

5.3 Cross-scope edges

5.3a Outbound from this scope’s masters and contributors

Edges this scope drives: the in-scope endpoint has role of master or contributor.

(none: no outbound cross-scope edges from this scope’s masters or contributors)

5.3b Context edges on embedded shells and consumed entities

Edges the canonical owner drives, shown for context: the in-scope endpoint has role of embedded_master, consumer, or derived.

fromverbtocardinalitynecessitydelete_modefk_formatnotes
service_incidentstriggersremediation_plansone_to_manyoptionalnonen/a-
enterprise_applicationsaliased_assaas_applicationsone_to_oneoptionalnonen/a-
application_interfacesraisesservice_incidentsone_to_manyoptionalnonen/a-
configuration_itemsbacked_byhardware_assetsone_to_oneoptionalnonen/a-
configuration_itemstriggersservice_incidentsone_to_manyoptionalnonen/a-
service_mapsrefreshesservice_incidentsmany_to_manyoptionalnonen/a-
ci_baselinestriggersservice_incidentsone_to_manyoptionalnonen/a-
hardware_modelsinstantiated_ashardware_assetsone_to_manyrequirednone (required-if-present)n/a-
hardware_assetscovered_byhardware_warrantiesone_to_manyoptionalnonen/a-
hardware_assetsdisposed_viahardware_disposal_recordsone_to_oneoptionalnonen/a-
hardware_assetsserved_byspare_parts_inventorymany_to_manyoptionalnonen/a-
hardware_assetstriggersrmm_agentsone_to_oneoptionalnonen/a-
asset_contractsgovernsasset_lifecycle_eventsone_to_manyoptionalnonen/a-
saas_applicationslifecycle events forasset_lifecycle_eventsone_to_manyoptionalnonen/a-
asset_contractsfulfilled_bypurchase_ordersone_to_manyoptionalnonen/a-
asset_contractsfeedscompliance_risksone_to_manyoptionalnonen/a-
asset_contractsaccrues_injournal_entriesone_to_manyoptionalnonen/a-
chat_threadsescalates_toservice_incidentsone_to_manyoptionalnonen/a-
control_testsescalates_toservice_incidentsone_to_manyoptionalnonen/a-
audit_engagementstriggersservice_requestsone_to_manyoptionalnonen/a-
service_catalog_itemsspawnsservice_requestsone_to_manyoptionalnonen/a-
hardware_assetsrepresented_asconfiguration_itemsone_to_oneoptionalnonen/a-
test_defectsescalates_toservice_incidentsone_to_manyoptionalnonen/a-
saas_applicationsentitles_toiga_user_entitlementsone_to_manyrequirednone (required-if-present)n/a-
saas_applicationsownssmp_app_ownersmany_to_manyrequirednone (required-if-present)n/a-
saas_applicationsintegrates_withsmp_app_integrationsone_to_manyrequirednone (required-if-present)n/a-
saas_applicationspublishessmp_app_catalog_listingsone_to_onerequirednone (required-if-present)n/a-
saas_applicationsraised_forsmp_alertsone_to_manyoptionalnonen/a-
saas_applicationstracks_stagesmp_app_lifecycle_stagesone_to_onerequirednone (required-if-present)n/a-
saas_applicationsrecommends_for_appsmp_optimization_recommendationsone_to_manyoptionalnonen/a-
saas_subscriptionsrecommends_for_subsmp_optimization_recommendationsone_to_manyoptionalnonen/a-
saas_applicationsbenchmarks_forsmp_app_benchmarksone_to_manyrequirednone (required-if-present)n/a-
saas_subscriptionstasks_forsmp_renewal_tasksone_to_manyrequirednone (required-if-present)n/a-
saas_subscriptionsengagement_forsmp_renewal_engagementsone_to_manyrequirednone (required-if-present)n/a-
saas_subscriptionsallocatessmp_spend_allocationsone_to_manyrequirednone (required-if-present)n/a-
saas_applicationsassesses_appsmp_vendor_risk_assessmentsone_to_manyrequirednone (required-if-present)n/a-
saas_applicationsautomates_appsmp_automation_workflowsone_to_manyoptionalnonen/a-
lcap_appsopensservice_incidentsmany_to_manyoptionalnonen/a-
legal_contractsactivatessaas_subscriptionsone_to_manyoptionalnonen/a-
legal_contractsactivatessoftware_licensesone_to_manyoptionalnonen/a-
dlp_incidentsinforms_security_incidentservice_incidentsone_to_manyoptionalnonen/a-
legal_contractsrenewal_warnssaas_subscriptionsone_to_manyoptionalnonen/a-
employeestriggersservice_requestsone_to_manyoptionalnonen/a-
onboarding_tasksemitsservice_requestsone_to_manyoptionalnonen/a-
hardware_assetsdelivered byasset_lifecycle_eventsone_to_manyoptionalnonen/a-
onboarding_tasksemitsservice_incidentsone_to_manyoptionalnonen/a-
hr_casesspawnsservice_requestsone_to_manyoptionalnonen/a-
service_problemsis investigated byservice_incidentsone_to_manyoptionalnonen/a-
service_incidentsreferencesconfiguration_itemsmany_to_manyoptionalnonen/a-
service_slasgoverns incidentservice_incidentsone_to_manyrequirednone (required-if-present)n/a-
service_slasgoverns requestservice_requestsone_to_manyrequirednone (required-if-present)n/a-
service_incidentsresolved_withknowledge_articlesmany_to_manyoptionalnonen/a-
service_incidentscorrelates_tomonitoring_alertsmany_to_manyoptionalnonen/a-
service_incidentscorrelates_toerror_groupsmany_to_manyoptionalnonen/a-
eam_work_ordersescalates_toservice_incidentsone_to_manyoptionalnonen/a-
clinical_engineering_work_orderssurfaces_inservice_requestsone_to_oneoptionalnonen/a-
device_calibration_recordsschedules_inservice_requestsone_to_manyoptionalnonen/a-
saas_subscriptionscharged to subscriptionexpense_linesone_to_manyoptionalnonen/a-
work_itemsmirrors_toservice_requestsone_to_oneoptionalnonen/a-
work_automationspropagates_toservice_requestsmany_to_manyoptionalnonen/a-
saas_applicationsmeasured_bysaas_usage_metricsone_to_manyrequired⚠ audit: required composed child out of scopen/a-
saas_applicationsassigned_viasmp_license_seat_assignmentsone_to_manyrequired⚠ audit: required composed child out of scopen/a-
saas_subscriptionsgrantssmp_license_seat_assignmentsone_to_manyoptionalnonen/a-
shadow_it_appspromotes_tosaas_applicationsone_to_oneoptionalnonen/a-
event_correlationstriggersservice_incidentsone_to_manyoptionalnonen/a-
root_cause_analysesannotatesservice_incidentsone_to_manyoptionalnonen/a-
incident_predictionsforecastsservice_incidentsone_to_manyoptionalnonen/a-
dc_cabinetsraisesservice_incidentsone_to_manyoptionalnonen/a-
dc_power_distribution_unitsraisesservice_incidentsone_to_manyoptionalnonen/a-
dc_uninterruptible_power_suppliesraisesservice_incidentsone_to_manyoptionalnonen/a-
dc_cooling_unitsraisesservice_incidentsone_to_manyoptionalnonen/a-
saas_applicationsis registered asenterprise_applicationsone_to_oneoptionalnonen/a-
enterprise_applicationsis delivered viasaas_subscriptionsone_to_manyoptionalnonen/a-
endpoint_experience_scorestriggersservice_incidentsone_to_manyoptionalnonen/a-

6. Cross-domain context

6.1 Master consumers (other modules / domains that embed this scope’s masters)

(none: no other module embeds this scope’s masters; the canonical owners do.)

6.2 Outbound handoffs (events this scope publishes)

source moduletarget domaintarget moduletrigger_eventtransitionpayloadintegrationfrictiondescription
ITAM-CONTRACTSITAMITAM-LIFECYCLEasset_contract.activateddraftactive (state_change)asset_contractslifecycle_progressionlow-
ITAM-CONTRACTSITAMITAM-LIFECYCLEasset_contract.expired(state_change)asset_contractslifecycle_progressionlow-
ITAM-CONTRACTSITAMITAM-LIFECYCLEasset_contract.renewed(state_change)asset_contractslifecycle_progressionlow-
ITAM-CONTRACTSGRC(domain-level)asset_contract.expired(state_change)asset_contractsevent_streammediumExpired support contracts feed GRC risk register.
SMP-DISCOVERYIGAIGA-ENTITLEMENT-CATALOGsaas_application.discovered(lifecycle)saas_applicationsevent_streammediumNewly discovered SaaS apps surface to IGA for shadow-IT visibility and access governance.
SMP-DISCOVERYIGAIGA-ENTITLEMENT-CATALOGsaas_application.sanctioned(lifecycle)saas_applicationsapi_calllowSanctioned SaaS apps are wired into IGA provisioning catalog.
SMP-DISCOVERYFINOPS(domain-level)saas_application.sanctioned(lifecycle)saas_applicationsevent_streammediumSanctioned SaaS apps come under FINOPS spend tracking.
ITAM-CONTRACTSFIN(domain-level)asset_contract.renewed(state_change)asset_contractsevent_streammediumRenewed ITAM contracts update ERP-FIN accruals and PO commitments.

6.3 Inbound handoffs (events this scope reacts to)

target modulesource domainsource moduletrigger_eventtransitionpayloadintegrationfrictiondescription
ITSM-INCIDENT-MGMTITOMITOM-INFRA-MONmonitoring_event.alert_triggered(signal)service_incidentsevent_streamhighMonitoring/alerting events from ITOM auto-create incidents in ITSM when severity and correlation rules match. High friction in practice - alert storms create incident floods, correlation rules drift, and dedupe logic between systems is rarely good enough. The classic ‘NOC-floods-the-helpdesk’ problem.
ITSM-INCIDENT-MGMTDISCOVERY(domain-level)discovery_scan.failed(state_change)service_incidentsapi_callmediumFailed DISCOVERY scans open ITSM tickets for the discovery owner.
ITSM-INCIDENT-MGMTDISCOVERY(domain-level)discovery_source.disconnected(state_change)service_incidentsapi_callmediumDISCOVERY source outages auto-ticket ITSM to restore visibility.
ITSM-INCIDENT-MGMTAIOPSAIOPS-EVENT-CORRELATIONcorrelation.identifiedidentified (signal)service_incidentsevent_streamhighA correlated alert cluster surfaces as ONE incident in ITSM instead of N. The defining noise-reduction promise of AIOps - and the hardest integration to land cleanly, because suppressing the underlying alerts requires bidirectional state with ITOM, and ITSM needs to expose the correlated-events bundle as evidence on the incident.
ITSM-INCIDENT-MGMTAIOPSAIOPS-PREDICTIVE-INTELLIGENCEincident_prediction.high_confidence(signal)service_incidentsevent_streamlowPredicted incidents auto-open proactive ITSM tickets ahead of impact.
ITSM-INCIDENT-MGMTAIOPSAIOPS-PREDICTIVE-INTELLIGENCEroot_cause_analysis.published(state_change)service_incidentsevent_streamlowAIOPS RCA conclusion lands on the linked ITSM incident/problem as resolution context.
ITSM-INCIDENT-MGMTOBS(domain-level)log_entry.error_pattern_matched(signal)service_incidentsapi_callmediumCritical log patterns auto-open ITSM tickets for technician triage.
ITSM-INCIDENT-MGMTOBS(domain-level)slo.breachedbreached (state_change)service_incidentsevent_streamhighSLO breach (error budget exhausted, burn-rate spike) creates an incident in ITSM. High friction in practice, the routing from an OBS-side SLO-breach event to a correctly assigned ITSM incident is rarely turnkey, especially when the SLO-owning team and the incident-handling team differ.
ITSM-INCIDENT-MGMTTEST-MGMT(domain-level)test_defect.created(lifecycle)service_incidentsapi_callmediumCustomer-impacting defects in production-pathing tests escalate to ITSM tickets.
ITSM-INCIDENT-MGMTAPMAPM-PORTFOLIO-REGISTRYapplication_interface.brokenactivebroken (state_change)service_incidentsevent_streamhighIntegration failure escalates to incident; detection lag; true-positive rate varies.
ITSM-INCIDENT-MGMTGRC(domain-level)control.faileduntestedfail (state_change)service_incidentsapi_callhighFailed IT control → ITSM ticket; no feedback when ITSM closes ticket on GRC SLA.
ITSM-INCIDENT-MGMTGRC(domain-level)remediation_plan.created(lifecycle)service_incidentsevent_streammediumRemediation ticket created in ITSM.
ITSM-INCIDENT-MGMTAUDIT(domain-level)audit_engagement.completedin_progresscompleted (lifecycle)service_incidentsmanual_handoffhighIT audit outcomes trigger ITSM actions; requires human interpretation of scope/findings.
ITSM-SERVICE-REQUESTHRSDHRSD-EMPLOYEE-PORTALcase.it_assistance_required(state_change)service_requestsapi_callmediumHR case that needs IT action (lost laptop replacement, app access for a new role, account lockout) routes a service request into ITSM. Friction sits in the case-to-SR field mapping and status synchronization back to HRSD.
ITSM-INCIDENT-MGMTIGAIGA-ACCESS-REQUESTiga_access_request.approved(state_change)service_incidentsapi_callmediumApproved access requests with manual-fulfillment steps route to ITSM.
ITSM-INCIDENT-MGMTIGAIGA-AUTO-PROVISIONINGiga_provisioning_event.completed(state_change)service_incidentsevent_streammediumProvisioning event drives ITSM fulfillment-task closure where access tickets exist.
ITSM-INCIDENT-MGMTIGAIGA-AUTO-PROVISIONINGiga_provisioning_event.failed(state_change)service_incidentsapi_callhighFailed provisioning becomes ITSM incident/request for manual completion. Alert-without-feedback-loop friction shape.
ITSM-INCIDENT-MGMTIPAAS(domain-level)integration_run.failed(lifecycle)service_incidentsapi_callhighiPaaS run failures often surface as ITSM tickets - the failed integration usually has business impact (missed orders, stalled provisioning).
ITSM-INCIDENT-MGMTLCAPLCAP-VISUAL-COMPOSITIONlcap_app.deployment_failed(signal)service_incidentsapi_callmediumDeployment failure opens incident for platform team.
ITSM-INCIDENT-MGMTRPA(domain-level)rpa_bot_credentials.expiring(threshold)service_incidentsapi_callmediumExpiring bot credentials open a service request for IT rotation.
ITSM-INCIDENT-MGMTRPA(domain-level)rpa_execution.failed(state_change)service_incidentsapi_callhighBot execution failure opens incident for bot owner; target system change often the root cause.
ITSM-INCIDENT-MGMTTELCO-BSS(domain-level)network_inventory.updated(state_change)service_incidentsbatch_synclowNetwork inventory updates sync to ITSM CMDB-adjacent inventory.
ITSM-INCIDENT-MGMTTELCO-BSS(domain-level)service_provisioning.failed(state_change)service_incidentsevent_streamhighProvisioning failures escalate to ITSM for network/IT diagnosis.
ITSM-INCIDENT-MGMTTELCO-BSS(domain-level)service_trouble_ticket.opened(state_change)service_incidentsevent_streammediumTelco trouble ticket routes to ITSM for network ops resolution.
ITSM-INCIDENT-MGMTHC-PATIENT(domain-level)clinical_order.placed(lifecycle)service_incidentsapi_calllowOrder routing relies on ITSM-managed integration with lab/imaging systems.
ITSM-INCIDENT-MGMTMFG-OPS(domain-level)shop_floor_case.opened(lifecycle)service_incidentsapi_callmediumShop-floor case with IT/MES root cause is routed to ITSM for incident management.
ITSM-INCIDENT-MGMTUTIL-OPS(domain-level)utility_asset.failed(state_change)service_incidentsapi_callmediumFailure of IT-dependent grid/SCADA asset raises an ITSM incident for dependent technology stack.
ITSM-INCIDENT-MGMTCLIN-DEV(domain-level)clinical_engineering_work_order.opened(lifecycle)service_incidentsapi_callmediumClinical engineering work order surfaces in ITSM when shared with IT for connected-device support.
ITSM-INCIDENT-MGMTCLIN-DEV(domain-level)device_calibration.due(threshold)service_incidentsbatch_synclowCalibration scheduling visible to ITSM when biomed device is shared infrastructure.
ITSM-SERVICE-REQUESTSAM(domain-level)license.expiry_warning(threshold)service_requestsapi_calllowUpcoming license expiry creates a renewal-action service request in ITSM. Low friction because the trigger is calendar-based and well-defined; routing to the right owner is the only nuance.
ITSM-SERVICE-REQUESTSAM(domain-level)license_audit.required(state_change)service_requestsapi_callmediumVendor-initiated audit or proactive internal review triggers an audit workflow service request. Friction sits in evidence collection across SAM + CLM + S2P data.
ITSM-INCIDENT-MGMTEAM(domain-level)eam_work_order.created-service_incidentsevent_streammediumCritical equipment failures escalated to IT incidents.
ITSM-SERVICE-REQUESTHCMHCM-CORE-WORKERemployee.terminatedterminated (lifecycle)service_requestsapi_callmediumTermination in HCM creates a fan-out of offboarding service requests in ITSM: workspace cleanup, mail-forwarding setup, equipment-return tracking, exit-interview scheduling. Failure modes: template tasks for new role types missing; tasks created against wrong assignee groups when org changed shortly before termination.
ITSM-INCIDENT-MGMTBI(domain-level)bi_report.failed(state_change)service_incidentsapi_callmediumScheduled report failure files an ITSM ticket for the BI platform team to investigate.
ITSM-INCIDENT-MGMTWSCWSC-CHANNELS-CONVERSATIONSchat_thread.escalated_to_ticket(state_change)service_incidentsapi_calllowWSC IT-support threads are converted into ITSM tickets so the SLA clock starts and the transcript becomes incident context.
ITSM-INCIDENT-MGMTAPP-PAAS(domain-level)paas_deployment.failed(state_change)service_incidentsapi_callmediumFailed deployments raise incidents in ITSM for triage.
ITSM-INCIDENT-MGMTVSDP(domain-level)software_deployment.failed(state_change)service_incidentsapi_callmediumFailed deployments raise incidents for change-management and operations triage.
ITSM-INCIDENT-MGMTKUBE-PLAT(domain-level)container_workload.degraded(state_change)service_incidentsapi_callmediumPersistent workload degradation creates ITSM incidents for platform-team triage.
ITSM-INCIDENT-MGMTNPMD(domain-level)network_interface.down(state_change)service_incidentsapi_calllowInterface-down events auto-create ITSM tickets for the responsible team.
ITSM-INCIDENT-MGMTNPMD(domain-level)network_performance_alert.raised(lifecycle)service_incidentsapi_callmediumNPMD performance alerts auto-open ITSM network tickets.
ITSM-INCIDENT-MGMTDEM(domain-level)endpoint_experience_score.degraded(state_change)service_incidentsevent_streammediumDegraded DEM endpoint experience opens proactive ITSM tickets for the user.
ITSM-INCIDENT-MGMTDCIMDCIM-ASSET-SPACEdc_cabinet.environmental_alert(threshold)service_incidentsapi_callmediumDCIM cabinet environmental alerts auto-create facility ITSM tickets.
ITSM-INCIDENT-MGMTDCIMDCIM-POWER-ENVdc_cooling_unit.failure(state_change)service_incidentsevent_streamhighDCIM cooling failures trigger emergency ITSM workflow.
ITSM-INCIDENT-MGMTDCIMDCIM-POWER-ENVdc_power_distribution_unit.failure(state_change)service_incidentsevent_streamhighDCIM PDU failures trigger ITSM major-incident workflow.
ITSM-INCIDENT-MGMTDCIMDCIM-POWER-ENVdc_uninterruptible_power_supply.failover(state_change)service_incidentsevent_streamhighDCIM UPS failovers escalate to ITSM major-incident workflow.
ITSM-INCIDENT-MGMTUEMUEM-DEVICE-LIFECYCLEenrolled_device.enrolled(state_change)service_incidentsevent_streamlowNewly enrolled UEM devices auto-link to onboarding ITSM tickets.
ITSM-INCIDENT-MGMTUEMUEM-CONFIG-APPSdevice_configuration_profile.drift_detected(state_change)service_incidentsapi_callmediumUEM configuration drift opens ITSM remediation tickets.
ITSM-INCIDENT-MGMTUEMUEM-COMPLIANCE-POSTUREdevice_compliance_result.non_compliant(state_change)service_incidentsapi_callmediumNon-compliant UEM devices auto-ticket ITSM for remediation.
ITSM-INCIDENT-MGMTDI(domain-level)pipeline_run.failed(state_change)service_incidentsapi_callhighPipeline failure opens incident for the data-platform on-call.
ITSM-INCIDENT-MGMTDQ(domain-level)dq_scorecard.breachedcompliantnon_compliant (threshold)service_incidentsapi_callmediumScorecard SLA breach → ITSM escalation ticket.
ITSM-INCIDENT-MGMTDQ(domain-level)dq_sla_definition.breached(threshold)service_incidentsapi_callhighData SLA breach creates incident for the producing pipeline’s owning team.
ITSM-INCIDENT-MGMTDQ(domain-level)quality_rule.breachactivebreached (state_change)service_incidentsevent_streammediumSeverity ≥ HIGH or breach > SLA threshold → ITSM incident. Dedup on (asset_id, rule_id).
ITSM-INCIDENT-MGMTDATA-AI-PLATDATA-AI-PLAT-MLml_model.drift_detected(signal)service_incidentsevent_streamhighDrift detected on production model; ITSM incident created for MLOps team to triage retraining.
ITSM-INCIDENT-MGMTDATA-AI-PLATDATA-AI-PLAT-MLml_model.evaluation_failed(state_change)service_incidentsapi_callmediumFailed evaluation creates an incident for MLOps; deployment blocked until remediated.
ITSM-INCIDENT-MGMTRMMRMM-MONITORINGmonitoring_alert.threshold_breached(threshold)service_incidentsapi_callhighRMM agent telemetry breaches a monitoring policy threshold and the alert is forwarded to ITSM to auto-create an incident with affected endpoint, telemetry snapshot, and severity. Failure modes: alert-to-ticket bridges across different vendors break on auth/throttling/schema drift; threshold rules drift between systems; duplicate-alert suppression in one tool doesn’t propagate to the other; closing the incident rarely closes the originating alert.
ITSM-INCIDENT-MGMTRMMRMM-AUTOMATIONautomation_script.failed(state_change)service_incidentsapi_calllowFailed RMM script executions auto-create ITSM tickets.
ITSM-INCIDENT-MGMTREMOTE-ACCESSREMOTE-ACCESS-SESSIONremote_session.ended(state_change)service_incidentsevent_streamlowCompleted remote sessions append worklog and timer to the linked ITSM ticket.
ITSM-INCIDENT-MGMTREMOTE-ACCESSREMOTE-ACCESS-SESSIONsupport_session.completedcompleted (state_change)service_incidentsapi_callmediumCompleted remote session writes a session summary (duration, technician, actions taken, recording link) back to the originating ITSM incident as a work-note. Failure modes: ticket-id correlation is brittle when session was launched outside the ticket flow; recording links break when retention policy expires before the ticket closes.
ITSM-INCIDENT-MGMTNCDB(domain-level)nocode_automation.failed(signal)service_incidentsapi_callmediumAutomation failure that the citizen owner cannot resolve escalates to IT support.
ITSM-INCIDENT-MGMTWORK-MGMTWORK-MGMT-TASK-EXECwork_automation.triggered(signal)service_incidentsevent_streamlowWork-item automations linked to IT tickets propagate status changes to ITSM.
ITSM-INCIDENT-MGMTWORK-MGMTWORK-MGMT-TASK-EXECwork_item.status_changedanyany (lifecycle)service_incidentsapi_callhighCross-functional WORK-MGMT items intersect with IT support requests: a marketing project task (‘IT-provision new SaaS’) needs to be linked to an ITSM request, with status mirrored both ways. Bidirectional sync is bespoke; off-the-shelf WORK-MGMT-to-ITSM connectors exist but require careful per-team configuration.
ITSM-INCIDENT-MGMTDLPDLP-ENFORCEMENT-RUNTIMEdlp_incident.blockedconfirmedblocked (state_change)service_incidentsevent_streammediumDLP block creates security incident in ITSM.
ITSM-INCIDENT-MGMTFLEET-MAINT(domain-level)maintenance_defect.reported-service_incidentsevent_streammediumIn-vehicle IT defects escalated to IT tickets.
HAM-ASSET-REGISTRYDISCOVERY(domain-level)device.discovereddiscovered (signal)hardware_assetsevent_streamlowAuto-discovered devices (laptops, network gear, servers) flow to HAM as new hardware_assets candidates. Low friction when the discovery and HAM tool are same-vendor; medium when separate. Manual reconciliation needed for devices behind NAT or off-network.
HAM-ASSET-REGISTRYRMMRMM-AGENT-MGMThardware_endpoint.discovereddiscovered (signal)hardware_assetsbatch_syncmediumRMM agent installation on a new endpoint syncs hardware specs (CPU, RAM, disk, serial, BIOS) to the HAM asset register. Failure modes: identity reconciliation across RMM agent-id, HAM asset-tag, and CMDB CI-id is unreliable; VMs and ephemeral cloud instances create churn in HAM that doesn’t map to a physical lifecycle.
SMP-RENEWAL-VENDORAPMAPM-PORTFOLIO-REGISTRYapplication.lifecycle_state_changedanyany (state_change)saas_subscriptionsapi_callhighWhen APM marks an application for elimination or retirement (TIME ‘Eliminate’), SMP cancels the corresponding SaaS subscription(s) to stop the spend and triggers deprovisioning. High friction: the portfolio-level decision must reconcile to the specific SaaS subscription(s) to cancel, and the cancellation must complete or the org keeps paying for a retired app.
SMP-RENEWAL-VENDORCLMCLM-REPOSITORYlegal_contract.renewed(state_change)saas_subscriptionsapi_calllowRenewed SaaS contract in CLM updates the corresponding subscription in SMP with new term, new seat count, new pricing.
SMP-RENEWAL-VENDORS2P(domain-level)po.saas_subscription_created(state_change)saas_subscriptionsevent_streammediumPO for a SaaS subscription creates the corresponding subscription record in SMP. Friction sits in matching the PO line items to a known SaaS app in the SMP catalog; new vendors require manual creation.

6.4 Master providers (modules / domains that own masters this scope embeds)

data_objectrole herenecessitycanonical owner(s)slice notes
asset_contractsembedded_masterrequiredITAM-CONTRACTS (ITAM)-
hardware_assetsembedded_masteroptionalHAM-ASSET-REGISTRY (HAM)-
saas_applicationsembedded_masteroptionalSMP-DISCOVERY (SMP)-
saas_subscriptionsembedded_masterrequiredSMP-RENEWAL-VENDOR (SMP)-
service_incidentsembedded_masteroptionalITSM-INCIDENT-MGMT (ITSM)-
service_requestsembedded_masteroptionalITSM-SERVICE-REQUEST (ITSM)-
software_licensesembedded_masteroptionalSAM-ENTITLEMENT-MGMT (SAM)-
usersconsumerrequired(platform built-in)-

7. Lifecycle states

asset_contracts (Asset Contract)

This scope holds asset_contracts as embedded_master; the canonical state machine is owned by ITAM-CONTRACTS.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1draft---Contract record being entered into the ITAM index.
2active--it-ops-starter:activate_contractContract is in force and covering the linked assets.
3expiring----Contract within the renewal window; action required.
4expired---Contract term ended without renewal.
5terminated-it-ops-starter:terminate_contractContract ended early by either party.

saas_applications (SaaS Application)

This scope holds saas_applications as embedded_master; the canonical state machine is owned by SMP-DISCOVERY.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
10discovered---App detected via SSO logs, expense data, or browser plugin. Not yet reviewed by IT.
20triaged----App has been reviewed by IT but no sanction decision recorded yet.
30sanctioned--it-ops-starter:sanction_applicationApp is officially supported; IGA provisioning, FINOPS spend tracking, and ITAM registration activated.
40deprecated--it-ops-starter:deprecate_applicationSlated for replacement or removal; no new assignments allowed; existing users on read-only or sunset path.
50deprovisioned-it-ops-starter:deprovision_applicationApp removed tenant-wide. ITSM closes related tickets; IGA revokes access; FINOPS terminates spend.

saas_subscriptions (SaaS Subscription)

This scope holds saas_subscriptions as embedded_master; the canonical state machine is owned by SMP-RENEWAL-VENDOR.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
10draft---Subscription record created during procurement; terms not yet finalized.
20active----Contract executed; license consumption underway.
30renewing--it-ops-starter:initiate_renewalWithin the renewal window (typically 90 days pre-expiry). Quantity and tier negotiation in progress.
40renewed-it-ops-starter:approve_renewalRenewal executed; a new active term started.
50canceled-it-ops-starter:cancel_subscriptionSubscription terminated; deprovisioning workflow triggered.

service_incidents (Incident)

This scope holds service_incidents as embedded_master; the canonical state machine is owned by ITSM-INCIDENT-MGMT.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1new---Incident has been logged; not yet triaged or routed.
2assigned----Triaged and assigned to a support group or agent.
3in_progress----Assignee is actively diagnosing or working the incident.
4resolved--it-ops-starter:resolved_incidentWorkaround or fix delivered; awaiting reporter confirmation.
5closed-it-ops-starter:closed_incidentResolution confirmed; incident archived and SLA clock stopped.
6canceled---Incident withdrawn (duplicate, invalid, raised in error).

service_requests (Service Request)

This scope holds service_requests as embedded_master; the canonical state machine is owned by ITSM-SERVICE-REQUEST.

orderstate_nameinitial?terminal?requires_permission?derived gatedescription
1submitted---Requester has submitted the catalog request.
2approved--it-ops-starter:approved_service_requestApprover has authorized fulfillment.
3fulfilling----Fulfillment team is provisioning or executing the request.
4fulfilled----Item or access has been delivered to the requester.
5closed---Request archived after requester confirmation.
6canceled---Request withdrawn or rejected before fulfillment.

8. Permissions and business rules (derived)

8.1 Permissions

permissiontierdescriptionincluded in :admin?
it-ops-starter:readbaseline-readRead access to every entity in the module
it-ops-starter:managebaseline-manageEdit operational records
it-ops-starter:adminbaseline-adminEdit reference data and inherit every workflow gate below-
it-ops-starter:resolved_incidentworkflow-gate (lifecycle)Transition service_incidents into state resolved
it-ops-starter:closed_incidentworkflow-gate (lifecycle)Transition service_incidents into state closed
it-ops-starter:approved_service_requestworkflow-gate (lifecycle)Transition service_requests into state approved
it-ops-starter:activate_contractworkflow-gate (lifecycle)Transition asset_contracts into state active
it-ops-starter:terminate_contractworkflow-gate (lifecycle)Transition asset_contracts into state terminated
it-ops-starter:sanction_applicationworkflow-gate (lifecycle)Transition saas_applications into state sanctioned
it-ops-starter:deprecate_applicationworkflow-gate (lifecycle)Transition saas_applications into state deprecated
it-ops-starter:deprovision_applicationworkflow-gate (lifecycle)Transition saas_applications into state deprovisioned
it-ops-starter:initiate_renewalworkflow-gate (lifecycle)Transition saas_subscriptions into state renewing
it-ops-starter:approve_renewalworkflow-gate (lifecycle)Transition saas_subscriptions into state renewed
it-ops-starter:cancel_subscriptionworkflow-gate (lifecycle)Transition saas_subscriptions into state canceled
it-ops-starter:view_all_incidentsoverride (personal_content)View all service_incidents rows beyond row-scope
it-ops-starter:manage_all_incidentsoverride (personal_content)Manage all service_incidents rows beyond row-scope

8.2 Business rules

rule_namedata_objectsource flagintent
incident_edit_scopeservice_incidentshas_personal_contentRow-scope by default; override via it-ops-starter:view_all_incidents / it-ops-starter:manage_all_incidents

9. Roles, RACI, and responsibilities (derived)

Baseline roles, the permission hierarchy, and RACI realization are DERIVED from this scope’s entity-type write tiers + process_raci; none of it is stored in the catalog (the deployer provisions it from this blueprint).

9.1 IT-OPS-STARTER

Baseline roles:

rolebaseline grant
it-ops-starter_viewerit-ops-starter:read
it-ops-starter_managerit-ops-starter:manage

Permission hierarchy:

permissionincludes
it-ops-starter:adminit-ops-starter:manage
it-ops-starter:manageit-ops-starter:read
it-ops-starter:adminit-ops-starter:resolved_incident
it-ops-starter:adminit-ops-starter:closed_incident
it-ops-starter:adminit-ops-starter:approved_service_request
it-ops-starter:adminit-ops-starter:activate_contract
it-ops-starter:adminit-ops-starter:terminate_contract
it-ops-starter:adminit-ops-starter:sanction_application
it-ops-starter:adminit-ops-starter:deprecate_application
it-ops-starter:adminit-ops-starter:deprovision_application
it-ops-starter:adminit-ops-starter:initiate_renewal
it-ops-starter:adminit-ops-starter:approve_renewal
it-ops-starter:adminit-ops-starter:cancel_subscription
it-ops-starter:adminit-ops-starter:view_all_incidents
it-ops-starter:adminit-ops-starter:manage_all_incidents

Processes wired:

process_keyprocess_namePCF codePCF IDleveldescription
manage_it_portfolio_strategyManage IT portfolio strategy8.2.2206603Strategy for systematic management of IT investments, projects, and activities. Analyze and examine the value of the IT portfolio and allocate resources based on business objectives.
manage_it_user_identityManage IT user identity and authorization8.3.8207563The process of identifying, authenticating, and authorizing IT users to have access to applications, systems, IT components, or networks by associating user rights and restrictions with established identities.
manage_demand_productsManage demand for products4.1.2102223Forecasting demand for products using secondary research and customer feedback. Refine these forecasts. Inspect the approach used in creating forecasts, and determine its accuracy.

RACI realization:

actorkindraciprocess_keyrealization
ITAM-SAAS-PORTFOLIO-MANAGERpersonaresponsiblemanage_it_portfolio_strategygrant gates [it-ops-starter:sanction_application, it-ops-starter:deprecate_application] + the gated entities’ write tier
ITAM-SAAS-PORTFOLIO-MANAGERpersonaaccountablemanage_it_portfolio_strategyapproval gate
IT-SAAS-ADMINpersonaresponsiblemanage_it_user_identitygrant gates [it-ops-starter:deprovision_application] + the gated entities’ write tier
IT-SAAS-ADMINpersonaaccountablemanage_it_user_identityapproval gate
PROCUREMENT-SAAS-RENEWAL-OWNERpersonaresponsiblemanage_demand_productsgrant gates [it-ops-starter:initiate_renewal, it-ops-starter:approve_renewal, it-ops-starter:cancel_subscription] + the gated entities’ write tier
PROCUREMENT-SAAS-RENEWAL-OWNERpersonaaccountablemanage_demand_productsapproval gate

9.2 Functional ownership and default grants

(none: no business_function_domains rows for this scope’s domain)