Live Developer Training: next batch coming soon. Be the first to know.Live training: next batch soonJoin the waitlist →Join →

How to Get SharePoint List Column Details Using Power Automate? [Internal Name, Display Name, Data Type]

A few weeks ago, I developed a Power Automate flow for a client that used SharePoint lists as data sources. There were ten lists, each with more than 30 fields.

Due to permission issues, the client had to create all the lists and columns manually. To make this easier, I needed to fetch each SharePoint list column’s internal name, display name, and data type into an Excel file so the client could use it as a reference.

After some research, I found two main ways to get this information:

  • Use PnP PowerShell, but this requires a Client ID, which is difficult for everyone.
  • Using Power Automate with an HTTP request is a simple and easy method.

In this tutorial, I will show you how to use Power Automate to retrieve SharePoint list column details, including Internal Name, Display Name, Data Type, Editable status, and Required field status. I will also tell you how to get SharePoint List GUID manually and using Power Automate.

Get SharePoint List Column Details Using Power Automate

To get this information using Power Automate, you will need:

  • Site Address – The URL of your SharePoint site
  • SharePoint List GUID – The unique identifier of the list

This is the result after you run the flow.

SharePoint List Internal Column Names Power Automate

Now, follow the below steps:

1. Open Power Automate, click on Create, and select Instant cloud flow. Choose the Manually trigger a flow trigger. Then, click + Add an input and add two text inputs:

  • SharePoint List GUID – Enter the unique ID of the SharePoint list
  • Site Address – Enter the SharePoint site URL
Power Automate Get SharePoint List Column Details

2. Add the Send an HTTP request to SharePoint action to retrieve the SharePoint list details. Provide the action with the following parameters:

  • Site Address: Select the SharePoint Site Address from the dynamic content.
  • Method: Select GET as the method
  • URI: Provide the below URI:
_api/web/lists(guid'@{triggerBody()?['text']}')/fields
  • Header: Use the below headers to make REST API calls to SharePoint:
{
  "Accept": "application/json;odata=nometadata"
}
power automate get column names from sharepoint list

3. Then add a select action and provide the below parameters to extract only the necessary column details from the API response:

  • From: Use this expression to get all field details from the previous HTTP request:
@{body('Send_an_HTTP_request_to_SharePoint_|_Get_All_Info')?['value']}
  • Map: Click the T (Text mode) icon and define the structure to extract key column details. Use the following JSON mapping:
{
"Display Name": @{item()?['Title']},
"Internal Name": @{item()?['StaticName']},
"Data Types": @{item()?['TypeDisplayName']},
"Hidden": @{item()?['Hidden']},
"Required": @{if(equals(item()?['Required'],true),'Yes','No')},
"Is Edit": @{if(equals(item()?['ReadOnlyField'],false),'Yes','No')}
}

The Select action is required because the API response contains much data, but we only need specific details like Internal Name, Display Name, Data Type, Editable status, and Required status.

Get Internal Column Name from SharePoint Online to Power Automate

4. Add a Filter array action and provide the below parameters to remove hidden columns and keep only the visible ones:

From: Use the output from the Select action

@{body('Select')}

Filter Query: Use this expression to filter out hidden columns:

@equals(@{item()?['Hidden']},false)

This step is important because SharePoint lists contain system-generated hidden columns that are not needed. Filtering them out helps work only with user-defined columns.