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.

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

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.

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.

My completed Flow looks like the image below:

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

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.

Thanks for reading.
NY
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?
LikeLike
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!
NY
LikeLike
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?
LikeLike
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.
NY
LikeLike
Hi! This happened to me too. To fix this, make sure to click the “switch to entire array” icon next to the choice field before adding the array to the choice field.
LikeLiked by 1 person
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”?
LikeLike
Hi Bryce,
The Initialize variable, Append to variable steps should be between the Get item and Create item steps.
I hope this helps.
NY
LikeLike
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?
LikeLike
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!
NY
LikeLike
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/
LikeLike
Hi David,
That sounds like a great next blog post!
Thanks for reading!
NY
LikeLike
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.
LikeLike
Hi Kate,
I’ll dig into this one and if it works create a blog post around it. More to follow.
Thanks for reading!
NY
LikeLike
Hello! Wondering if you tested this. I am trying to do this with a Lookup field. Thanks!
LikeLike
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
LikeLike
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.
NY
LikeLike
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?
LikeLike
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!
NY
LikeLike
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!
LikeLike
Glad to hear it Karen!
LikeLike
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.
Thanks
LikeLike
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!
NY
LikeLike
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?
Best,
Jordan
LikeLike
Hi Jordan,
Ah this is a tricky one with a simple fix. If you notice in the sample image – https://normanyoungblog.files.wordpress.com/2020/10/image-22.png – for the Create item action you have 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.
I’ll update the blog post reflect this shortly.
Thanks for reading!
NY
LikeLike