Handling SharePoint List's Multi-Select People or Groups Column in Power Automate
Problem: Copying a SharePoint list to another and encountered this error with the multi-select People or Group column: The 'inputs.parameters' of workflow operation 'Create_item' of type 'OpenApiConnection' is not valid. Error details: The API operation does not allow writing a value for parameter 'item/ColumnName[0]/Email'. This parameter is read only.
The solution:
When working with SharePoint's multi-select People or Group Column, SharePoint requires the data to be formatted as an array of objects. Each object must have the following structure:
{
"Claims": "i:0#.f|membership|user@domain.com"
}
Without this format, Power Automate will throw errors when updating the column.
Solution
1. Use a Select Action
To format the Assigned_To
field correctly, add a Select action inside an Apply to each
loop:
- From: Select the
Assigned_To
field from the dynamic content. - Map:
- Key:
Claims
- Key:
Value: Use the expression:
concat('i:0#.f|membership|', item()?['Email'])
This converts the People or Group Column array into the correct format.
2. Pass the Formatted Data to the Create Item
Action
In the Create Item
action:
- For the People or Group Column, use the output of the Select action. SharePoint will accept the formatted array.
Example Use Cases
- Archiving Tasks: Move completed tasks from one SharePoint list to another, ensuring the People or Group Column is correctly updated.
- Cloning Items: Duplicate items with all fields, including multi-select People fields, to another list.
- Approval Flows: Add approvers to a new SharePoint list item based on a dynamic selection of users.
- Data Migration: Transfer data from an old SharePoint list to a new one while retaining People column values.
This method ensures the People or Group Column works without errors, simplifying your workflows.