Use Power Automate to move Microsoft Lists items to another list

In this blog post I will show how to use a “button” to “move” an item from one list to another using JSON column formatting. The Create a button to launch a Flow for the selected item JSON code was developed Chris Kent and I have used it to great effect when manual archiving items was required. I am using two copies of the Microsoft Lists Issue Tracker template for my examples. The source list is call “Issue tracker” and the destination list in called “Issue tracker archive”.

Microsoft Lists Issue tracker and Issue tracker archive

Let’s create a simple Flow that will copy the selected row to the destination list. Create a new Flow by clicking “Automate” > “Power Automate” > “See your flows”.

Automate, Power Automate, See your flows

Click “New” > “Instant-from blank”.

Instant from blank

Provide a Flow name, I.e. “Issue tracker – Archive”, select the “For a selected item” trigger and click “Create”.

SharePoint For a selected item

Set the “Site Address” and “List Name” to your source site and list (Issue tracker).

SharePoint For a selected item

Click “New step”, search for “SharePoint” and select the “Get item” action. 

Set the “Site Address” and “List Name” to your source site and list (Issue tracker).

Set “Id” to “ID” from the “For a selected item” trigger.

SharePoint Get item

Click “New step”, search for “SharePoint” and select the “Create item” action. 

Set the “Site Address” and “List Name” to your destination site and list (Issue tracker archive).  Set all other fields to the matching fields from the “Get item” action.

SharePoint Create item

Click “New step”, search for “SharePoint” and select the “Delete item” action. 

Set the “Site Address” and “List Name” to your source site and list (Issue tracker).  

Set “Id” to “ID” from the “Get item” trigger.

SharePoint Delete item

My completed Flow looks like the image below.

My completed Flow

Save and test your Flow by going to the source list, select a list item, click “Automate” and then click “Issue tracker – Archive”. Click “Run flow”

Automate, Issue tracker - Archive

If all goes well the selected item will be created in the destination list and deleted from the source list.

Copied row to archive

Let’s add the “button” to the source list by adding a new “Single line of text” column called “Flow”.

Create column

Copy the JSON the code from Github.

Format the “Flow” column by clicking “Column settings” and then “Format this column”.

Column settings, Format this column

Click “Advanced mode” and paste in the JSON code.

JSON code

Replace the highlighted Flow ID with the ID with your newly created Flow.

  1. Clicking “Automate” > “Power Automate” > “See your flows”.
  2. Click on the “Issue tracker – Archive” Flow.
  3. Copy the ID from the end of the URL, between “flows/” and “/details”

Click “Save” to save your changes.

Now for the cool part. Click the “It’s Flow Time!” button on your source list item and if you copied the Flow ID correctly your “archive” item will execute.

I like this pattern for deferring items for later use where a business process object transitions from one state to another (i.e. short term vs long term) and business rules are applied differently between states.

Thanks for reading.

NY

34 thoughts on “Use Power Automate to move Microsoft Lists items to another list

  1. Hey Norm,

    Do you know if there Is anyway to use power automate from Microsoft lists in a non default environment?

    I can’t seem to get “for a selected record” to work for a JSON button that I made with column formatting

    Like

  2. This is awesome. Thanks so much! Question – my list items have photos in them and they are not being copied over. Any ideas?

    Like

      1. I’m running into a similar issue with Comments. The Comment column in my source list doesn’t retain the comments in the Archived list. How can I get the comments to archive as well?

        Like

      2. Hi Pete,

        Comments are a tough one to bring over and require using the SharePoint REST API to perform the extraction. If you want to look into this further you’ll need to Create Graph API Connector for use in your Flow. I wrote about this before https://normyoung.ca/2020/11/27/use-ms-lists-and-power-automate-to-provision-private-channels-in-teams/.

        Probably not what you want to hear but that is what is required at this point in time.

        Thanks for reading!

        NY

        Like

  3. Hi Norm, thanks for the post. Quick question – my source list has several columns with multiple selections. Because of this, when I run this flow for a single item in my source list, multiple rows are being created in my destination list, each with a unique combination of variables. I saw your supplemental post Use Power Automate to copy multiple selections from Choice columns between Microsoft Lists, but I’m getting stuck on how to integrate that flow with the one you’ve outlined above. I’m just trying to copy items exactly as they appear in the source list to the destination list (don’t need to delete anything). Is there a way to do everything in a single flow?

    Like

  4. Hi, can you please help, how to move a selected sharepoint list items to a new list along with attachment file.

    Like

  5. Hi Norm,
    Greatly appreciate the images above but had a clarifying question. Background – I am needing to create a flow that will copy source information and create/add a new row of information from source list to destination list based on a trigger (‘completed’ status), then have the flow delete the copied row of information from source list (to keep the list clear of all completed projects/implementations/etc. Is that possible and if so what would the flow look like? I believe my company has the standard sharepoint package…

    Like

  6. Hi Norm, Do you have a sollution how to incorporate attachments that should also be copied from one list to the other together wih the list item?

    Like

    1. Hi Willem,

      No, but I do have the building blocks in other solutions. Let me put together something and get back to you.

      Thanks for reading!

      NY

      Like

  7. Thank you for the detailed instructions. I followed the directions to create the flow, but am unable to Test it from Power Automate. When I try to test it from the Source list, I select an item, but I do not see the newly created flow in the Automate… menu. Is there something else I need to do to tie the flow to the list? Or is there another way to trigger the flow other than from selecting the item? I do not want to use when an item is created, because we only want to use this flow when an item is ready to moved to the new list, as in your example.

    Like

    1. Hi RG,

      Is the trigger, For a selected item? This trigger is the only way to get the Flow to display in the context of the list.

      Thanks for reading!

      NY

      Like

  8. Hi Norm ,

    I have created a List put Im unable to search for number column , I have used ListItemID in search tab and it is still not working , Looking forward for your help , Thank you

    Like

    1. Hello Sunit,

      Copying number columns does work with this Flow pattern. The source and destination list column types much align for the Create item action to work as expected.

      I hope this helps and thanks for reading!

      NY

      Like

  9. Hi Norm, Thank you for this, this was exactly what I was looking for. However, when I have Run the Flow. The item is created in the “archive” but doesn’t delete from the “source”. Can you advise where I might be going wrong? Thanks in advance

    Like

    1. Hi Julie,

      Make sure you are using the “ID” from the “Get item” trigger (aka Source).

      Let me know how you make out and thanks for reading!

      NY

      Like

  10. This solution works great for us, however we can click the ‘Flow’ link multiple times and add that list item that many times to the new list. How do you check the receiving list first to determine if the source list ID is already there in order to prevent duplicates?

    Like

    1. Hi Alysa,

      The source and destination ID’s will never match. You could check for the existence of row in destination using a Get items action and condition to see rows match.

      A different approach is to have a choice column in source that indicates that it was copied or not. If not copied then allow the Flow to run.

      I hope this helps and thanks for reading!

      NY

      Like

  11. Hey Norm,
    Great way, work just fine, I’ve also learned from your blog how to transfer elements with attachments and here I’ve faced one issue. Attachments were uploaded with delay or were not uploaded at all. How do you think, why it’s like that? maybe something wrong with the permissions (access to flow have 2 person)

    Like

    1. Hi Evgeniy,

      Attachment size might be an issue. Check the Form for the single file size settings and then test accordingly.

      Thanks for reading!

      NY

      Like

Leave a Reply to Dylan Cancel reply

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

WordPress.com Logo

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

Twitter picture

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

Facebook photo

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

Connecting to %s