I have created an account provisioning policy for Active Directory, which is working great. I’m adding some fields that reference an identityAttribute (which was calculated with its own transform) and then replaces that value with a different static value using a lookup table. When I test, I am not getting any errors, it does fill in the required fields in Active Directory, but no matter what the input is, the output is always the default entry.
Original Input from HR source: “CA - NO Vets - Branch”
identity Transform:
{
"id": "8af36cb6-a5a6-4810-b9ac-47222ac947dd",
"name": "Region from OrgUnit",
"type": "substring",
"attributes": {
"begin": -1,
"end": 2
},
"internal": false
}
Output to identityAttribute “Organization” = CA
^All of that works fine. Now, I want to take the human readable value of CA and convert it to it’s corresponding code for the AD attribute “businessCategory”.
Provisioning Policy:
{
"name": "businessCategory",
"transform": {
"type": "lookup",
"attributes": {
"input": {
"type": "identityAttribute",
"attributes": {
"name": "Organization"
}
},
"table": {
"CA": "88",
"CM": "70",
"FN": "40",
"IT": "35",
"LG": "41",
"LN": "60",
"LS": "50",
"PR": "80",
"default": "00"
}
}
},
"attributes": {},
"isRequired": false,
"type": "string",
"isMultiValued": false
},
Output to businessCategory in AD: 00
Tested with multiple accounts and no matter the input, I always get 00 as the output. Any ideas? This seems like a really simple transform and I basically copy/pasted from the documentation. I was really not expecting anything to go wrong.