Hi all, I’m working with a customer to set up attribute synchronization on a WebService source. We have defined a call that looks like the following:
{
"department": "$request.department$",
"phoneNumbers": [
{
"number":"$request.phoneNumber$",
"type":"work"
}
]
"address": {
"addressLine1":"$request.addressLine1$",
"city":"$request.city$",
"state":"$request.state$",
"zipcode":"$request.zipcode$",
}
}
The problem is that if the phoneNumber and address attributes are not all included, then those attributes get cleared out. I understand the mechanism for how IdentityNow cleans the JSON in these requests and why that is happening, so I started writing a before operation rule to just strip out the “phoneNumber” and “address” attributes from the call if those values are not included in a change.
This all triggered a thought though - I should be able to just add these attributes to the “Update” provisioning policy and they’ll always be included in every attribute synchronization call whether they’re needed or not. This would eliminate the need for a rule altogether. For some reason, this doesn’t seem to be working. I added the following to test it out:
{
"name": "Update Account",
"description": null,
"usageType": "UPDATE",
"fields": [
{
"name": "phoneNumber",
"transform": {
"type": "identityAttribute",
"attributes": {
"name": "workPhone"
}
},
"attributes": {},
"isRequired": false,
"type": "string",
"isMultiValued": false
}
]
}
But the phoneNumber is not included in the call when the department updates.
Am I stuck using a rule or is there something I’m just missing?