How to Create Different Columns in a SharePoint Library Using Power Automate?

In my recent Power Automate project, I needed to create different columns dynamically in a SharePoint document library. Instead of manually adding them individually, I wanted an automated solution to save time and reduce errors.

After some research, I discovered that Power Automate Send an HTTP request to SharePoint action can create a SharePoint library and add various columns. This connector allows us to interact directly with the SharePoint REST API, enabling us to automate tasks like creating lists, libraries, or columns.

In this tutorial, I will show you how to create different columns in a SharePoint library using Power Automate. You will learn how to add columns such as single-line text, multi-line text, Choice, Date, Number, Currency, and Person.

Create a Single line of text Column in SharePoint Library Using Power Automate

Before I tell you how to create a single line of text column in SharePoint Library using Power Automate, you need to create SharePoint Document Library:

Create a column in SharePoint Document Library in Power Automate

1. In the Power Automate, click the Instant Cloud flow, enter the Flow name, and choose the trigger flow (i.e., manually trigger a flow).

Create a Single line of text Column in SharePoint Library in Power Automate

2. Then add a Send an HTTP request to SharePoint action from sharePoint Connector with the below parameter:

  • Site Address: Select the SharePoint site
  • Method: Select “POST” as the method
  • URI: Provide the below URI:
_api/web/lists/getbytitle('Your SharePoint library Display Name')/fields
  • Headers: Add a key-value pair:
Accept: application/json;odata=verbose
Content-Type: application/json;odata=verbose
  • Body: Provide the below JSON format to create a Single line of text in SharePoint library:
{
  "__metadata": {
    "type": "SP.Field"
  },
  "FieldTypeKind": 2,
  "Title": "Employee Name",
  "InternalName": "EmployeeName",
  "Required": false
}
Create a Single line of text Column in SharePoint Library using Power Automate

Now, click Save and run the flow manually after it runs successfully. Go to the SharePoint site library settings to see that the SharePoint library single line of text columns has been created successfully.

How to Create a Single line of text Column in SharePoint Library using Power Automate

The Employee Name column does not show in the default view because when a column is added to a SharePoint library programmatically, it is not automatically added to the default view. We must update the library’s view to include the newly created column to ensure it is visible immediately after creation. I will tell you that in the following example.

Create Multiple lines of text Column in a SharePoint Library Using Power Automate

Create an Instant clued flow, then add a Send an HTTP request to SharePoint action and Provide the below parameter:

  • Site Address: Select the SharePoint site where your library is present
  • Method: Select “POST” as the method
  • URI: Provide the below URI:
_api/web/lists/getbytitle('Your SharePoint library Display Name')/fields
  • Headers: Add a key-value pair:
Accept: application/json;odata=verbose
Content-Type: application/json;odata=verbose
  • Body: Provide the below JSON format to create Multiple lines of text in SharePoint library:
{
  "__metadata": {
    "type": "SP.Field"
  },
  "FieldTypeKind": 3,
  "Title": "Resource Details",
  "InternalName": "ResourceDetails",
  "Required": false
}
Create Multiple lines of text Column in SharePoint Library using Power Automate

Again, add Send an HTTP request to the SharePoint action and Provide the below parameter:

  • Site Address: Select the SharePoint site where is your library
  • Method: Select “POST” as the method
  • URI: Provide the below URI:
_api/web/lists/getbytitle('Your SharePoint library Display Name')/DefaultView/ViewFields/addviewfield('Your Column Display Name')
  • Headers: Add a key-value pair:
Accept: application/json;odata=verbose
Content-Type: application/json;odata=verbose
Create Multiple lines of text Column in SharePoint Library in Power Automate

Now, click Save and run the flow manually after it runs successfully. Go to the SharePoint site to see that the SharePoint library has successfully created multiple lines of text columns.

How to Create Multiple lines of text Column in SharePoint Library using Power Automate

Add a Choice Column in a SharePoint Library Using Power Automate

Suppose you have a SharePoint library named Project Resources and want to add a Choice Column called Project Status with the options “Not Started,” “In Progress,” and “Completed.”

Now follow the below steps:

In Power Automate, create a manually triggered Instant Cloud Flow. Then, use the “Send an HTTP request to SharePoint” action from the SharePoint connector. Fill in the below details:

  • Site Address: Choose the SharePoint site where your library is located.
  • Method: Select POST from the drop-down.
  • URI: Provide the below URI:
_api/web/lists/getbytitle('Project Resources')/fields

Replace Project Resources with the name of your library.

  • Headers: Add a key-value pair:
Accept: application/json;odata=verbose
Content-Type: application/json;odata=verbose
  • Body: Provide the below JSON format to create a choice column in the SharePoint library:
{
  "__metadata": {
    "type": "SP.FieldChoice"
  },
  "FieldTypeKind": 6,
  "Title": "Project Status",
  "InternalName": "ProjectStatus",
  "Choices": {
    "results": ["Not Started", "In Progress", "Completed"]
  },
  "DefaultValue": "Not Started"
}
How to Add a Choice Column in SharePoint Library using Power Automate

To make the column visible in the default view, add another “Send an HTTP request to SharePoint” action:

URI:

_api/web/lists/getbytitle('Project Files')/DefaultView/ViewFields/addviewfield('ProjectStatus')

Run the flow manually. Then, the “Project Status” column with the specified choices will be created in the library.

Add a Choice Column in SharePoint Library using Power Automate

As you can see, the “Project Status” choice column will appear in the “Project Files” library with the options “Not Started,” “In Progress,” and “Completed,” and the default value will be “Not Started.”

You can create a choice column in the SharePoint library using Power Automate.

Create a Date Column in the SharePoint library Using Power Automate

