Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

cmdb_ci_class field on Models

markamann
Tera Contributor

Can someone explain the functional purpose of the field, cmdb_ci_class which exists on the Product Model tables?

 

Is there some use case where this adds value over the Model Category -> CI Class?

 

2 REPLIES 2

G Ponsekar
Tera Guru

Hi @markamann ,

 

The cmdb_ci_class field on the Product Model table is a direct reference to the CMDB class (e.g., cmdb_ci_computer, cmdb_ci_server, etc.). It defines which CI class a product model is associated with when creating or linking configuration items (CIs) in the CMDB.

This is different from the Model Category → CI Class mapping, which is more of a categorization mechanism. Model Category groups models into broader categories (like Hardware, Software) and then maps them to CI classes indirectly.


Functional Purpose

  • Direct CI Class Assignment:
    When you select a product model for an asset or during discovery, the system can immediately know which CMDB table to create the CI in, based on cmdb_ci_class.
    Example: A laptop model with cmdb_ci_class = cmdb_ci_computer ensures that discovered laptops create CIs in the cmdb_ci_computer table.

  • Overrides Category Mapping:
    If the Model Category → CI Class mapping is ambiguous or too generic, cmdb_ci_class provides a precise override for that specific product model.

  • Discovery and Automation:
    Discovery and Service Mapping use this field to correctly classify discovered items without relying solely on category logic. This is critical for automated CI creation and reconciliation. 


Use Cases Where It Adds Value

  1. Mixed Categories:
    If multiple models share the same category but belong to different CI classes (e.g., Network Devices vs. Firewalls), cmdb_ci_class ensures accurate CI placement.

  2. Custom Models:
    For custom hardware/software models that don’t fit neatly into standard categories, you can directly assign the correct CI class.

  3. Discovery Integration:
    When integrating with external discovery tools, this field helps map discovered products to the right CMDB class without relying on category inference.

  4. Avoiding Misclassification:
    Prevents errors where category-based mapping might default to an incorrect CI class due to overlapping definitions.


Difference from Model Category → CI Class

Aspect Model Category → CI Class cmdb_ci_class FieldScopeFlexibilityUse in DiscoveryCustomization
Category-level mappingSpecific to each product model
Limited (one CI class per category)High (per-model granularity)
IndirectDirect and preferred
Harder to overrideEasy to set per model

 

 

If I could help you with your Query then, please hit the Thumb Icon and mark as Correct !!

 

Thanks, GP

markamann
Tera Contributor

The OOB methods still utilize the cmdb_ci_class field on Model Category record. Is there some setting or plugin I'm missing to switch this to use the field on Model record itself?