We have a requirement to send empty string or blank value for END date attribute to SNOW via attribute sync. I am trying to populate empty string for Identity attribute (used for sync) using below transform which is working as expected. But the value is not getting updated in SNOW when the sync is happening.
Is this something SailPoint is failing, or SNOW is not accepting the value?
Have you checked the Sync Activity Status ? Is it successful ? If it is successful , the SNOW Attribute should be empty string , if not is not , it issue from SNOW end . If the sync event is failed , you will be able to understand the issue from SP end why it failed .
I can see the AttributeValue is treated as null but not as an emptyString . while both might lead to similar visual outcomes , they are technically different . Check if the SNOW attribute can accept null values . If Not , using a String value like “NA” instead if empty string might help .
Any updates on this? We have similar problem on dates and boolean fields. For dates, ServiceNow takes null/empty values as something that didn’t change. For boolean values, null values are treated as a false value causing the values to change when it shouldn’t.
If you’re trying to send a blank END_DATE to ServiceNow, avoid using an empty string ("") as SNOW typically rejects that for date fields. The preferred approach is to send null, provided the field in SNOW is optional and allows clearing via API. Your ServiceNow team should be able to let you know if there is any business rules in SNOW that prevent null values.
If null is not accepted, a practical fallback would be to use a placeholder like 2099-12-31 to represent “no expiration.” But this would have to be documented clearly and consistently handled in your transform.
Interestingly, I have a similar situation with Entra ID.
I want to clear the attributes via attribute sync.
I am able to clear the attributes using API call via postman using null.
However, the same does not work via SailPoint.
Details:
I have a test transform (static) trying to set the value of the identity attribute to null or “”. Showing below code for empty string, but I have also tried null without quotes.
Test 1: string null --> "null"
[2025-07-09T16:36:38.631-04:00] INFO | connectorMessage ▶︎ {"AppType":"Microsoft Entra","commandType":"std:account:update","invocationId":"id","message":"primaryData - {\"companyName\":\"null\"}","requestId":"id,"timestamp":"2025-07-09T20:28:45.906Z","version":45}
response to get attributes via postman:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(department,jobTitle,companyName)/$entity",
"department": null,
"jobTitle": null,
"companyName": "null"
}
In transform the value is set to:
{
"type": "static",
"attributes": {
"value": "null"
}
}
Test 2:
Test 2: value null --> null
There is no log entry
value of the attribute did not change. confirmed via postman call
Transform has:
{
"type": "static",
"attributes": {
"value": null
}
}
Test 3:
Test3: Empty string --> ""
There is no log entry
value of the attribute did not change. confirmed via postman call
Transform has:
{
"type": "static",
"attributes": {
"value": ""
}
}
so, here are my conclusions so far:
“” and null are ignored by the attribute sync(Entra ID connector), however, the events show PASSED.
“null” string(with quotes) sends the same value and this is of no use.
Question:
So is the path forward only a workflow that triggers on the attribute change and we use the http action, directly call the entra id api to sync these values?