Issue with Name-Value Pairs Field Not Reflecting Updated Values During Saviynt Import
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hi Everyone,
I am working with a custom table that contains a field of type Name-Value Pairs called Saviynt Fields. This field stores a large number of attributes such as lastname, firstname, enddate, country, department, and other employee-related information coming from a Saviynt integration.
I have implemented a Business Rule on the same table to process incoming data and update corresponding user records. During testing, I noticed some unexpected behavior with the Name-Value Pairs field.
When the Business Rule executes, both the current and previous objects appear to contain only the older values for the attributes stored inside the Name-Value Pairs field. Initially, I assumed this was an issue with how Business Rules handle Dynamic Attribute Store fields, so I performed several tests using Before, After, and Async Business Rules, as well as re-querying the record directly from the database. In all cases, the values available during Business Rule execution were still the older values.
To isolate the issue further, I compared this behavior with a standard string field on the same record. Interestingly, the standard field was updated immediately and reflected the latest value correctly within the Business Rule context.
While investigating the import process more closely, I discovered something important. During the Saviynt import, standard fields on the record are updated first and the Business Rule executes at that time. However, the values inside the Name-Value Pairs field are not populated until approximately 55 seconds later. By the time the Name-Value Pairs data becomes visible on the record, the Business Rule has already completed execution.
What makes the situation more confusing is that there does not appear to be a second update on the record itself. The record is updated only once, yet the contents of the Name-Value Pairs field become available significantly later. Because of this, configuring the Business Rule to run only when the Name-Value Pairs field changes does not help, as the field does not seem to participate in the normal update cycle in the expected way.
Additional observations:
- Manual updates made directly in ServiceNow work as expected.
- Background script updates also work as expected.
- The issue is only observed when data arrives through the Saviynt integration process.
- Standard fields are available immediately.
- Attributes inside the Name-Value Pairs field become visible much later.
- Before, After, and Async Business Rules all see the older values.
- Re-querying the record during Business Rule execution still returns the older Name-Value Pairs values.
I am trying to understand whether this is expected behavior for Name-Value Pairs (Dynamic Attribute Store) fields when populated by integrations, or whether there is some asynchronous processing occurring behind the scenes.
Has anyone encountered a similar scenario where a Name-Value Pairs field is populated after the main record update transaction has completed? If so, what was the recommended approach for triggering downstream processing based on the values stored within that field?
Any guidance or experience would be greatly appreciated.
Thank you.