Use Power Automate to copy multiple selections from Choice columns between Microsoft Lists

In this blog post I will show how to copy multiple selected Choice column values to another list. This post is a supplement to Use Power Automate to move Microsoft Lists items to another list.

I am using two lists called Source and Destination. Both Lists have a choice column called “Choice” that allows multiple selections.

Choice column with allow multiple selections

Create a new Flow from the Source list > Automate > Power Automate > See your Flows > Create new > Automated from blank. Provide a Flow name, i.e. “Source to Destination”, select the SharePoint “When an item is created” trigger and click “Create”.

When an item is created

Insert a new “Initialize variable” step. Set Name to “varChoice” and Type to “Array”.

Insert a new “Append to array variable” step. Set Name to “varChoice” and Vale to:

"Value": "@{items('Apply_to_each')?['Value']}"

“Choice” will cause the “Append to array variable” to be contained in a “Apply to each” loop.

Append to array variable

Insert a new SharePoint “Create item” step. Set Site Address to your target site and destination list. Set Title to “Title” and Choice to “varChoice”.

Important: make sure to switch the Choice column to “Switch to detail inputs for an array item”. Hint: its a small icon to the right of the Choice section.

SharePoint create item

My completed Flow looks like the image below:

Completed FLow

Test by creating a new entry in the “Source” list with multiple selections in the “Choice” column.

Test item

The “Append to array variable” step will create the following string:

{    "Value": "Choice 1"  },  {    "Value": "Choice 2"  },  {    "Value": "Choice 3"  }

Microsoft Lists will interpret these values as valid choice selections.

Destination item

Thanks for reading.


24 thoughts on “Use Power Automate to copy multiple selections from Choice columns between Microsoft Lists

  1. how would this look for a form with more than one multiple questions with the same goal of having the flow add and populate an item in the list from the form. Would it be easiest to have a parallel branch with a delay for each choice variable?


    1. Hi arkoz,

      You would have to duplicate the variable and apply to each section. I don’t think you need a parallel branch.

      Thanks for reading!



  2. Is it possible to transfer the data from my column called “Markets” from a multiple choice source list to a column called “Markets” but made of line of text in the destination list? I was told this is the best way if I want to use my flow to be used on another list in a different language (Spanish, French, etc) The process seems to work fine for me if I do multiple choice to multiple choice. But the destination list doesn’t need the same visual display of the information like the Source list. My destination says { “Value”: “Choice 1”}, {“Value”: “Choice 2” }, instead of just Choice 1, Choice 2. Can you help?


    1. Hi Kerlyne,

      Yes, it is possible using an expression. In my sample code, the column name is “Products”.

      join(xpath(xml(json(concat(‘{“body”:{“value”:’, item()?[‘Products’] , ‘}}’))), ‘/body/value/Value/text()’), ‘, ‘)

      I hope that helps and thanks for reading.



  3. Hello Norm, I am trying to create a flow exactly like the one in your article “Use Power Automate to move Microsoft Lists items to another list”. But I also have a choice column in the source list that needs to copy to a choice column in the destination list. However, I’m having trouble with creating the “Append to array variable” discussed in this article. Could you explain in further detail how to integrate the choice variable array into the flow in your article “Use Power Automate to move Microsoft Lists items to another list”?


    1. Hi Bryce,

      The Initialize variable, Append to variable steps should be between the Get item and Create item steps.

      I hope this helps.



  4. I set this flow up and it works great except for that it is copying over all available choices. How can I alter it so it only copies over the selected choices?


    1. Hi Hannah,

      The array variable needs to be reset after the create item step. I’ll update the blog post to show this. In the meantime, create a new array variable and don’t specify a value. Add a new set variable action after the create item step and set varChoice to the new empty variable.

      Hope that makes sense and thanks for reading!



  5. Hi Norm. Thanks for this solution, it worked perfectly for copying a multiple choice where the field values were just words. However, it doesn’t seem to work when it is a multiple choice/value Person field (i.e. AD Account names). Any thoughts on how to copy that kind of value? There doesn’t appear to be a “Contact Value” field available. Thanks/


      1. Could you please help with this issue? I have searched high and low for an answer and am totally stumped. Trying to set up an archive list to move items to once complete, but one field is a “person” field with multiple entries (for team members)–it just creates separate items on the new list for each name when I run.


      2. Hi Kate,

        I’ll dig into this one and if it works create a blog post around it. More to follow.

        Thanks for reading!



  6. Hi Norm,

    I am using the trigger of this post, but to then put the value of the choice into a word template. So I start with when item is created or modified, on a list on sharepoint, I want it to create a word doc from a template. The only point where I still get an error, is in the fields that I allowed as multiple choice. Do you think it would work, by doing it exactly the same and referencing to varchoice in the field of the word template? Thank you


    1. Hi Mari,

      I think it could work but the text would include the additional string characters stored in the variable. You should look at concatenating the multiple choices into a single string “Choice 1, Choice 2, Choice 3” using a “Apply to each” loop and “Append to string variable” action.

      I hope that helps.



  7. My flow contains a switch. The trigger, “When an item is created or modified,” goes directly to the switch.

    Flow is having me do the initialize and append variable steps before the switch, but my “Create item” is inside the switch. When I go to add the “varChoice” option to that field, it does not appear in dynamic content.

    Is it possible to use the initialize variable with a switch? Or, is there a longer code for “varChoice” that I can use inside my expression?


    1. Hi Karen,

      I believe the variable needs to be declared prior to the Switch so it remains in scope.

      I hope that helps and thanks for reading!



      1. I figured it out!

        I was struggling to add the varChoice purple step to my list column in the “Create item” step because the option to add it did not show in the dynamic content list. I finally noticed the option to toggle between “text” and “array” to the right of this column option; my flow showed as the letter T. (Above yours shows as already selected to be the array.)

        Once I toggled it changed to an “array” icon and the purple varChoice option appeared on the dynamic content list.

        Thanks so much!


  8. Hi Norm,

    Do you know if this would work when creating an item on a SharePoint calendar? I have a flow that creates an item on a calendar based on a SharePoint list that has columns that allow multiple selections. If multiple selections are picked, I get multiple items created.



    1. Hi Logan,

      I don’t know for sure but I think its a reasonable approach as most SPO calendars are a list on the backend.

      Thanks for reading!



  9. Hey Norm!

    I hope this finds you well. I am trying to replicate the exact same flow with the one change of trigger being “When an item is created or updated”. The issue I seem to be experiencing is that the variable is not available from my dynamic content in the create step at the end of the flow. Do you have any suggestion as to why this might be happening?




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s