“I was told to use internal name of a SharePoint column in a Power Automate filter, but where do I find it?”
Every column in SharePoint has 2 names, internal name assigned by SharePoint and display name defined by you. While the display name is what you see in the views and in the forms, and which you can change anytime, internal name is non-changeable. To change internal name you’d have to delete the column and create it again.
Where to find column internal name
Short version: if you just need to get the internal name, you can find it via List settings -> Click on the column name -> It’s at the end of the URL on the Edit column page, after ‘Field=’.
And now the long version.
Internal name format
Internal name is assigned when you create a new column. During the creation you define the column name, where you can use almost any characters. But on the background, SharePoint needs clear identifier of the column, without any fancy characters, in URL format. That’s a format usable as part of a URL, no spaces, with limitation for special characters. Let’s take an example, creation of a new column called ‘Tom’s lovely column’.
Column created from modern list view
One of the options to create a new column is directly from the modern list view. If you scroll to the right side (and if you have the required permissions), there’s a column .
This column’s internal name will be ‘Tomslovelycolumn’, clear from the spaces and the ‘ character.
That means, every time you need to reference this column using code, you should use this name.
Filter example: Tomslovelycolumn eq 'Good'
You can see that also Power Automate is using this name on the background, behind the fancy dynamic content.
Column created from list settings
To make things more complicated, the internal name is not always in such a nice format. You can create a new column also from List settings -> Create column.
The internal name isn’t as pretty as it was before. All the spaces are replaced by _x0020_, single quote is replaced by _x0027_, and any other special character will be replaced by code as well.
But still this is the column name you have to use.
Filter example: Tom_x0027_s_x0020_lovely_x0020_c eq 'Good'
And which also Power Automate is using.
As you can see, internal names can be simple or terrible, depending on how the column was created. It’s not a problem to copy/paste even the most unreadable internal name and use it in a filter, condition, or any other piece of code, as long as you know where to find it.
But it’s still in my list of most common filtering problems and it’s much easier to create column with a simple internal name. Either use the possibility to create new columns directly from the modern list, or create columns in 2 steps via the List settings:
- Use simple column name when creating the column, it’ll assign simple internal name.
- After column is created, edit the column name. It’ll keep the simple internal name while you can have a complex display name.