Suppose you have a SharePoint library named “Project Communications” and want to add a “Submission Date” date column to track document submission deadlines.

To do this using Power Automate, follow the below steps:

In Power Automate, create a manually triggered Instant Cloud Flow. Then, use the “Send an HTTP request to SharePoint” action from the SharePoint connector. Provide the below details:

  • Site Address: Choose the SharePoint site where your library is located.
  • Method: POST
  • URI:
_api/web/lists/getbytitle('Project Communications')/fields
  • Headers:
Accept: application/json;odata=verbose
Content-Type: application/json;odata=verbose
  • Body:
{
  "__metadata": {
    "type": "SP.FieldDateTime"
  },
  "FieldTypeKind": 4,
  "Title": "Submission Date",
  "InternalName": "SubmissionDate",
  "Required": false
}
How to Create a Date Column in the SharePoint library using Power Automate

Now, click Save and run the flow manually after it runs successfully. Go to the SharePoint site library settings to see that the SharePoint library Date columns have been created successfully.

Create a Date Column in the SharePoint library using Power Automate

Create a Number Column in a SharePoint library Using Power Automate

To create a Number column in a SharePoint list using Power Automate, you can use the following JSON format in the Body of the Send an HTTP request to SharePoint action:

{
    "__metadata": {
        "type": "SP.Field"
    },
    "FieldTypeKind": 9,
    "Title": "Column Name",
    "InternalName": "ColumnName",
    "Required": false
}

Create a Currency Column in a SharePoint Library Using Power Automate

To create a Currency column in a SharePoint document library using Power Automate and the “Send an HTTP request to SharePoint” action, you can use the following JSON format in the Body:

{
    "__metadata": {
        "type": "SP.Field"
    },
    "FieldTypeKind": 12,
    "Title": "Currency Column Name",
    "InternalName": "CurrencyColumnName",
    "Required": false
}

Create a Person Column in a SharePoint Library Using Power Automate

Choose a trigger for your flow, such as Manually trigger a flow, then add the ‘Send an HTTP request to SharePoint’ Action and Provide the below parameters:

  • Site Address: Select the SharePoint site where your library is located.
  • Method: POST
  • Uri:
_api/web/lists/getbytitle('Project Communications')/fields
  • Headers:
Accept: application/json;odata=verbose
Content-Type: application/json;odata=verbose

Body: Provide the below JSON structure to define the Person or Group column:

{
    "__metadata": { "type": "SP.Field" },
    "FieldTypeKind": 20,
    "Title": "Assigned To",
    "Required": false
}
  • Title: The display name of the column.
  • Required: Set to true if this column should be mandatory.
Create a Person Column in a SharePoint Library Using Power Automate

Now, click Save and run the flow manually after it runs successfully. Go to the SharePoint site library settings to see that the SharePoint library Person columns have been created successfully.

How to Create a Person Column in a SharePoint Library Using Power Automate

Create a Lookup Column in a SharePoint Library Using Power Automate

Suppose you need to create a “Project Lookup” column in your document library. The column will fetch data from a SharePoint list called “Project Name.” This column will allow users to select a project from the list of available projects in the “Project Name” SharePoint list.

For this example, I created a SharePoint list called Project Name:

Create a Lookup Column in a SharePoint Library in Power Automate

Now follow the below steps:

Create an Instant cloud flow and Choose a trigger for your flow, such as Manually trigger a flow, then add the ‘Send an HTTP request to SharePoint’ Action and Provide the below parameters:

  • Site Address: Select the SharePoint site where your library is located.
  • Method: GET
  • Uri:
_api/web/lists/getbytitle('Project Name')

Replace ‘Project Name’ with the name of your SharePoint list. This request fetches the list’s metadata, including the GUID.

How Create a Lookup Column in a SharePoint Library Using Power Automate

Again, add the Send an HTTP request to SharePoint action to create a new lookup field in the document library. Provide the below parameters:

  • Site Address: Select the SharePoint site where your library is located.
  • Method: POST
  • Uri:
_api/web/lists/getbytitle('Document Library Name')/fields/addfield
  • Headers: Add a key-value pair:
Accept: application/json;odata=verbose
Content-Type: application/json;odata=verbose

Body: Provide the below JSON format to create a Lookup column in the SharePoint library:

{
  'parameters': {
    '__metadata': {
      'type': 'SP.FieldCreationInformation'
    },
    'FieldTypeKind': 7,
    'Title': 'your column title',
    'LookupListId': '@{body('Send_an_HTTP_request_to_SharePoint_GUID')?['d']?['Id']}',
    'LookupFieldName': 'your lookup column name'
  }
}
How to create a Lookup Column in a SharePoint Library Using Power Automate

Now, click Save and run the flow manually after it runs successfully. Go to the SharePoint site to see that the SharePoint library has successfully created lookup columns.

Create a Lookup Column in a SharePoint Library Using Power Automate

In the same way, if you want to create any other column, here are the FieldTypeKind values for various SharePoint field types:

Date TypeFieldTypeKind
Lookup7
Yes/No8
Hyperlink or Picture23
Calculated30

In this tutorial, we learned how to automate the creation of different types of columns in a SharePoint document library using Power Automate. We covered adding a variety of columns, including single-line text, multiple-line text, Choice, Date, Number, and Currency columns.

Related Power Automate articles:

>

Build a High-Performance Project Management Site in SharePoint Online

User registration Power Apps canvas app

DOWNLOAD USER REGISTRATION POWER APPS CANVAS APP

Download a fully functional Power Apps Canvas App (with Power Automate): User Registration App

Power Platform Tutorial FREE PDF Download

FREE Power Platform Tutorial PDF

Download 135 Pages FREE PDF on Microsoft Power Platform Tutorial. Learn Now…