Software asset connections

  • Release version: Zurich
  • Updated July 31, 2025
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Software asset connections

    The Software Asset Management (SAM) application integrates installed software data discovered from third-party sources into ServiceNow. This process identifies where software is installed, device ownership, and location, merging this data into the Configuration Management Database (CMDB). The CMDB then supports various business applications by providing accurate software asset information.

    Show full answer Show less

    Key Features

    • Integration with Third-Party Discovery Sources: Enables ingestion of software installation data using the ServiceNow Identification and Reconciliation Engine (IRE) framework.
    • Identification and Reconciliation Engine (IRE): Centralized framework that processes incoming data via identification rules, reconciliation rules, and data source rules, ensuring data is deduplicated and properly inserted into CMDB and SAM tables.
    • Identification Rules: Supports independent and dependent CI identifiers to accurately associate software with hardware assets.
    • Payload Processing: Third-party discovery tools send data payloads via the IRE REST API to create or update software installation records. Generic payloads handle standard software, while specific payloads exist for Oracle, VMware, and Citrix to capture publisher-specific details.
    • Data Deduplication: When multiple discovery sources report the same software, conflicting entries are managed by the SAM Deduplication schedule job, which activates only one record and marks others inactive.
    • Domain Separation Support: Ensures data is inserted into the correct domain by requiring REST API calls to be made from the domain where the CIs reside, preventing cross-domain data duplication or incorrect CI creation.

    Practical Considerations for ServiceNow Customers

    • Ensure third-party discovery applications are configured to send payloads via the IRE REST API to integrate with SAM correctly.
    • Configure CI identifier rules for hardware assets so that software installations can be accurately linked.
    • Pay attention to domain separation: always perform payload submissions and API calls from the domain owning the CIs to avoid creating duplicate or misplaced configuration items.
    • Leverage the existing SAM Deduplication job to maintain a clean and accurate software installation dataset when multiple discovery sources are in use.

    Use third-party discovery sources to discover the installed software data that you can integrate with the Software Asset Management application.

    The discovery process is an integral part of the Software Asset Management application. The discovery process consists of discovering where the installed software in your organization is installed, who the owner of the device is, and where it's located. The discovered information is then merged into a common configuration management database such as the CMDB application.

    The CMDB application enables other business applications to use the discovered information to support various business needs.

    Figure 1. Discovery with Software Asset Management
    Third-party discovery sources

    ServiceNow platform's identification and reconciliation engine (IRE) framework enables all third-party data integrations with the CMDB application.

    IRE provides a centralized framework where you can perform reconciliations and de-duplication of the data when multiple sources are ingesting data at the same time. IRE uses identification rules, reconciliation rules, and IRE data source rules to process the incoming data and then inserts the data into the corresponding CMDB tables. You can extend these rules to insert the data into tables that extend the CMDB core tables such as the Software Asset Management tables. There are two types of identification rules for IRE:
    • Independent: If the Independent check box is selected on a CI identifier, it means that the CI is not dependent on any other CI.
    • Dependent: If the Independent check box is not selected on a CI identifier, it implies that this CI is dependent on other CIs.
    For more information on IRE, see Identification and Reconciliation Engine.

    You should have already configured loading the CIs in the ServiceNow instance. For each CI in your environment, the Hardware [cmdb_ci_hardware] table has a corresponding CI identifier rule. When the third-party discovery application runs, the software is identified on CIs. The third-party application constructs a payload and sends the payload via the IRE REST API endpoint to the ServiceNow instance to insert or update data into the Software Asset Management tables.

    A generic payload is used for creating installed software records. For Oracle, VMware, and Citrix, specific payloads feed additional publisher-specific data apart from software installations.

    If multiple discovery sources are enabled and if the key details of the software, such as the display name and the version for all discovery sources, match, the Installation record is overwritten. If multiple discovery sources identify the same software with different field values, an entry is created in the Software Installation [cmdb_sam_sw_install] table. When the schedule job SAM- Deduplication install table runs and if all the normalized values of these installations match, only one record is set to active. The rest of the records are marked as inactive.

    Domain separation is supported for third-party discovery with SAM with the following considerations:
    • The IRE REST API stamps the domain that you are logged in to when the REST call is made.
    • Log in to the domain where the CI resides and from where you run the payload.
    • Don't log in to the parent domain. Being logged in the parent domain updates the existing CI and also creates a new CI in the parent domain.
    • Send the payload from the same domain where the CIs reside. For example, if you send a payload from Domain A and if the payload has CIs that belong to Domain B, a new CI gets created in Domain A.