I have attached the correlation rule below to my CSV source. When I try to aggregate accounts from the CSV file, the aggregation shows as successful, but the accounts are still not aggregated into the source. Wonder which part of the rule is causing the error.
// identity attributes to match: family name, date of birth, first name
import sailpoint.object.*;
import sailpoint.rule.IdnRuleUtil;
import java.util.*;
String first = (String) account.getAttribute("FIRST_NAME");
String dob = (String) account.getAttribute("DOB");
String last = (String) account.getAttribute("LAST_NAME");
Map returnMap = new HashMap();
// Skip if critical account attributes are missing
if (first == null || last == null || dob == null) {
return returnMap;
}
// Find identities by searchable first name
List identities = idn.findIdentitiesBySearchableIdentityAttribute("identity_attribute_first_name","Equals",first,"identity_attribute_first_name");
if (identities != null && !identities.isEmpty()) {
for (Identity identity : identities) {
// Last name check
String identityLastName = identity.getLastname();
if (identityLastName != null && identityLastName.equalsIgnoreCase(last)) {
// DOB check
Object identityDob = identity.getAttribute("birthDate");
if (identityDob != null && identityDob.toString().equals(dob)) {
// Successful correlation
returnMap.put("identityName", identity.getName());
return returnMap;
}
}
}
}
return returnMap;
Currently, the values passed in the returnMap include only the identityName. Could you please update the implementation to also include identityAttributeValue, as both are required to be retained when returning the returnMap.
The Map object should contain references to the identity attributes used for correlation and must include both identityAttributeName and identityAttributeValue as keys.
Additionally, for troubleshooting purposes, please review the CCG VA logs to validate that the expected values are being populated correctly.
The rule looks fine to me. Do you see any errors at the CCG level? Additionally, I recommend capturing the returnMap values using appropriate logging to verify whether the expected matching values are being populated.
can you confirm that DOB fallow single pattern
either 07-01-2026v or 07/01/2026 if not EqualsToIgoreCase Method may
fail in that use DOB normalizers something like
As mentioned earlier did you review the CG-level logs during the aggregation process? Checking the returnMap values in the logs should help with troubleshooting, as it will allow you to verify whether the map contains matching values for existing identities to support correlation.