Unable to update user profile from fetchUserProfile script

Hi Auth0 community! I recently ran into an issue with updating user app_metadata from the
fetchUserProfile script. I had a custom social connection which was storing additional data about users in app_metadata. This approach was working well until I added a new rule that was also performing some operation on app_metadata by calling the auth0.users.updateAppMetadata method. As soon as that method was called from the rule, my fetchUserProfile script was no longer able to perform updates on app_metadata. I found this note in docs that it’s not recommended to populate app_metadata from fetchUserProfile. It doesn’t elaborate why, but I assume it’s to avoid issues such as the one I encountered.

I searched for potential solution to this issue and found PATCH user.app_metadata isn't behaving as documented which seemed to be related to issue I was observing because auth0.users.updateAppMetadata method is performing PATCH operation under the hood. The solution from this thread suggested storing user data in custom property. It worked well at first glance, as I was seeing updates being reflected in Auth0 UI (new property showed up in Identity Provider Attributes section). However, despite that change being reflected in UI my rules were still getting outdated version of this custom property. Similarly to app_metadata property as soon as auth0.users.updateAppMetadata method was called that property was somehow “cached” in rules and no updates from fetchUserProfile script were picked up from rules.

Do you have any advice on how to properly store (and be able to update) custom user profile data via fetchUserProfile script?

Hey there @amalina !

We saw that you already contacted our developer support team with the same questions. I hope you’ve already received their support! Let us know if we can help anyhow down the road and it will be great if you can share later what our developer support team suggested, for the benefit of others! Thank you!