ServiceNow CMDB Integration Patterns
Understanding CMDB as a Source of Truth
The CMDB is the foundation of IT operations. Every system, device, and application is supposed to be represented as a configuration item. Integrations populate and keep the CMDB current. Discovery integrations automatically populate the CMDB with infrastructure items discovered during scans. External system integrations bring in configuration data from provisioning systems, asset management systems, and cloud platforms. The goal is a CMDB that is comprehensive, accurate, and current.
Inbound Integration: Pushing Data to CMDB
Inbound integrations push configuration data into ServiceNow. A provisioning system provisions a new cloud resource and automatically creates a CI in the CMDB. An asset management system reports that hardware was purchased and creates a CI. A monitoring system detects a new application and creates an application CI. Inbound integration keeps the CMDB current as your infrastructure evolves. Challenges include handling duplicates (is this a new CI or an update to an existing one) and conflict resolution (if two sources report different attributes for the same CI, which one is correct).
Outbound Integration: Pulling Data from CMDB
Outbound integrations pull CMDB data into other systems. Change Management might query the CMDB to determine which CIs are affected by a change. Asset Management might pull asset data from the CMDB. Service Mapping uses CMDB data to build service dependencies. Outbound integrations keep other systems synchronized with CMDB changes. If a CI is updated in the CMDB, dependent systems can react: asset management can update cost codes, service mapping can recalculate dependencies.
Bidirectional Patterns and Data Ownership
Bidirectional integrations combine both directions: data flows both into the CMDB and out of it. However, bidirectional integration requires careful design to avoid conflicts and circular updates. Establish data ownership: which system owns which attributes of each CI type? If the CMDB owns the discovery data (servers, network devices), then provisioning systems should not overwrite that data. If provisioning systems own the hosting information (cloud region, instance type), the CMDB should not overwrite that. Clear ownership prevents conflicts.
Conflict Resolution Strategies
When data from multiple sources conflicts, resolve systematically. One strategy is timestamp-based: the most recent update wins. Another is priority-based: some systems are authoritative for certain attributes and others are not. A third is manual review: when conflicts are detected, flag them for human review. Use a combination: most conflicts resolve automatically by priority rules, but unresolved conflicts are escalated for review. Document your conflict resolution strategy so that integrations behave predictably.
Duplicate Detection and Merging
CMDB quality depends on preventing duplicates. If the same server is discovered twice, it should create one CI, not two. Detection logic must be sophisticated. A server discovered by two different MID Servers might have slight differences in attributes. Detection rules must recognize that they represent the same device. Merging combines duplicate CIs into one, preserving all attributes. This is complex and error-prone; automated merging should be conservative. Questionable cases should be flagged for manual review.
Monitoring and Maintenance
Monitor CMDB integration health continuously. Track data quality metrics: are all discovered items represented in the CMDB, are attributes consistent across sources, are there unexpected duplicates. When integration fails (a source stops reporting data), alert operations teams. Regular audits identify stale or orphaned CIs that should be retired. Integration improvements usually yield high return: a cleaner, more accurate CMDB improves all downstream processes.
CMDB Data Governance and Standards
A well-functioning CMDB requires governance. Define data standards: what attributes must every CI have, what values are valid, what relationships are required. Enforce these standards through integrations: do not accept CI data that does not conform. This discipline keeps the CMDB clean. Without standards, different integrations populate the CMDB with incomplete or inconsistent data, making it unreliable.
Audit and Cleanup of CMDB Data
Establish periodic CMDB audits. Are all CIs still active, or are there orphaned CIs from decommissioned infrastructure? Are critical attributes populated or are there many nulls? Are there duplicates that should be merged? Audits identify data quality problems. Once identified, plan cleanup: retire inactive CIs, populate missing attributes, merge duplicates. CMDB quality improves through deliberate maintenance, not through wishful thinking.
CMDB Integration with Service Management Processes
CMDB data should flow into other ITSM processes. Incident management uses CMDB to identify affected infrastructure. Change management uses CMDB to determine impact. Service level management uses CMDB to identify the infrastructure supporting each service. These processes are only as good as the CMDB data they rely on. Investment in CMDB quality pays dividends across all ITSM processes.
Matching each source to a pattern before writing any mapping
Integration design for a CMDB often starts with the tool, as in “we will use this connector”, and only later asks what data the connector will carry. It is more productive to start with the source. Each system that writes to the CMDB has a different rhythm, a different idea of identity and a different way of failing. A discovery scan runs on a schedule and sees only what is reachable. A deployment pipeline emits an event each time something ships. An asset register changes when a person records a purchase. Matching the pattern to that rhythm is what keeps the data stable.
The table below pairs common source types with the pattern that commonly fits them. The columns that matter most for the design are the identifier the source can be trusted for and the failure it is likely to produce when something goes wrong.
| Source type | Pattern that typically fits | Identifier to trust | Failure to expect |
|---|---|---|---|
| Network and server discovery | Scheduled scan through the discovery engine | Hardware serial or a stable host identifier, not the IP address | Missed devices when a scan window or credential fails |
| Cloud provider inventory | Scheduled pull, with event triggers for creation and deletion where available | Provider resource identifier | Renamed resources appearing as new records |
| Deployment pipeline | Event-driven update when a release completes | Application identifier agreed with the release team | Updates lost when the pipeline runs out of order |
| Asset register | Scheduled import of changed rows only | Asset tag from procurement | Mismatched names between finance and operations |
| Monitoring platform | Event stream for status, not for creation | Monitored host identifier | Status flapping that overwrites a corrected value |
Two rules follow from the table. A source should create records only where it is the authority for their existence. A source should update only the attributes it owns. Anything broader invites the conflicts that a later reconciliation has to untangle.
Designing identification so records do not multiply
Identification rules decide whether an incoming item is an existing configuration item or a new one. In ServiceNow these rules are applied by the identification and reconciliation engine, and their quality determines how many duplicates appear. Build them from the most stable identifier each source offers, in order of preference, and test each rule against a sample that includes known awkward cases: a server renamed after a rebuild, a virtual machine that moved between clusters, and two records that share a name in different locations.
The test should produce a short list of outcomes for each case: matched to an existing item, created as new, or sent to review. A rule that creates a new item for a renamed server is not failing loudly, but it can double the inventory over time, so the rule should be corrected before the feed is switched on.
Handling failed writes without losing them
An integration that fails silently is worse than one that never ran. Every inbound write should land in a log that records the source, the identifier, the attributes attempted and the outcome. Failed writes should go to a queue with an owner, not to a general error inbox that nobody reads. The queue needs three states at minimum: waiting for a retry, rejected for a reason the source must fix, and accepted after manual review.
- Confirm that each rejected write names the rule or validation that refused it, so the owner can fix the cause rather than retry blindly.
- Retry transient failures on a schedule, and stop retrying after a limit the owner has agreed, then move the item to rejected.
- Review rejected items each week and assign each one to the source, the mapping or the validation rule that needs changing.
- Track how many items enter each state over time, so a rising queue is noticed before it becomes a reconciliation project.
Testing an integration before it is trusted
Test an integration with the data it will actually carry, not with a clean extract. Run the feed against a copy of the production source, count the records created, updated and rejected, and compare those counts with what the source itself reports. Then repeat the run, because an integration that is not idempotent can create duplicates on the second pass even when the first pass looked correct. Only after two consistent runs should the feed be scheduled to write to live records.
Questions about CMDB integration design
Should every source be real time?
No. Real-time updates are worth the complexity only for attributes that change in ways incidents and changes depend on, such as status after a failure. Inventory attributes often do not need them.
What commonly causes an integration to produce duplicates?
An identifier that changes, such as an IP address or a host name that a rebuild reassigns. Choosing a more stable identifier at the design stage prevents many of these.
When does the number of feeds become a problem?
Count alone never settles it. The useful test is whether each one owns a distinct set of attributes and has a named owner who reads its rejected items. Overlapping ownership is a sign that consolidation is needed.
Do integrations need their own test environment?
A copy of the source data in a non-production instance is the practical minimum. Without it, the first live run becomes the test, which is the situation the repeated-run check exists to avoid.
If you are designing feeds for a CMDB that already holds conflicting records, the CMDB audit evidence readiness article covers how audit evidence should explain where each record came from, and the configuration item onboarding article covers how configuration items are brought in.
CMDB enrichment: refreshing attributes on configuration items that already exist
CMDB enrichment means adding or refreshing attributes on configuration items that already exist, matched on an identifier both sides trust, and creating nothing new. An enrichment feed can never grow the inventory, so it is usually the safest pattern to switch on first. Teams often reach for a full inbound feed when an enrichment-only one would have answered the question.
Before a feed is allowed to enrich, check three things. Each should be true for every row it sends, not just the sample you tested with.
- The identifier it sends matches an identifier already held on the configuration item, such as a serial number rather than a display name.
- Each attribute it writes is one that no other feed is expected to maintain.
- An item it cannot match is sent to the review queue, never created as a new record.
A worked case makes the difference visible. Discovery creates the record first, which is covered in how discovery finds devices and creates their records. Later, an endpoint agent reports the operating system build on that same laptop. Enrichment matches the agent’s device identifier to the record, writes the build, and leaves serial number, owner and location as discovery and procurement set them. If the identifier does not match, the record goes to review, and no second laptop appears.
The usual failure is a feed that falls back to creating records when matching fails. Some setups default to creation for unmatched items, so check the setting rather than assuming it. The duplicates that follow are hard to see because each new record looks valid on its own. Check that default against how CMDB reconciliation and duplicate control are set up before the feed goes live.
Enrichment does not fix a configuration item that is wrong at the source. If the serial number was mistyped when it was first recorded, enrichment will keep that error in place and attach new data to it. Correct the source record first, then let the feed refresh the attributes it owns, within the standards set out in how CMDB data quality and governance are kept consistent.
Frequently asked questions
Should all CIs be discovered automatically or should some be created manually?
Automate discovery for infrastructure (servers, network devices, cloud resources) where possible. Manual creation is appropriate for business services and logical groupings that automation cannot determine. The goal is high coverage from automation with manual creation filling gaps.
What should we do with discovered CIs that are no longer in the infrastructure?
Retirement is the correct approach. When infrastructure is decommissioned, the associated CI should be retired (marked as inactive and removed from service maps). Retention of retired CIs may be required for compliance or auditing; these can be archived rather than deleted.
How do we handle CMDB data from multiple cloud providers?
Each cloud provider integration pushes its data into the CMDB. Establish a tagging convention to identify which cloud provider each CI belongs to. Conflict resolution should recognize that different providers use different instance types and attributes. Automated discovery from each cloud provider, with conflict resolution by source, typically works well.
Related guides
Related Oblytech services
Where this topic turns into delivery work, these are the Oblytech services that cover it.
Planning, running or fixing a ServiceNow programme? Tell us where you are and we will suggest a sensible next step.
Contact us