How to find the internal name of a SharePoint column

Why do we need to know the internal name?

In order to reference a column or field in SharePoint Online you often need to know its internal name. While the default display name and the internal name are often identical or similar, they can also be very different. The difference isn’t always consistent. For example a column with a display name of “Employee ID Number” could have the spaces removed and have the internal name EmployeeIDNumber, or the spaces could be replaced with a hexadecimal equivalent, such as Employee_x0020_ID_x0020_number.

A Table showing Employee ID number display name.
A Table showing Employee ID number display name.

A SharePoint column has two names*

  1. Display Name is the name you set when you create a new column. This is the visual name that the user sees when they are working with SharePoint list items or documents via forms or view. You can change the Display name.
  2. Internal Name – Internal names are set when you create a new column. You cannot change the internal name later. The internal name is not always same as the display name. Internal names are used to get field values and can be used in trigger conditions and workflows.

How to find the internal column name

Method 1: Column Settings

You can easily find the internal name by editing the column and viewing the last part of the URL.

(1) Click on the settings icon

Image showing the settings icon
Select Settings.

(2) Click List settings:

Image showing where to find SharePoint List Settings
Select List Settings

(3) Click on the column name:

SharePoint List Settings page from where we can select a column for editing
Select the column name

The internal name will be at the end of the URL after ‘Field=’:

The internal name of the column will be at the end of the URL after ‘Field=’:
The internal name will be at the end of the URL after ‘Field=’:

Unfortunately, there are instances where the internal name that we get with this method does not work with queries. You will need to try the other methods below until you find one that works. See below: When the Internal Name doesn’t work in a Filter Query


Method 2: Hover-over dynamic content in Power Automate

You can also view the internal name by hovering over Power Automate Dynamic content:

Hover-over dynamic content in Power Automate to show the internal name
Hover-over dynamic content in Power Automate to view the column’s internal name

Method 3: Peek Code in Power Automate

You can use Peek code to view the internal name. You can also copy and then paste internal name.

Using Peek Code in Power Automate to show the internal column name
Peek code in Power Automate
Peek code example screen
You can also copy and then paste the internal name from the Peek Code view

When the Internal Name doesn’t work in a Filter Query

(1) Filter based on Person or Group column

The ‘Person or Group’ column contains a user object and is made up of a collection or group of attributes:

Example: a SharePoint column called Owner of type Person. The column is made up of a collection of attributes such as Display Name, Email address and Job Title etc.

The OData filter query can’t filter on the user object but it can filter on some of the attributes. The example below shows how to filter using the user attributes. Note that the attribute names are case sensitive. For example the email must be upper case E and M:

Filtering on the user attributes. Note the format for the email address attribute which is Owner/EMail
Filtering on the user attributes. Note that the attributes names are case sensitive.
Example filter query using the email attribute.
Example filter query using the email attribute.
Attribute names and person column
Filtering on the user attributes.

(2) ⚠ Error when using the Internal Name : Column Name Does not Exist!

Here is another example where using the internal name of a column does not work in Power Automate. In this particular case a user had a column name called JV2:

SharePoint list showing a column named JV2
SharePoint list with a column named JV2

Using the column settings URL (Method 1) to find the internal name of JV2, we find that the internal name is _x004a_V2 :

Editing the column JV2 and viewing its internal name
The internal name will be at the end of the URL after ‘Field=’: _x400a_V2

However, this internal name _x004a_V2 did not work when used with Power Automate (e.g. in filter queries). The user was getting the error “Column ‘_x004a_V2’ does not exist” even though the internal name was correct.

It seems we need to use one of the other methods in order to obtain a useable internal name: Method 2 or Method 3. These methods expose the “correct” or useable internal name OData_x004a_V2 as we see below:

Using the Hover-over method to get the "correct" internal name of column JV2
Getting the internal name use the Hover-over method
SharePoint Column NameInternal NameUseable Name
JV2_x0004a_V2OData_x004a_v2

I’m still not sure why the internal name of the JV2 column doesn’t reflect the name we find when using the column settings method. The name JV2 could be a reserved internal name used within the SharePoint database, so SharePoint substitutes the user-entered name based on some algorithm in order to avoid a naming conflict?

See Power Automate Community Forum for the original post: ODATA query issues with field names.

(3) If a column name starts with a symbol character

If a column name starts with a symbol character you need to use one of the other methods in order to obtain a useable internal name: Method 2 or Method 3.

if a column name starts with a symbol character Use one of the other methods in order to obtain a useable internal name
Column names starting with a symbol character

Tip for creating column names

(1) Use the Add column option in the SharePoint list or library and SharePoint will create a clean name for you:

(2) Avoid symbols characters in your column names, such as !Don’t%Do&This#. See SharePoint Naming Guidelines for further guidance.


Notes

SharePoint Naming Guidelines – The documentation actually mentions three types of column names: (1) Display name, (2) Internal name and a third called the (3) Multilingual alternatives for your display names.

Power Automate filter based on Person or Group column by Tom Riha.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Website Built with WordPress.com.

Up ↑

%d bloggers like this: