Last Updated:
In this blog post, we’ll explore the process of updating a SharePoint person column using both Power Automate and Power Apps. By the end of this post, you will have a clear understanding of how to effectively update person columns in SharePoint using these powerful tools.
CONTENT:
- Updating a People column in Power Automate
- Patching a People column in Power Apps
- Updating a MULTI-SELECT People column in Power Automate
- Updating a MULTI-SELECT People column in Power Apps
- How to CLEAR a People column using Power Automate
- How to CLEAR a People column using Power Apps
- Watch Out!
In the examples below I will use a SharePoint List called Acronyms. This list has a Person type columns called “Added By”:

1. Updating a People column in Power Automate
1.1 Using SharePoint actions to update a People column in Power Automate
In this example I will update the “Added By” column using the following property:
USAGE:
<userPrincipalName>
EXAMPLE:
JohannaL@onmicrosoft.com
The userPrincipalName (UPN) of the person is usually the same as the person’s email address.
The user Principal Name will be used with a Claim. A Claim is simply a piece of information (an attribute or property) about the user (the Azure AD user object).


Specifying the full Claims property works too
USAGE:
i:0#.f|membership|<userPrincipalName>
EXAMPLE:
i:0#.f|membership|JohannaL@onmicrosoft.com
This is how we use the full Claims property syntax:


However, using just the UPN is simpler as the value is automatically converted to a “Claims” object.
1.2 Using a HTTP request to update a People column in Power Automate
The following example shows how we can also use the HHTP request action to update a person column:

Uri:
_api/web/lists/GetByTitle('Acronyms')/items(66)/validateUpdateListItem
Method: POST
Body:
{
"formValues":[
{
"FieldName": "AddedBy",
"FieldValue": "[{'Key':'AlexW@dev365.com'}]"
}
]
}
2. Patching a People column in Power Apps
In the example below the “Added By” column is a People Only column and multiple selections are not allowed:

USAGE:
<Column-Name>: {
Claims: "<userPrincipalName>",
DisplayName: "",
Email: "",
Picture: "",
Department: "",
JobTitle: ""
}
EXAMPLE:
Patch(
Acronyms,
Defaults(Acronyms),
{
'Added By': {
Claims: "JoniS@onmicrosoft.com",
DisplayName: "",
Email: "",
Picture: "",
Department: "",
JobTitle: ""
}
}
)
The userPrincipalName (UPN) of the person is usually the same as the person’s email address.
The user Principal Name will be used with a Claim. A Claim is simply a piece of information (an attribute or property) about the user (the Azure AD user object).
The following code example patches a People column called AddedBy where multiple selections are not allowed:

Specifying the full Claims property works too
USAGE:
<Column-Name>: {
Claims: "i:0#.f|membership|<userPrincipalName>",
DisplayName: "",
Email: "",
Picture: "",
Department: "",
JobTitle: ""
}
3. Updating a MULTI-SELCT People column in Power Automate
In the example below the “Added By” column is a People Only column that allows multiple selections:

3.1 Updating a MULTI-SELCT People column with a SINGLE Person in Power Automate
To update a People column where multiple selections are allowed we must use an array. The array must be formatted as an array of JSON objects as the examples below will illustrate.
To update a multi-select People column with a single person the array will contain only a single entry or Claim:
USAGE:
[
{
"Claims": "<userPrincipalName>"
}
]
EXAMPLE:
[
{
"Claims": "JohannaL@onmicrosoft.com"
}
]
The userPrincipalName (UPN) of the person is usually the same as the person’s email address.


Specifying the full Claims property works too
USAGE:
[
{
"Claims": "i:0#.f|membership|<userPrincipalName>"
}
]
EXAMPLE:
[
{
"Claims": "i:0#.f|membership|AlexW@dev365.com"
}
]
This is how we use the full Claims property syntax with an array:


However, using just the UPN is simpler as the value is automatically converted to a “Claims” object.
3.2 Updating a MULTI-SELCT People column with MULTIPLE Persons in Power Automate
To update a multi-select People column with multiple persons we simply add a Claims row for each person to the array:
USAGE:
[
{
"Claims": "<userPrincipalName #1>"
},
{
"Claims": "<userPrincipalName #2>"
},
{
"Claims": "<userPrincipalName #3>"
}
]
EXAMPLE:
[
{
"Claims": "JohannaL@onmicrosoft.com"
},
{
"Claims": "HenriettaM@onmicrosoft.com"
},
{
"Claims": "DiegoS@onmicrosoft.com"
}
]
The userPrincipalName (UPN) of the person is usually the same as the person’s email address.
To update a multi-select column with a multiple persons the array is formatted as an array of JSON objects containing one or more items (or Claims):


