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:

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).

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
}
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.

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
}
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
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.

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')/fieldsReplace 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"
}
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.

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
}
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 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=verboseBody: 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.

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.

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:

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.

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=verboseBody: 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'
}
}
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.

In the same way, if you want to create any other column, here are the FieldTypeKind values for various SharePoint field types:
| Date Type | FieldTypeKind |
|---|---|
| Lookup | 7 |
| Yes/No | 8 |
| Hyperlink or Picture | 23 |
| Calculated | 30 |
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:
- Get Current Date in Power Automate
- Move Email to Folder Using Power Automate
- Save an Email Message to SharePoint Using Power Automate
- Create File Using Power Automate
- Add Days to Date in Power Automate
- How to Parse JSON Object to Array in Power Automate

After working for more than 18 years in Microsoft technologies like SharePoint, Microsoft 365, and Power Platform (Power Apps, Power Automate, and Power BI), I thought will share my SharePoint expertise knowledge with the world. Our audiences are from the United States, Canada, the United Kingdom, Australia, New Zealand, etc. For my expertise knowledge and SharePoint tutorials, Microsoft has been awarded a Microsoft SharePoint MVP (12 times). I have also worked in companies like HP, TCS, KPIT, etc.