How to copy pages between SharePoint sites using Microsoft Lists and Power Automate

Sometimes, you may need to copy a SharePoint page from one site to another. For example, you may want to reuse a page as a template, update a page with new information, or migrate a page to a different site collection. However, there is no out-of-the-box solution to achieve this between sites. You may have to manually recreate the page on the destination site or use a third-party tool or script to copy the page.

Fortunately, you can use the tools you already have in your Microsoft 365 license to create a copy/migration solution for pages using Microsoft Lists and Power Automate. In this blog post, I will show you how to use Microsoft Lists and Power Automate to copy pages between SharePoint sites.

Copy SharePoint pages between sites

Scenario

Let’s say you have a SharePoint site for your department, where you create and publish pages with news, announcements, and reports. You have recently reorganized your department structure, and some of these pages belong to another department now. You want to move these pages to the SharePoint site of the new department, where they can be maintained and updated by the relevant people. You may want to delete the original pages on your department site, or keep them as backup in the original site, just in case you need to refer to them later.

Solution

To create a copy/migration solution for pages using Microsoft Lists and Power Automate, you need to follow these steps:

  1. Create a list where you will store the information about the pages being copied, to make it widely accessible to other users who manage your SharePoint tenant I suggest you create the list in the global App Catalog site
  2. In the Copy Pages list you will need to create the following columns:
    • Title (Text) – Created by default, this column will be used to store the URL of the site where the page is located
    • Page to Copy (Text) – Library name and name of the page being copied
    • Destination Site (Text) – URL where the page will be moved
    • Delete Original (Yes/No) – This column will be used to delete or keep the original page on the site

    Copy SharePoint pages between sites

  3. Open Power Automate and create a new Automated cloud flow
  4. Give a name to your flow and choose the trigger When an item is created from the SharePoint connector
  5. Select the site where you created the list and then select the list name
  6. Click in the New step button and search for the Copy file action on the SharePoint connector
  7. Fill the action with the values from the list as shown in the following image. To have access to the columns form the Copy list, in the drop down menu click Enter custom value
  8. Click in the New Step button again and add a Condition control, this is where the original page will be deleted or kept in the original site
  9. In the If yes branch, add the action delete file from the SharePoint connector and configure it as shown in the following picture
  10. In the file identifier use the expression below
  11. replace(triggerOutputs()?['body/PagetoCopy'],'/','%252f')

  12. Save and test your flow by adding an item to the copy list

 

Use the list and the flow to copy pages

To copy a page from your source site to your destination site, simply add a new item to your list, just make sure the Page to Copy does not start with a /.

The flow will run automatically every time someone adds an item to the list and will copy the page to the destination site and delete the original one if you have checked that option in the list.

You must check the status of the copied page on the new SharePoint site, any reference to images or documents pointing to the previous site must be changed before publishing it to make sure your users continue to have access to all the information.

If you want to see the process in action have a look to the video below and make sure you subscribe to my YouTube channel to receive more tips and tricks like this one.


2 Responses to “How to copy pages between SharePoint sites using Microsoft Lists and Power Automate”

  1. Jan Headrick

    January 26, 2024

    Hello! Will this process work with multi-language pages? I always find the translation connections break with Power Automate.

    Reply
    • João Ferreira

      February 2, 2024

      Hi Jan,

      Still need to test it with multi language pages and with page templates.
      As is it will not get the translations, I need to check if just by copying them to the site pages it assumes the translated version automatically.

      Have a nice day 🙂

      Reply

Leave a Reply


I've been working with Microsoft Technologies over the last ten years, mainly focused on creating collaboration and productivity solutions that drive the adoption of Microsoft Modern Workplace.

%d bloggers like this: