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

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.