web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Copy a SharePoint list...
Power Apps
Unanswered

Copy a SharePoint list Power Apps custom form

(1) ShareShare
ReportReport
Posted on by 1,594

This is a copy of the procedure described 4 years ago within the comments of this idea  https://ideas.powerapps.com/d365community/idea/6a081f72-16d3-4b5b-91bc-7698ca5e4159 which explains how to copy a SharePoint list form customized with Power Apps from a source site collection to a destination site collection.

 

IMPORTANT - This procedure is provided as is and I cannot be held responsible for any damage subsequent to following these steps (which, by the way I haven't tested for a couple of years now).

 

<<

Hi all,

Since many of you seem to encounter different problems when it comes to transporting or duplicating a SharePoint form from one place to another, I'll take some time here to describe the procedure in details (which, by the way, works fine for me for customized SharePoint forms AND for canvas PowerApps applications). I'll discuss also the use of PowerApps environments.

The most common case (I suppose) is when you wish to copy a SharePoint form customized with PowerApps from one site collection (i.e. DEVELOPPEMENT) to another (i.e. VALIDATION). Globally speaking, there are 4 steps to do so:

  1. Extract your SharePoint form from PowerApps into a ZIP file
  2. Convert your ZIP file to replace all DEV urls and GUIDs with VAL urls and GUIDs
  3. Import your converted ZIP file into PowerApps
  4. Publish the imported form

I. Extracting the SharePoint form

In this step you will extract the SharePoint customized form from your source (i.e. DEV site collection) using PowerApps native EXPORT feature to produce a ZIP file. Here is what you have to do:

  1. Go to the SharePoint list where you have your customized form that you wish to copy/transport
  2. From the gear menu, choose the List settings option
  3. In section General settings click on the Form settings link
  4. There you should have the second radio button checked (Use a custom form created in PowerApps...)
  5. Right under this radio button you will see some links. Click on the link called See versions and usage
  6. You will then be redirected to PowerApps on your form's details page
  7. There, click on the Export package (preview) button. You are redirected to the export package page.
  8. Give a name to your package (I prefer to use only alphanumeric characters here, no spaces, dashes and underscores... just in case). Let's say I call it MyForm.
  9. Don't touch anything else (even the IMPORT SETUP parameter which, in any case, will be prompted again during the import phase)
  10. Just click the Export button
  11. Your package is generated and the system shows up a file dialog box so you can save your ZIP file (by default, the system names it: <name in step 8>_AAAAMMDDHHmmss.zip); so in my example, its name is MyForm_20190514201458.zip). Feel free to give it another name of course.

II. Converting the package

Now comes the interesting part: replacing all source site collections urls and GUIDs in the package with all destination urls and GUIDs.