Specifying the full Claims property works too
To update a multi-select People column with multiple persons we simply add a Claims row for each person to the array:
USAGE:
[
{
"Claims": "i:0#.f|membership|<userPrincipalName #1>"
},
{
"Claims": "i:0#.f|membership|<userPrincipalName #2>"
},
{
"Claims": "i:0#.f|membership|<userPrincipalName #3>"
}
]
EXAMPLE:
[
{
"Claims": "i:0#.f|membership|JohannaL@onmicrosoft.com"
},
{
"Claims": "i:0#.f|membership|HenriettaM@onmicrosoft.com"
},
{
"Claims": "i:0#.f|membership|DiegoS@onmicrosoft.com"
}
]
The userPrincipalName (UPN) of the person is usually the same as the person’s email address.
To update a multi-select column with a multiple persons the array is formatted as an array of JSON objects containing one or more items (or Claims):


4. Updating a MULTI-SELCT People column in Power Apps
In the example below the “Added By” column is a People Only column that allows multiple selections:

4.1 Updating a MULTI-SELCT People column with a SINGLE Person in Power Apps
To update a multi-select People column where multiple selections are allowed, we use the Power Apps Table function.
To update the multi-select People column with a single person or multiple persons we create a table using the properties of the People column:
USAGE:
<Column-name>: Table(
{
Claims: "<userPrincipalName>",
DisplayName: "",
Email: "",
Picture: "",
Department: "",
JobTitle: ""
}
)
EXAMPLE:
Patch(
Acronyms,
Defaults(Acronyms),
{
'Added By': Table({
Claims: "DiegoS@onmicrosoft.com",
DisplayName: "",
Email: "",
Picture: "",
Department: "",
JobTitle: ""
}
)
}
)
Use the userPrincipalName (UPN) of the person is usually the same as the person’s email address, but not always.
Specifying the full Claims property works too
USAGE:
<Column-name>: Table(
{
Claims: "i:0#.f|membership|<userPrincipalName>",
DisplayName: "",
Email: "",
Picture: "",
Department: "",
JobTitle: ""
}
)
EXAMPLE:
Patch(
Acronyms,
Defaults(Acronyms),
{
'Added By': Table({
Claims: "i:0#.f|membership|DiegoS@onmicrosoft.com",
DisplayName: "",
Email: "",
Picture: "",
Department: "",
JobTitle: ""
}
)
}
)
4.2 Updating a MULTI-SELCT People column with MULTIPLE Persons in Power Apps
To update a multi-select People column with multiple persons we simply add a Claims record for each person to the array:
USAGE:
<Column name>: Table(
{
Claims: "<userPrincipalName #1>",
DisplayName: "",
Email: "",
Picture: "",
Department: "",
JobTitle: ""
},
{
Claims: "<userPrincipalName #2>",
DisplayName: "",
Email: "",
Picture: "",
Department: "",
JobTitle: ""
},
{
Claims: "<userPrincipalName #n>",
DisplayName: "",
Email: "",
Picture: "",
Department: "",
JobTitle: ""
}
)
To update the multi-select People column with a multiple persons we create a table using the properties of the People column and add a Claims record for each person to the array:
EXAMPLE:
Patch(
Acronyms,
Defaults(Acronyms),
{
'Added By': Table(
{
Claims: "DiegoS@onmicrosoft.com",
DisplayName: "",
Email: "",
Picture: "",
Department: "",
JobTitle: ""
},
{
Claims: "IsaiahL@onmicrosoft.com",
DisplayName: "",
Email: "",
Picture: "",
Department: "",
JobTitle: ""
}
)
}
)
Specifying the full Claims property works too
USAGE:
<Column name>: Table(
{
Claims: "i:0#.f|membership|<userPrincipalName #1>",
DisplayName: "",
Email: "",
Picture: "",
Department: "",
JobTitle: ""
},
{
Claims: "i:0#.f|membership|<userPrincipalName #2>",
DisplayName: "",
Email: "",
Picture: "",
Department: "",
JobTitle: ""
},
{
Claims: "i:0#.f|membership|<userPrincipalName #n>",
DisplayName: "",
Email: "",
Picture: "",
Department: "",
JobTitle: ""
}
)
5. How to CLEAR a People column using Power Automate
To clear or set a People column to empty or blank is not obvious, so this sections will cover how we do this using a HTTP request:
- 5.1 Clear a SINGLE select People column
- 5.2 Clear a MULTI-SELCT People column
5.1 Clear a SINGLE select People column in Power Automate
We will need to use a HTTP request to clear a People column. But before we can do this we need get something called the ListItemEntityTypeFullName.
Get the ListItemEntityTypeFullName
To perform the clear operation, you must know the ListItemEntityTypeFullName property of the list. This property is easy to obtain. We will use the ListItemEntityTypeFullName value in the second step when we clear the People column.
One way to get the ListItemEntityTypeFullName is to use the following rest API call:
USAGE:
Method: GET
Uri:
_api/web/lists/GetByTitle('<List-Name>')?$select=ListItemEntityTypeFullName
Headers:
{
"Accept": "application/json;odata=nometadata"
}
EXAMPLE:
Method: GET
Uri:
_api/web/lists/GetByTitle('Acronyms')?$select=ListItemEntityTypeFullName
Headers:
{
"Accept": "application/json;odata=nometadata"
}

