Auth0 Home Blog Docs

Updatable Normalized Profile Root Attributes [Product Roadmap: Launched]

Feature adding ability to update root attributes of user profiles in progress

Auth0 defines certain user profile attributes as the Auth0 Normalized Profile, including: name, given_name, family_name, nickname, and picture. These attributes are retrieved from federated identity providers (IdPs) when the user logs in, are then automatically updated in the User profile, and cannot be independently updated.

This upcoming feature enables Auth0 customers to update these attributes on demand. For example, if a user signs up using Google as the IdP, the root attributes are added from Google and are automatically updated with each subsequent login. This enhancement allows you to determine whether or not the attributes are automatically updated with each subsequent login, and update the attributes directly from your application. A common use-case for this would be a user signing up using a social login who wants to use a different avatar in your application than the one used in the social provider.

Previously, updated attributes had to be stored in user_metadata, resulting in search limitations (inability to search using wildcards or mixed case). This enhancement enables you to update the attributes without using user_metadata. Once updated attributes are set in the user profile instead of in user_metadata, wildcard search and case-insensitive search will be possible.

This feature is in active development. This topic will be updated with additional details and supporting documentation when the feature is launched.


This feature has now been launched, along with updates to user import. Docs for this feature are now available here:


Very much looking forward to this one!

Any news on this feature ?

Very much looking forward to this, not having the ability to update the first name / last name and being unable to filter on the user metadata has so-far been a dealbraker for me.

Any idea on the timeframe of the feature?

Hello @galesky and @hanshenp! Although we’re not able to provide timeframes (you can find details on how the roadmap is communicated here), I can share that updatable normalized profile root attributes is in a post-development testing phase at the time of this writing. This is the final phase before launch, and we will be sure to update in Community when the feature is available.

Can we expect this fix to be completed before the deadline for v3 search api migrattion.
We currently use User Search v2 and this is a blocker for us, we can’t migrate until we are able to search users properly.

I’ve opened another topic in here for more details:

We are very much looking forward to this feature
Any updates / timeline ?

@kim.maida we’re also very much looking forward to this feature.

Do you have any updates on when this feature might be available?

We’re not able to provide timelines, but I’m hoping to have an update on how the final testing phase is going. I will follow up here!

Hello all! I’m pleased to announce that updatable normalized profile root attributes has been launched, along with updates to user import. Documentation for this feature is now available here:

1 Like

I have opened the ticket User search using search_engine=v3 is not consistent and user_metadata is case sensitive
and has been informed this update would fix the problem.

I have tried to use this new version on our account, but I noticed the user information does get populated to user_metadata only, but is not added to the root profile of the user. This is a must have before we migrate to user search v3, otherwise we can’t find the users.

I have created the user:
Name: Asdrubal
Surname: Smith

It is listed on Auth0 dashboard, when I try to search by either name or surname it does not get returned in the results from your dashboard.

Looking to the raw JSON, it’s clearly visible why.

There is no given_name or family_name in the root document, just in the metadata, where we can’t search by wildcard only by an exact match, that is case sensitive.
The name is using the email, and the nickname is using the the email alias.

I would expect the given_name or family_name in the root,
and nickname have the email, given we use the email as nickname,
and the name should be a concatenation of given_name and family_name.

See a copy of the raw json from the user created

"email_verified": false,
"email": "",
"user_metadata": {
    "birthday": "2000-01-01T00:00:00.000Z",
    "given_name": "Asdrubal",
    "family_name": "Smith"
"updated_at": "2019-05-29T16:34:50.424Z",
"user_id": "auth0|5ceeb4a714b2b20ef6689195",
"name": "",
"picture": "",
"nickname": "a.niceguy",
"identities": [
        "user_id": "5ceeb4a714b2b20ef6689195",
        "provider": "auth0",
        "connection": "Username-Password-Authentication",
        "isSocial": false
"created_at": "2019-05-29T16:34:47.883Z",
"last_ip": "",
"last_login": "2019-05-29T16:34:48.167Z",
"logins_count": 1,
"blocked_for": [],
"guardian_authenticators": []

I think this is a related bug:
Today, after adding the ability of “Updatable Profile Attributes” (, we can update the user’s picture attribute
However, the Multi Factor authentication page still tries to load the picture of the user from gravatar, regardless of the value of the picture attribute that now can point to a different url

Hi @diego.mendes

How did you create that user? Was it using Lock and its custom signup fields? If so, those fields are expected to end up in the user’s app_metadata , because Lock is not yet aware of the changes mentioned in

For now, if you want to create a user with root attributes the only option is to use the signup endpoint directly (or the Management API v2 create users endpoint). Support for root attributes in Lock should be coming soon, but it’s not there yet.

Yes, using Lock, unfortunately using the API directly is not an option for us.


Hey @diego.mendes there are two PRs already opened for this in the Lock repository, so I expect that a new version will follow soon:

1 Like

Today we are using!/Users/patch_users_by_id directly from the client side in order to update the current user metadata with scope “update:current_user_metadata”
We do want to use the same logic to update the Profile Root Attributes as well, is it possible?
Its looks like we need a new scope “update:current_user_profile” or something like that

Any update on what @akuka has said above? I am trying to update root level user data client side and can’t because there is now scope for it.