To do so, I use the following tool found on Github: FlowPowerAppsMigrator (many thanks to Zerg00s for this wonderfull tool). For your information, I have fixed one or two bugs in this tool. The fixed version can be found here (I'll try to find some time one day to update it directly on Github).

One last thing: as it is explained on the Github tool's page, it uses the PnP-PowerShell framework. All links and instructions can be found on the tool's page. The instructions below suppose your have already installed the PnP-PowerShell framework and unpacked the FlowPowerAppsMigrator tool.

So let's go convert our ZIP file:

  1. Let's say the FlowPowerAppsMigrator tool is located in the Downloads\FlowPowerAppsMigrator folder on your PC
  2. Go to that folder and copy your package ZIP file (in my case MyForm_20190514201458.zip) into the src subfolder
  3. Open a Windows PowerShell window (I personally perfer PowerShell ISE for its intellisense feature)
  4. Go to the Downloads\FlowPowerAppsMigrator folder
  5. Run the script .\RunAllScripts.ps1
  6. The script will first prompt you for the source SharePoint site url: for example https://mytenant.sharepoint.com/sites/DEV
  7. After a while the script will produce a CSV mapping file
  8. Then the script will prompt you again, now for the destination SharePoint site url: for example https://mytenant.sharepoint.com/sites/VAL
  9. After a while, the script will start the conversion procedure. But just before it actually converts your package, it will show you the old name of your form app and prompt you for a new name. I always choose here another name for my form app, like: MyForm-VAL.
  10. Then the conversion will take place: the script will open all JSON files that it will find inside your package (even the ones located into the MSAPP file) and replace for you all source urls and GUIDs with the destination ones. Coooool ! No need to do it manually anymore (such a pain !).
  11. Once the script ends go to the dist subfolder of the migration tool. There you will find your converted package named Converted_<name of your original file>.zip.

III. Importing the converted package

Now we are ready to import the new package in PowerApps. At this point, if you have different environments in PowerApps, choose the environment you want to import it in.

Note: prior to importing your converted package, all customized forms on the target list must be removed. To do so:

  1. Go to your target list settings page
  2. Click the Form settings link
  3. Check the Use the default SharePoint form radio button
  4. Save your changes by clicking the OK button
  5. Go back to the Form settings page and click the Delete custom form link and confirm the dialog box

Now you are ready to proceed with the import procedure:

  1. Go to PowerApps
  2. Choose your target environment if needed (but you can also import you converted package into the same environment as the one you did the extraction operation)
  3. In the left menu, go to Applications
  4. Click the Import package (preview) button
  5. Click the Download button and select your converted package ZIP file located in the dist folder of the migration tool
  6. Let PowerApps load your package
  7. Once loaded you will be redirected to a page when you will see the details of your package
  8. In the Review Package Content section, click on the red exclamation mark icon in front of your source app name (you could also click on the Update link or the Action wrench icon)
  9. There, in the Setup dropdown, choose the Create as new option (the Update

>>

 

Then end 😉

Categories:
I have the same question (0)
  • WarrenBelz Profile Picture
    154,799 Most Valuable Professional on at

    Hi @R3dKap ,

    Thanks for the post - there is another way using old fashioned copy Ctrl-C and paste Ctrl-V with both forms open as per this blog.

  • R3dKap Profile Picture
    1,594 on at

    😂 I've been using this so often and so focused at doing this "the right way" that I never even thought of doing it using the Ctrl-C/Ctrl-V technique... 😅

    Good option @WarrenBelz 👍

  • alexanderlee Profile Picture
    on at

    Hi @WarrenBelz. The blog specifies that any SA form can be copy-pasted into any SPI app--can an SPI form paste into another SPI app? Mine isn't allowing me to do so (apparently)

  • WarrenBelz Profile Picture
    154,799 Most Valuable Professional on at

    Hi @alexanderlee ,

    I have never tried, but if you simply paste it from the SP Form into a blank screen in a canvas app (just ignore the errors), you should be able to then copy it from there into the second SP Form.

  • alexanderlee Profile Picture
    on at

    Hey @WarrenBelz I was mistaken, you can Ctrl+C/Ctrl+V between SPI forms after all. I was trying to use the ellipsis menu options "copy" and "paste" and those seemed to behave differently. Thank you! 

  • WarrenBelz Profile Picture
    154,799 Most Valuable Professional on at

    @alexanderlee ,

    Yes - I have struck that before, but I am (very) old school and the old DOS (if you remember that) keyboard shortcuts still work for everything.

  • jbones Profile Picture
    3 on at

    I want to import the form to a new list on the SAME site. Where in this process do I tell the import that the app needs to connect to the target list, not the source list? I see where Source url and target url is prompted but that is at the site level. Where do we specify the target LIST?

  • talyrobin1 Profile Picture
    2 on at

    Works great! thx

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the March Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
11manish Profile Picture

11manish 530

#2
WarrenBelz Profile Picture

WarrenBelz 459 Most Valuable Professional

#3
Haque Profile Picture

Haque 314

Last 30 days Overall leaderboard