Examine the runtime output of the request to get the text for the ListItemEntityTypeFullName:

In the example above the HTTP request to get the ListItemEntityTypeFullName value is found to be SP.Data.AcronymsListItem. Therefore the ListItemEntityTypeFullName for my list Acronyms is SP.Data.AcronymsListItem. This property value will be used in the next HTTP request to clear the People column.
Here is another example using a list named “Travel Requests Approvals”:

In the second example above the HTTP request to get the ListItemEntityTypeFullName value is found to be SP.Data.Travel_x0020_Requests_x0020_ApprovalsListItem. Therefore the ListItemEntityTypeFullName for the list “Travel Requests Approvals” is SP.Data.Travel_x0020_Requests_x0020_ApprovalsListItem.
Using a HTTP request to Clear a SINGLE select People column in Power Automate

Here is an example of clearing the Added By column from a SharePoint List called Acronyms where the list item ID is 80. The “type” property for the list Acronyms is SP.Data.AcronymsListItem which we obtained in the previous step.

➡️ Use the SharePoint internal name for the People column in the Body of the HTTP request and not the display name. For example, in the Acronyms list I have a column named “Added By” and this is also known as the display name of the column “Added By”. But the “Added By” column also has an internal SharePoint name “AddedBy” and I need to use this internal name in the HTTP requests.
USAGE:
Method: POST
Uri:
_api/web/lists/GetByTitle('<List-Name>')/items(<Item-ID>)
Headers:
{
"IF-MATCH": "*",
"X-HTTP-Method": "MERGE",
"Content-Type": "application/json;odata=verbose",
"Accept": "application/json;odata=verbose"
}
Body:
{
"__metadata": {
"type": "<ListItemEntityTypeFullName>"
},
"<Column-Name>StringId": "",
"<Column-Name>Id": -1
}
EXAMPLE:
Method: POST
Uri:
_api/web/lists/GetByTitle('Acronyms')/items(80)
Headers:
{
"IF-MATCH": "*",
"X-HTTP-Method": "MERGE",
"Content-Type": "application/json;odata=verbose",
"Accept": "application/json;odata=verbose"
}
Body:
{
"__metadata": {
"type": "SP.Data.AcronymsListItem"
},
"AddedByStringId": "",
"AddedById": -1
}
“-1” is the “magic” value that clears the People column
Error Message: “The property ‘<Column-Name>StringId’ does not exist ….”
Check that you have entered the property names correctly.

If you examine the runtime output of the HTTP action you can confirm both properties:

The HTTP action may work without the <Column-Name>StringId, though best practice indicates that this should be included in the body.
5.2 Clear a MULTI-SELCT People column in Power Automate
In the example below the “Added By” column is a People Only column and multiple selections are allowed:


USAGE
Method: POST
Uri:
_api/web/lists/GetByTitle('<List-Name>')/items(<item-ID>)/validateUpdateListItem
Body:
{
"formValues":[
{
"FieldName": "<column-name>",
"FieldValue": "[]"
}
]
}
➡️ Use the SharePoint internal name for the People column in the Body of the HTTP request and not the display name. For example, in the Acronyms list the column display name is “Added By” but its internal name is “AddedBy”:
EXAMPLE:
Method: POST
Uri:
_api/web/lists/GetByTitle('Acronyms')/items(80)/validateUpdateListItem
Body:
{
"formValues":[
{
"FieldName": "AddedBy",
"FieldValue": "[]"
}
]
}

📝 SIDE NOTE: One parameters we could add to THE HTTP action is the 'bNewDocumentUpdate' parameter. By adding this parameter to the request HTTP Body we can tell the update to not create another item version. In other words when bNewDocumentUpdate is set to true the list item will be updated without creating a new version.
{
"formValues": [
{
"FieldName": "AddedBy",
"FieldValue": "[]"
}
],
"bNewDocumentUpdate": true
}
See: Update SharePoint column without new item version in Power Automate
6. How to CLEAR a People column using Power Apps

To clear a People column in Power Apps we can simply use the Blank() function. Blank is a placeholder for “no value” or “unknown value.” We can use blank for both single or multi-select People columns.
Patch(
Acronyms,
LookUp(Acronyms, ID = 80),
{
'Added By': Blank()
}
)
7. Watch Out!
7.1 No Spaces in the Claim Property

Make sure that there are no spaces in the Claims value.
7.2 How to find a user’s UPN

Leave a Reply