CMDB updates and reconciliation behavior
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-15-2025 03:18 AM
Hello!
I have a scenario with two data sources:
Source A -> Reports on the operational status of a CI
Source B -> Reports additional details about the CI, but does not provide lifecycle/operational status information
Here’s what I’m seeing:
Source A last reported 1 year ago, with operational status = Operational.
I’ve set up a custom rule: if a CI hasn’t been discovered by Source A within 60 days, it should be set to Retired.
This part works fine.
However, when integration from Source B runs, the CI’s operational status unexpectedly changes back to Operational, even though Source B has no mapping to that field.
My suspicion: ServiceNow is pulling the last known value from cmdb_multisource_data, effectively reusing Source A’s old record when Source B updates the CI. This is problematic, since that record is very outdated.
I’m considering whether Data Refresh Rules might help here, but since Source B has no reconciliation rule for operational status, there’s no “lower priority” source compared to A.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-17-2025 12:52 AM
Hi Cindy, yeah thats what i also expected from the multisource table.
However, when I for example manually update a field on a CI thats retired, the operational status dosent change. So it does not seem like a business rule is doing this. But again, when the CI is discovered by Source B, it changes back to operational. Even in 360 view I can see that source B reports empty on operational status. So im very confused haha.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-14-2025 01:43 PM
I gave it some thought and could you possibly have partial_payloads with the operational status in the payload? It might be from another source, but I'm not sure what integrations you have running. That's the one way I can think of it getting updated unexpectedly.
Other than that, do you have a post processing script after source B runs? Maybe it updates that there?