# We need to store the date as output when the cost center code changes for a user can we do it through transform?

**URL:** <https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902>\
**Category:** SHF Discussion and Questions\
**Tags:** identity-security-cloud\
**Created:** [March 19, 2026, 2:37pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902 "2026-03-19T14:37:04Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rakesh\_Singh\_1234](https://avatars.discourse-cdn.com/v4/letter/r/3be4f8/32.png) [@Rakesh\_Singh\_1234](https://developer.sailpoint.com/discuss/u/Rakesh_Singh_1234)\
**Post date:** [March 19, 2026, 2:37pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/1 "2026-03-19T14:37:04Z")

</div>

We need to store the date as output when the cost center code changes for a user can we do it through transform ?

---

<div class="post-metadata">

**Author:** ![PhilRawlings1](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/philrawlings1/32/37266_2.png) [@PhilRawlings1](https://developer.sailpoint.com/discuss/u/PhilRawlings1)\
**Post date:** [March 19, 2026, 3:17pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/2 "2026-03-19T15:17:57Z")

</div>

Clarity: You are trying to log data changes from the HR source inside of Sailpoint as an identity attribute?

---

<div class="post-metadata">

**Author:** ![BBR1](https://avatars.discourse-cdn.com/v4/letter/b/c57346/32.png) [@BBR1](https://developer.sailpoint.com/discuss/u/BBR1)\
**Post date:** [March 19, 2026, 3:21pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/3 "2026-03-19T15:21:31Z")

</div>

This cannot be achieved by a transform alone because transforms cannot detect attribute changes over time. You can use an Identity Attribute Changed trigger (workflow) to monitor cost center changes and set the date using “now()”.

Transforms may work as a workaround using oldValue comparison.

---

<div class="post-metadata">

**Author:** ![Rakesh\_Singh\_1234](https://avatars.discourse-cdn.com/v4/letter/r/3be4f8/32.png) [@Rakesh\_Singh\_1234](https://developer.sailpoint.com/discuss/u/Rakesh_Singh_1234)\
**Post date:** [March 19, 2026, 3:21pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/4 "2026-03-19T15:21:44Z")

</div>

yes we have created attribute datechangecostcneter in which need to store the date when cost center got change can u pls help ?

---

<div class="post-metadata">

**Author:** ![Rakesh\_Singh\_1234](https://avatars.discourse-cdn.com/v4/letter/r/3be4f8/32.png) [@Rakesh\_Singh\_1234](https://developer.sailpoint.com/discuss/u/Rakesh_Singh_1234)\
**Post date:** [March 19, 2026, 3:22pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/5 "2026-03-19T15:22:20Z")

</div>

and that date can be stored from workflow to identity attribute?

---

<div class="post-metadata">

**Author:** ![BBR1](https://avatars.discourse-cdn.com/v4/letter/b/c57346/32.png) [@BBR1](https://developer.sailpoint.com/discuss/u/BBR1)\
**Post date:** [March 19, 2026, 3:28pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/6 "2026-03-19T15:28:33Z")

</div>

Yes, we can store it using a workflow by updating a custom identity attribute with now() when costCenter changes.

---

<div class="post-metadata">

**Author:** ![PhilRawlings1](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/philrawlings1/32/37266_2.png) [@PhilRawlings1](https://developer.sailpoint.com/discuss/u/PhilRawlings1)\
**Post date:** [March 19, 2026, 3:32pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/7 "2026-03-19T15:32:00Z")

</div>

@BBR1 has nailed it precisely. Do you have the workflows module though?

---

<div class="post-metadata">

**Author:** ![Rakesh\_Singh\_1234](https://avatars.discourse-cdn.com/v4/letter/r/3be4f8/32.png) [@Rakesh\_Singh\_1234](https://developer.sailpoint.com/discuss/u/Rakesh_Singh_1234)\
**Post date:** [March 19, 2026, 3:34pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/8 "2026-03-19T15:34:29Z")

</div>

Is this a good workflow for my requirement

\<{  
“name”: “Cost Center Change Workflow”,  
“description”: “Triggers when cost center changes and updates modified date”,  
“enabled”: true,  
“trigger”: {  
“type”: “EVENT”,  
“attributes”: {  
“id”: “idn:identity-attributes-changed”,  
“filter”: “changes.attribute eq “costCenter””  
}  
},  
“definition”: {  
“start”: “Compare Cost Center”,  
“steps”: {  
“Compare Cost Center”: {  
“type”: “choice”,  
“choiceList”: [  
{  
“comparator”: “StringDoesNotEquals”,  
“variableA.$”: “$.trigger.changes[?(@.attribute == ‘costCenter’)][0].newValue”,  
“variableB.$”: “$.trigger.changes[?(@.attribute == ‘costCenter’)][0].oldValue”,  
“nextStep”: “Update Modified Date”  
}  
],  
“defaultStep”: “End Step - Success”  
},  
“Update Modified Date”: {  
“type”: “action”,  
“actionId”: “sp:http”,  
“attributes”: {  
“authenticationType”: “OAuth”,  
“method”: “PATCH”,  
“oAuthClientId”: “\<YOUR\_CLIENT\_ID\>”,  
“oAuthClientSecret”: “\<YOUR\_CLIENT\_SECRET\>”,  
“oAuthTokenUrl”: “[https://xyz-sb.api.identitynow.com/oauth/token”](https://xyz-sb.api.identitynow.com/oauth/token%E2%80%9D),  
“oAuthCredentialLocation”: “oAuthInHeader”,  
“requestContentType”: “json”,  
“url”: “[https://xyz-sb.api.identitynow.com/v3/identities/${identity.id}”](https://xyz-sb.api.identitynow.com/v3/identities/$%7Bidentity.id%7D%E2%80%9D),  
“jsonRequestBody”: [  
{  
“op”: “replace”,  
“path”: “/attributes/modifiedDateOfCostCenter”,  
“value”: “${now}”  
}  
]  
},  
“nextStep”: “End Step - Success”  
},  
“End Step - Success”: {  
“type”: “success”  
}  
}  
}  
}/\>

---

<div class="post-metadata">

**Author:** ![BBR1](https://avatars.discourse-cdn.com/v4/letter/b/c57346/32.png) [@BBR1](https://developer.sailpoint.com/discuss/u/BBR1)\
**Post date:** [March 19, 2026, 3:40pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/9 "2026-03-19T15:40:58Z")

</div>

looks good, but, is it working.

---

<div class="post-metadata">

**Author:** ![PhilRawlings1](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/philrawlings1/32/37266_2.png) [@PhilRawlings1](https://developer.sailpoint.com/discuss/u/PhilRawlings1)\
**Post date:** [March 19, 2026, 3:41pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/10 "2026-03-19T15:41:55Z")

</div>

Where are you getting the identity.id?

---

<div class="post-metadata">

**Author:** ![BBR1](https://avatars.discourse-cdn.com/v4/letter/b/c57346/32.png) [@BBR1](https://developer.sailpoint.com/discuss/u/BBR1)\
**Post date:** [March 19, 2026, 3:46pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/11 "2026-03-19T15:46:47Z")

</div>

ideally it should come from the workflow trigger context

---

<div class="post-metadata">

**Author:** ![Deepak\_Chaudhary](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/deepak_chaudhary/32/34380_2.png) [@Deepak\_Chaudhary](https://developer.sailpoint.com/discuss/u/Deepak_Chaudhary)\
**Post date:** [March 19, 2026, 3:52pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/12 "2026-03-19T15:52:57Z")

</div>

> [@Rakesh\_Singh\_1234](#):
>
> We need to store the date as output when the cost center code changes for a user can we do it through transform ?

Hi @Rakesh_Singh_1234

you cannot natively store the change date using a standard transform alone.

And it seems workflow have some issues itself. you haven’t compared the old value as well. Although Workflow is the good option but this could be achieved this by using a static transform that leverages the “oldValue” variable available in the identity attribute.  
When the costCenter changes, you need two identity attributes to trak the change:

1. **Cost Center** : The standard attribute synced from your HR source.  
2. **Cost Center Change Date** : A custom attribute that will store the timestamp.  
And then you need to apply a transform to the “Cost Center Change Date” attribute that compares the current “costCenter” with its previous value.

please let us know if this works for you. Thanks

---

<div class="post-metadata">

**Author:** ![Rakesh\_Singh\_1234](https://avatars.discourse-cdn.com/v4/letter/r/3be4f8/32.png) [@Rakesh\_Singh\_1234](https://developer.sailpoint.com/discuss/u/Rakesh_Singh_1234)\
**Post date:** [March 19, 2026, 4:02pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/13 "2026-03-19T16:02:59Z")

</div>

what do u mean? can u please tell me in details

---

<div class="post-metadata">

**Author:** ![Rakesh\_Singh\_1234](https://avatars.discourse-cdn.com/v4/letter/r/3be4f8/32.png) [@Rakesh\_Singh\_1234](https://developer.sailpoint.com/discuss/u/Rakesh_Singh_1234)\
**Post date:** [March 19, 2026, 4:05pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/14 "2026-03-19T16:05:19Z")

</div>

can u pls give me the trasnform if possible

---

<div class="post-metadata">

**Author:** ![PhilRawlings1](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/philrawlings1/32/37266_2.png) [@PhilRawlings1](https://developer.sailpoint.com/discuss/u/PhilRawlings1)\
**Post date:** [March 19, 2026, 4:07pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/15 "2026-03-19T16:07:33Z")

</div>

I didn’t see this in your WF: “identity.id$”: “$.trigger.identity.id”  
How were you intending to populate this url?

“url”: “[https://xyz-sb.api.identitynow.com/v3/identities/${identity.id}”](https://xyz-sb.api.identitynow.com/v3/identities/$%7Bidentity.id%7D%E2%80%9D),

without defining ${identity.id}

---

<div class="post-metadata">

**Author:** ![Rakesh\_Singh\_1234](https://avatars.discourse-cdn.com/v4/letter/r/3be4f8/32.png) [@Rakesh\_Singh\_1234](https://developer.sailpoint.com/discuss/u/Rakesh_Singh_1234)\
**Post date:** [March 19, 2026, 4:13pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/16 "2026-03-19T16:13:15Z")

</div>

in trigger we need to define it ? right ?

---

<div class="post-metadata">

**Author:** ![PhilRawlings1](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/philrawlings1/32/37266_2.png) [@PhilRawlings1](https://developer.sailpoint.com/discuss/u/PhilRawlings1)\
**Post date:** [March 19, 2026, 4:14pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/17 "2026-03-19T16:14:21Z")

</div>

Yes. Take a look at the templates that are on your tenant. That will show you what you need to grab and how to grab the idenity.id details

---

<div class="post-metadata">

**Author:** ![Carlatto](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/carlatto/32/4764_2.png) [@Carlatto](https://developer.sailpoint.com/discuss/u/Carlatto)\
**Post date:** [March 19, 2026, 4:53pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/18 "2026-03-19T16:53:57Z")

</div>

Where is the documentation for:

PATCH [https://tenant-sb.api.identitynow.com/v3/identities/:id](https://tenant-sb.api.identitynow.com/v3/identities/:id)

It isn’t listed in [V3 APIs | SailPoint Developer Community](https://developer.sailpoint.com/docs/api/v3/) or the other api versions. I tried sending a test to the endpoint in my tenant and came back with 404 : {“error”:“No message available”}

---

<div class="post-metadata">

**Author:** ![trettkowski](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/trettkowski/32/36103_2.png) [@trettkowski](https://developer.sailpoint.com/discuss/u/trettkowski)\
**Post date:** [March 19, 2026, 4:58pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/19 "2026-03-19T16:58:11Z")

</div>

I don’t think you can update an identity attribute through an API call unless it’s a delimited file source.

The suggestions on here aren’t going to work unless the authoritative source is from a delimited file and you’re updating the account from that source, not the identity itself.

This is the closest I can find and it clearly states, it can only update flat file sources.

> **[put-account | SailPoint Developer Community](https://developer.sailpoint.com/docs/api/v2024/put-account/)**
>
> The SailPoint Developer Community has everything you need to build, extend, and automate scalable identity solutions.

---

<div class="post-metadata">

**Author:** ![Rakesh\_Singh\_1234](https://avatars.discourse-cdn.com/v4/letter/r/3be4f8/32.png) [@Rakesh\_Singh\_1234](https://developer.sailpoint.com/discuss/u/Rakesh_Singh_1234)\
**Post date:** [March 19, 2026, 4:58pm UTC](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902/20 "2026-03-19T16:58:13Z")

</div>

[https://devrel.api.identitynow.com/v3/identities/${identity.id}](https://devrel.api.identitynow.com/v3/identities/$%7Bidentity.id%7D) is this valid??

[Next page](https://developer.sailpoint.com/discuss/t/we-need-to-store-the-date-as-output-when-the-cost-center-code-changes-for-a-user-can-we-do-it-through-transform/199902.md?page=2)
