DavidQ.83547 (The National Domestic Violence Hotline) asked a question.
There are a few similar posts on this topic, but our use case is a little more unique from what I have been able to find so far.
In our use case, the HR system (Paylocity) is not a profile source for specific reasons. When the import job runs, the updated attributes are applied to the users app assignment, but not updated on the users Okta profile. In the logs we can see the updated attribute and in the app assignment we can see the current value, but we cannot see the previous value.
I am building a Workflow to notify us on these actions and being able to evaluate the previous value and the current value would be immensely helpful in our process.
In Workflows, using the "users profile update" card can't be used because technically the users profile isn't updated. Only the data in the app assignment. Has anyone Dev'd a workaround for this?
There was a request from around 5 years ago (https://ideas.okta.com/app/*/case/106132), but that has since been closed. Another was created 7 months ago (https://ideas.okta.com/app/*/case/192623), but unless is gets traction, it will probably end up being dismissed as well.


@DavidQ.83547 (The National Domestic Violence Hotline) -- As Mihai indicated this isn't currently feasible (at least not at scale). This is essentially a technical limitation to how the API's work. The "Update User" endpoint action that changes profile data just sets a new value. When that new value is set a profile update event occurs and indicates which attributes had their values changed.
The previous value isn't required/relevant in the action that Updates the profile and because of this there is no way for the "event" to know what the previous value was as it fired in response to the change being made..
You would need to essentially have a "Duplicate" of all of the user data stored somewhere that is accessible for a "lookup" that is then updated after the lookup / report was made. Which is why "not at scale" was mentioned initially. If you had a small number of users you could easily store the data in a table/spreadsheet and make lookups/modifications and the usage wouldn't really be a problem. However, its a "Red Zone" use case and will fall apart at scale. https://help.okta.com/wf/en-us/content/topics/workflows/workflows-system-limits.htm