# Manager Correlation from multiple sources

**URL:** <https://developer.sailpoint.com/discuss/t/manager-correlation-from-multiple-sources/35457>\
**Category:** SHF Discussion and Questions\
**Tags:** correlation, transforms, sailpoint-identity-security\
**Created:** [March 15, 2024, 10:55am UTC](https://developer.sailpoint.com/discuss/t/manager-correlation-from-multiple-sources/35457 "2024-03-15T10:55:31Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![uday\_kilambi](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/uday_kilambi/32/31482_2.png) [@uday\_kilambi](https://developer.sailpoint.com/discuss/u/uday_kilambi)\
**Post date:** [March 15, 2024, 10:55am UTC](https://developer.sailpoint.com/discuss/t/manager-correlation-from-multiple-sources/35457/1 "2024-03-15T10:55:32Z")

</div>

Hello All,

We have a requirement to correlate manager from two different sources Contractors and SuccessFactors respectively. We need to have the manager value taken from Contractors source if the user is a contractor, if not to take it from SuccessFactors source.

We have IdentityProfile defined for SuccessFactors and Manager correlation defined for the same identity attribute for both the sources. And for Manager attribute, source selected as SuccessFactors and also the custom transform.

We used first valid transform to correlate Manager from two sources. When we preview the data on the Identity Profile for a contractor, we do see that the manager value is loaded properly from contractor source, however, when checked on the identity, it is still the manager value from SuccessFactors source after refresh and aggregation tasks.

We also observed that when applied the same transform on any other attribute of identity, the value is loaded from Contractors. This brings me to the following questions:

1. Does IDN transform support correlation to manager identities from different sources?
2. Can we achieve this requirement by a manager correlation rule? Or any other alternatives?

Any leads on this would be very helpful. Thank you in advance.

Regards,  
Uday

---

<div class="post-metadata">

**Author:** ![uday\_kilambi](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/uday_kilambi/32/31482_2.png) [@uday\_kilambi](https://developer.sailpoint.com/discuss/u/uday_kilambi)\
**Post date:** [March 15, 2024, 10:58am UTC](https://developer.sailpoint.com/discuss/t/manager-correlation-from-multiple-sources/35457/2 "2024-03-15T10:58:39Z")

</div>

I just found a post related to similar requirement, but I don’t see the conclusion if manager correlation rule worked for the use case. Have anyone tried this approach?

> [@Manager Correlation from two different Sources](https://developer.sailpoint.com/discuss/t/manager-correlation-from-two-different-sources/855):
>
> Hi Team, Can we map two sources for Manager Correlation is this supported in IDN? We have requirement to get the manager id from two different sources and populate on the manager attribute of Identity Profile whichever is available first. As we are only allowed to map only single Source for Identity Profile. We have populated the Manager ID using First Valid transformation with two different sources. During preview we are able to see the Manager details but on the in the Identity List when we…

---

<div class="post-metadata">

**Author:** ![pdegraaffiam](https://avatars.discourse-cdn.com/v4/letter/p/d9b06d/32.png) [@pdegraaffiam](https://developer.sailpoint.com/discuss/u/pdegraaffiam)\
**Post date:** [March 15, 2024, 3:20pm UTC](https://developer.sailpoint.com/discuss/t/manager-correlation-from-multiple-sources/35457/3 "2024-03-15T15:20:18Z")

</div>

I have a similar issue with the manager coming from SuccessFactors for employees and from Fieldglass for contractors? Any guidance would be great or an example of a transform would be even better.

---

<div class="post-metadata">

**Author:** ![uday\_kilambi](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/uday_kilambi/32/31482_2.png) [@uday\_kilambi](https://developer.sailpoint.com/discuss/u/uday_kilambi)\
**Post date:** [March 29, 2024, 4:04am UTC](https://developer.sailpoint.com/discuss/t/manager-correlation-from-multiple-sources/35457/4 "2024-03-29T04:04:49Z")

</div>

@colin_mckibben - Do you have any suggestions or alternatives to achieve this?

---

<div class="post-metadata">

**Author:** ![schattopadhy](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/schattopadhy/32/8854_2.png) [@schattopadhy](https://developer.sailpoint.com/discuss/u/schattopadhy)\
**Post date:** [March 29, 2024, 6:26am UTC](https://developer.sailpoint.com/discuss/t/manager-correlation-from-multiple-sources/35457/5 "2024-03-29T06:26:56Z")

</div>

@uday_kilambi you can use a manager correlation rule which will solve the issue  
sample

```auto
import sailpoint.object.Link;
import sailpoint.object.QueryOptions;
import sailpoint.object.Filter;
import sailpoint.object.Identity;
import java.util.Map;
import java.util.HashMap;
  
  
log.error(\"Rule Name: HR Manager Correlation Rule - Message = Creating list of applications\");
//Creating a list of all the HR applications to search for.
List applications = new ArrayList();
applications.add(\"App2");
applications.add(\"App 1");

/**
	Gets the manager identity link from HR system. \"Reporting Officer ID\" attribute of the subordinate HR record will be matched against \"Employee Number\" / account name record of the manager HR record.
	
	@param employeeNumber employeeNumber of the manager.
	@return manager identity if available.Else null value will be returned.
*/
Identity getManagerIdentity(String employeeNumber){
	log.error(\"Entering the method - getManagerIdentity - employeeNumber = \"+ employeeNumber );
	//QueryOptions and filters are built for querying the account in HR sources.
	QueryOptions qo = new QueryOptions();
	qo.addFilter(Filter.eq(\"nativeIdentity\", employeeNumber));
	qo.addFilter(Filter.in(\"application.cloudDisplayName\", applications));
	//Getting links based on the filters built. This should match with only 1 account as per the customer data / design.
	List links = context.getObjects(Link.class, qo);
	//No links found or duplicates found.
	if( links.size() != 1 ){
		//Manager can't be set in this case. Hence, return null.
		log.error(\"Exiting the method - getManagerIdentity - identity = \" + links.size());
		return null;
	}
	else{
		//returns identity of matching HR record.
		Identity identity = links.get(0).getIdentity();
		log.error(\"Exiting the method - getManagerIdentity - identity = \" + identity.getName());
		return identity;
	}
	// safety null return 
    log.error(\"Exiting the method - getManagerIdentity - identity = null\");
	return null;
}

```

---

<div class="post-metadata">

**Author:** ![uday\_kilambi](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/uday_kilambi/32/31482_2.png) [@uday\_kilambi](https://developer.sailpoint.com/discuss/u/uday_kilambi)\
**Post date:** [April 3, 2024, 7:44am UTC](https://developer.sailpoint.com/discuss/t/manager-correlation-from-multiple-sources/35457/6 "2024-04-03T07:44:23Z")

</div>

@schattopadhy - Yes this rule should work in IdentityIQ, but we are looking for a solution for IdentityNow. Have you got any chance to achieve this requirment via rule in IdentityNow?

---

<div class="post-metadata">

**Author:** ![KRM7](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/krm7/32/2685_2.png) [@KRM7](https://developer.sailpoint.com/discuss/u/KRM7)\
**Post date:** [April 3, 2024, 9:25am UTC](https://developer.sailpoint.com/discuss/t/manager-correlation-from-multiple-sources/35457/7 "2024-04-03T09:25:38Z")

</div>

> **[Manager Correlation Rule | SailPoint Developer Community](https://developer.sailpoint.com/docs/extensibility/rules/cloud-rules/manager-correlation-rule)**
>
> This rule calculates a manager relationship between identities.

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/d/df70d3af40f5f36bc1fb238025e6a923f6d9b67b.png)

This document says that we can set manager from a different source, but since it is a cloud Rule which requires Expert Service hours.

We have read somewhere and have a feeling that it might not work.

We don’t wanna end up wasting time, efforts and ES hours. So we want to have a double confirmation.

Need your inputs please: @colin_mckibben @sharvari

Thanks  
Krish

---

<div class="post-metadata">

**Author:** ![schattopadhy](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/schattopadhy/32/8854_2.png) [@schattopadhy](https://developer.sailpoint.com/discuss/u/schattopadhy)\
**Post date:** [April 3, 2024, 9:41am UTC](https://developer.sailpoint.com/discuss/t/manager-correlation-from-multiple-sources/35457/8 "2024-04-03T09:41:39Z")

</div>

> [@uday\_kilambi](#):
>
> tyNow. Have you got any chance to achieve this requirment via rule in IdentityNow?

@uday_kilambi we applied it as a cloud rule in identity now and applied to the source .by removing the existing correlation.  
Please try to create it and use PS expert service to upload.  
Thanks  
Shantanu

---

<div class="post-metadata">

**Author:** ![KRM7](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/krm7/32/2685_2.png) [@KRM7](https://developer.sailpoint.com/discuss/u/KRM7)\
**Post date:** [April 3, 2024, 11:20am UTC](https://developer.sailpoint.com/discuss/t/manager-correlation-from-multiple-sources/35457/9 "2024-04-03T11:20:39Z")

</div>

> [@schattopadhy](#):
>
> we applied it as a cloud rule in identity now and applied to the source .by removing the existing correlation

Are you confirming that you correlated manager for an identity in which identity and manager are from different sources ?

---

<div class="post-metadata">

**Author:** ![sharvari](https://avatars.discourse-cdn.com/v4/letter/s/3be4f8/32.png) [@sharvari](https://developer.sailpoint.com/discuss/u/sharvari)\
**Post date:** [April 5, 2024, 11:26am UTC](https://developer.sailpoint.com/discuss/t/manager-correlation-from-multiple-sources/35457/10 "2024-04-05T11:26:55Z")

</div>

Yes, i have been able to do this in the past. The user and manager were residing in diff sources.

---

<div class="post-metadata">

**Author:** ![KRM7](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/krm7/32/2685_2.png) [@KRM7](https://developer.sailpoint.com/discuss/u/KRM7)\
**Post date:** [April 5, 2024, 12:01pm UTC](https://developer.sailpoint.com/discuss/t/manager-correlation-from-multiple-sources/35457/11 "2024-04-05T12:01:23Z")

</div>

Thanks Sharvari for the confirmation.

---

<div class="post-metadata">

**Author:** ![uday\_kilambi](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/uday_kilambi/32/31482_2.png) [@uday\_kilambi](https://developer.sailpoint.com/discuss/u/uday_kilambi)\
**Post date:** [April 8, 2024, 11:51am UTC](https://developer.sailpoint.com/discuss/t/manager-correlation-from-multiple-sources/35457/12 "2024-04-08T11:51:50Z")

</div>

Thank you @sharvari for your inputs, we shall try this approach for our use case as well then.

Regards,  
Uday

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/sailpoint/original/2X/f/f2136700ed5e3703e0b85e02f6be799dacca7735.png) [@system](https://developer.sailpoint.com/discuss/u/system)\
**Post date:** [June 15, 2024, 12:27pm UTC](https://developer.sailpoint.com/discuss/t/manager-correlation-from-multiple-sources/35457/14 "2024-06-15T12:27:50Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
