CSD 2.0 software request fulfillment and Service Graph reconciliation<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } CSD 2.0 software request fulfillment and Service Graph reconciliation Short description How a Client Software Distribution 2.0 (CSD 2.0) request is provisioned to an endpoint manager and then reconciled back to a SYNCED state through a Service Graph connector import. SCCM and Intune are used as the worked example. The same pattern generalizes to any combination of discovery source and endpoint manager. Applies to Client Software Distribution 2.0Service Graph Connector for Microsoft SCCM (SG-SCCM) and Service Graph Connector for Microsoft Intune (SG-Intune)Software Asset Management ProCMDB and the Identification and Reconciliation Engine (IRE)IntegrationHub, MECM spoke, Intune spoke Overview CSD 2.0 turns a service catalog software request into an automated install on a managed endpoint, then confirms the install by reading it back out of CMDB. There are two halves to the pattern and they are intentionally decoupled: PUSH (provision): CSD 2.0 subflows hand the install instruction to an endpoint manager through an IntegrationHub spoke.PULL (reconcile): a discovery source imports the device and its installed software into CMDB through IRE, and CSD reconciliation flips the request status to SYNCED. The key idea for the rest of this article: the system that INSTALLS the software does not have to be the system that REPORTS the install. The request only goes to SYNCED when normalized install evidence for the right device and the right software model lands in CMDB. That makes the pattern portable across endpoint managers and discovery sources. Business flow End to end, the request moves through these stages: Employee request. The user orders software from an Employee Center catalog item.Requested software. CSD creates a record on sn_csd_req_software with a status of NOT SYNCED.CSD deploy flow. The Deploy Client Software flow routes by provider, SCCM or Intune in this example.Push to endpoint manager. CSD adds the device or user to the install collection (SCCM) or the app assignment (Intune).Install on device. The endpoint manager performs the install on the client.SG connector import. SG-SCCM or SG-Intune imports the device and the installed software into CMDB.CSD reconcile and notify. CSD matches the imported install evidence to the request, sets status to SYNCED, and notifies the requester. The dashed return arrow is the point of the whole design: step 7 writes back to the record from step 2. The imported install evidence is what flips the request to SYNCED. Integration patterns The same pipeline, viewed as integration plumbing, is a loop with two lanes: PUSH lane (top, left to right): CSD 2.0 deploy subflows call an IntegrationHub push spoke.The spoke drives the endpoint manager. SCCM connectivity goes through a MID Server, Intune goes direct over the Microsoft Graph API.The endpoint manager installs the software on the managed device. PULL lane (bottom, right to left): The Service Graph connector reads inventory back. SG-SCCM uses a MID Server against the SCCM SQL store, SG-Intune calls Graph directly.Both land through IntegrationHub ETL and IRE into the CMDB device and software install records.CSD reconciliation compares that evidence to the request and sets the status to SYNCED. The dashed arrow on the left closes the loop, which is the Service Graph feedback writing the request status back to CSD. Key records and transports The request lives on sn_csd_req_software. On the push side, the CSD 2.0 subflows call the MECM or Intune spoke. SCCM goes through a MID Server, Intune goes direct over the Graph API. The push moves the device or user into the install collection (SCCM) or the app assignment (Intune). On the pull side, SG-SCCM uses a MID Server against the SCCM SQL store and SG-Intune calls Graph directly. Both land through IntegrationHub ETL and IRE into cmdb_ci_computer and cmdb_sam_sw_install. SAM normalizes that into cmdb_sam_sw_discovery_model, then CSD reconciliation matches the install evidence to the request and sets the status from NOT SYNCED to SYNCED. Generalizing beyond SCCM and Intune SCCM and Intune are only the worked example. CSD 2.0 is a framework of subflows and subflow templates, and the reconcile half depends only on normalized install records in CMDB, so any reasonable combination of endpoint manager and discovery source follows the same shape. The push lane and the pull lane are independent. LayerWorked exampleGeneralizes toPush, provisionMECM spoke, Intune spokeAny endpoint manager with a CSD provider flow. Jamf is supported out of the box, plus a framework to add others.Push transportSCCM via MID Server, Intune via Graph APIMID Server for on premises managers, direct cloud API for SaaS managers.Pull, discovery sourceSG-SCCM, SG-IntuneAny source that feeds cmdb_sam_sw_install, for example ServiceNow Discovery, Tanium, BigFix, Jamf, Workspace ONE, or another Service Graph connector.LandingIntegrationHub ETL, IREIdentical for every source.ReconcileCSD reconciliation to sn_csd_req_softwareIdentical regardless of which manager installed or which source reported. Because the lanes are independent, mixed topologies are valid. As one example, Intune installs the package while ServiceNow Discovery or Tanium reports the install. The request still reaches SYNCED, because reconciliation only cares that a normalized install record for the device and software model exists in CMDB. Caveats to call out in implementation Normalization is the join. Reconciliation matches on the device CI and the software, so the discovery source must normalize the installed software to the same software model on cmdb_software_product_model that the requested catalog item points to. A normalization gap means the request stays NOT SYNCED even though the software is installed.The push provider must support the install and uninstall action for that platform. CSD 2.0 ships MECM, Intune, and Jamf, with a framework for additional providers.Sync is asynchronous. The request stays NOT SYNCED until the next discovery import and reconciliation cycle completes, so the time to SYNCED is bounded by the discovery schedule, not the install. This means the blind spot exists in the "Device Manager" platform, we can not see if deployment was successful other than requesting it. We need implicitly asset that once the next discovery schedule(SG or Disco) finds the software. Revocation through CSD only works for software that CSD installed, or for requested software records that you have linked to existing installs. Reference tables sn_csd_req_software. The CSD Requested Software record and its status, including NOT SYNCED and INSTALLED.cmdb_ci_computer. The device CI imported by the discovery source.cmdb_sam_sw_install. Raw software install records, one to one from the discovery source.cmdb_sam_sw_discovery_model. The normalized discovery model produced by SAM.cmdb_software_product_model. The software model used to scope and match the install to the request. Related links Client Software Distribution 2.0 application, ServiceNow product documentation.Client Software Distribution 2.0, ServiceNow Store listing.Service Graph Connector for Microsoft SCCM and Service Graph Connector for Microsoft Intune. SG-IntuneSG-SCCM