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-15-2025 03:40 AM - edited 09-15-2025 03:41 AM
You can quickly fix this. Configure this. It will stop updates on CI if its retired,. It's called inclusion rule. CI Class manger -> Identification rule -> scroll down to bottom and configure this.
Regards,
Pratiksha
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-15-2025 03:45 AM
Thanks, I will look into it.
But is it really the case that a year old multisource record really overwrites the CMDB value. Sounds strange. I have verified that CMDB value is retired, trigger Source B which has no mapping or no value of operational status, and the CI changes back to operational.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-15-2025 04:00 AM
This happens if any data refresh rule has been configured. Check if any customisation has been done.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-15-2025 04:12 AM
We have no data refresh rules as of now
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-16-2025 02:12 PM
Hi Tresselt,
We only pull data from cmdb_multisource_data records if you change your reconciliation records and do a Recompute. Otherwise, we don't re-read from those old records nor do we reuse the values. They are just for your visibility if you do not use them to recompute.
Do you have a business rule on that class which updates the operational status if it has been updated? Or perhaps some part of the Source B process updates that for you. I am not sure without delving into it more. I do not know if setting up a reconciliation rule will fix your issue if you are not sending the new value through IRE. Reconciliation rule only prevents another source from overriding the value at a later time if it also goes through IRE. IRE cannot prevent other scripts/business rules/sources not using IRE from overwriting the value.
