Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

CMDB updates and reconciliation behavior

Tresselt
Tera Expert

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.

11 REPLIES 11

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.

Cindy Trieu
ServiceNow Employee

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?