Please be sure you’ve read the docs and API specs before asking for help. Also, please be sure you’ve searched the forum for your answer before you create a new topic.
Please consider addressing the following when creating your topic:
What have you tried?
we are trying to enable the sync attribute for workday source but workday has the format for telephone number which we are getting into workday account attribute as +1 (xyz) xxxxxxx but we are getting from AD to ISC attribute as xyz-xyz-xxxx, due to format difference every workday aggregation sync is happening and in our case aggregation is running every hourly, so every hourly sync is running it is trying to put AD formatted number into workday but post aggregation it will change so ISC trying to update post aggregation.
What errors did you face (share screenshots)?
due to this format issue every hourly we can see events under identity , that is trying to update AD formatted value to workday since workday has different format.
Share the details of your efforts (code / search query, workflow json etc.)?
What is the result you are getting and what were you expecting?
so is there way to stop hourly sync either fix the AD format is in correct way or same as workday format? if yes please share how to convert AD format into workday format.
yes we tried this transform to convert mobile number in identity attribute but unable to change workday attribute.
while trying to sync it is always checking workday attribute and identity attribute , so there is a format change hence trying to trigger every hourly.
if it could more help is there any way to change workday attribute phone format? please suggest.
Do you have attribute sync enable for Active Directory as well ? If yes then what you need to do is make sure the value in Active Directory is also with +1 that is coming in Sailpoint. The way you can do this by adding the transform when you are creating the user in Active Directory in the Create Account. This will ensure that the value is +1 and it will sync to Workday.
If AD is the authorative source for Phone number than you need to make sure that the value coming in from Active Directory as a +1 in it otherwise the cycle will continue. It is an issue at AD side due to which the sync is always getting triggered.
Isn’t this a fundamental flaw with the workday connector configuration to add +1 to telephone numbers during attribute sync? We have this issue as well, and if we need to have the +1 on the phone number in SailPoint already, what’s the point of the workday connector option to add the country code?
Can you share a screenshot of the Provisioning Settings for Workday? Also what is the exact attribute you are attempting to sync and what is its xpath?
Here is how you can convert that input phone format in desired format using Transform.
User Replace All transform to replace occurance of + , ( , ) to empty string. Now your phone number is in format xyzxxxxxx.
Use substring Transform in above result, and split above value into three variables. first - xyz, second-xyz, third- xxxxxx
Now you have three variables in your transform, first, second and third which has only the digits of your phone number.
Initialize “-” in another variable hyphen as static transform in your transform.
Now, Use velocity code to set the value as your desired phone number at the end of your transform as below. "value": "$first$hyphen$second$hyphen$third"
I’m assuming the “+1” is a function of your default country code specified on the workday source, so the concern really is how to get the incoming AD phone number:
123-456-7890
to (as an identity attribute, so that it can sync out to workday):
(123) 4567890
(i.e. the workday connector will handle the +1, and should not sync if it realises the rest of the digits are the same)
I don’t have a workday environment to work with…so take that with a boat load of salt.
As for the transform, just a regular express replace will do (here’s the example):
You say “the workday connector will handle the +1, and should not sync if it realises the rest of the digits are the same” but that is not what I am experiencing.
Adding the +1 via transform is the next thing I plan to try. But the fact that I have to do that means that the workday connector configuration for adding the +1 is essentially useless right? It just creates an infinite loop of attribute syncing, and by design.
The connector configuration is to “ensure there’s a default country code” if country code is missing. If the number already has a country code, it shouldn’t then try to do a +1 again (i.e. You should not get a +1 +1 …).
…because some people may have other numbers not in US / Canada?
I would think, the +1 in the connector config and in the transform would need to match as a “default country code”…unless the number already has a country code specified.
(And the connector also works with IIQ…which doesn’t use Transform)
I’m not sure I understand what the connector configuration is doing in this case either way whether it’s a non-US number or not. The sync loop will always exist without a transform doing the exact same formatting that the connector is doing.
In your example with a number that has a non-US country code which is not the default, what is the connector configuration doing in this case that turning it off wouldn’t also do?
A lot of things work in IIQ that don’t work in IDN
Oh I literally can’t remove the +1 from the country code configuration in the workday connector… This must be an issue with the connector where it’s still trying to sync numbers that are identical apart from the +1, I don’t see how it would make any sense any other way
Looks like having the transform add the +1 itself while keeping the workday configuration to also add the +1 is working to not have it try and sync every day and clog our logs.
Doesn’t make any sense but at least it works! Probably an issue with the workday connector that needs to be addressed.