Discovery: CMDB Sync:  Questions about the Key, TokenId, ADDMIntegrationId or UniqueCISourceID fields

Version 4

    This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.


    BMC Discovery


    BMC Discovery



    Questions about the Key, TokenId, ADDMIntegrationId, and "Unique CI Source ID" fields.

    Note that in Remedyforce, the key from Discovery is stored in a hidden field named:  "Unique CI Source ID"







    In Discovery, most node kinds (including Host) have a 'key' which uniquely identifies the node.
    The key of a node is persistent unlike the node ID. You can see the 'key' in ADDM if you add the column called 'key' to a display of hosts. An example Host key looks something like this in Discovery: 1yvZYerAjrgHlIDSHd95og==


    If you look at the syncmapping pattern, you see host 'key' field is mapped to the 'key' field in BMC_ComputerSystem:

    269         datamodel 2, 3, 4, 5 do
    270             computersystem := sync.BMC_ComputerSystem(
    271                 key                 := host.key,

    This "key" is a “working” field that is used during synchronization to populate a field in the CMDB called "ADDMIntegrationID" (in the case of Atrium CMDB), or is called "Unique CI Source ID" in Remedyforce.  "ADDMIntegrationID" or "Unique CI Source ID" is a hidden attribute in the BMC_BaseElement class. It is used to store a value that ensures the correct CI's in the CMDB are updated when data in Discovery is updated. These keys are sometimes directly populated from the key on a corresponding node in the Discovery data store, but in other situations they are constructed using rules appropriate for the mapping structure.

    As an example, suppose the value of the 'key' field on a host node (host.key) in Discovery was "vArj+BWumb7N7D6gFmscmw==". This host would be synchronized to the CMDB class BMC_ComputerSystem and the ADDMIntegrationID (or "Unique CI Source ID") attribute would be a concatenation of the key and the class being synchronized to. In this example the value would be:


    TokenId is an attribute that in some circumstances aids reconciliation of CIs populated by multiple data sources. Discovery sets TokenId for BMC_ComputerSystem. For most hosts, TokenId is of the form hostname:DNS domain name. For some virtual hosts, TokenId contains a UUID. Reference:


    Starting with the July 2013 TKU, we also populate "TokenId" for BMC_DataBase, BMC_SoftwareServer, BMC_ApplicationSystem, and BMC_Cluster.  So adding TokenId to the Identification rules should allow it to distinguish these CI's.

    Note: You won't see ADDMIntegrationId in Atrium Explorer (because it is a hidden attribute). Use KA 000143680 to find it.


    Article Number:


    Article Type:

    Solutions to a Product Problem

      Looking for additional information?    Search BMC Support  or  Browse Knowledge Articles