JOB_FAMILY Filyer in Workday Source configuration

Hi Team,

I have configured the filter below in my Workday source to look at accounts with only the JOB_FAMILY of TEST_FAMILY. The aggregation is successful but pulls in none of the test accounts I have with this job family. Any thoughts on what may be amiss?

[
  {
    "op": "replace",
    "path": "/connectorAttributes/filterString",
    "value": "( JOB_FAMILY != \"TEST_FAMILY\" )"
  }
]

Hi Mavin,

If I am understanding correctly, it seems it’s expected that none of the accounts with JOB_FAMILY as TEST_FAMILY will be aggregated because the operator used is Not Equals (!=). If you want to aggregate only TEST_FAMILY accounts, you can use Equals (==) operator.

[
  {
    "op": "replace",
    "path": "/connectorAttributes/filterString",
    "value": "( JOB_FAMILY == \"TEST_FAMILY\" )"
  }
]

Sorry if I have misunderstood the situation.

This link might be useful for Account aggregation filtering - IdentityNow Account Filtering during Account Aggregation - Compass (sailpoint.com)

1 Like

Hi Shailee,

Thanks for chiming in. Yes you are tracking with the use case I described. I have the same understanding that the ‘!=’ does not return the Job Family listed in the filter…it returns no accounts. However - when I use the ‘==’ it returns all the accounts - instead of the accounts I want to filter. It appears to do the opposite. Perhaps it’s not represented correctly in the target system maybe?

Hi Marvin,

I am not sure if this would work, but worth trying :

Instead of filterString, can you try account.filterString

[
  {
    "op": "replace",
    "path": "/connectorAttributes/account.filterString",
    "value": "( JOB_FAMILY == \"TEST_FAMILY\" )"
  }
]

Hi Shailee,

I was able to get the desired result with the filter below. Notice I added Negation (!) at the beginning of the value for it to filter the accounts I wanted it to aggregate. The condition passed.

This is a bit puzzling and opposite of the documentation below.

Usually a negation would work if the we see the Inner Condition: plaintext JOB_FAMILY != "TEST_JOB_FAMILY"

However, to make it work for me I had to do the opposite of the inner condition and make the Inner condition "== or true See below.

[
  {
    "op": "replace",
    "path": "/connectorAttributes/filterString",
    "value": "!(JOB_FAMILY == \"TEST_FAMILY\" )"
  }
]

Needless to say - it took a little grinding to get to this discovery and it works exactly like I need it to. Thanks for the assist. You pointed me in the right direction my friend.

1 Like

Hi Mavin,

Yes its strange that != is not working but !(==) does the work.

Glad that you could figure it out! Thanks for sharing the solution also.

Thanks,
Shailee

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