cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
R3dKap
Community Champion
Community Champion

Copy a SharePoint list Power Apps custom form

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 😉

8 REPLIES 8
WarrenBelz
Most Valuable Professional
Most Valuable Professional

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
Community Champion
Community Champion

😂 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 👍

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)

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.

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! 

@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
Regular Visitor

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
Regular Visitor

Works great! thx

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!   This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions in the Forums to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersNumber of SolutionsSuper UsersNumber of Solutions @anandm08  23 @WarrenBelz  31 @DBO_DV  10 @Amik  19 AmínAA 6 @mmbr1606  12 @rzuber  4 @happyume  7 @Giraldoj  3@ANB 6 (tie)   @SpongYe  6 (tie)     Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersSolutionsSuper UsersSolutions @anandm08  10@WarrenBelz 25 @DBO_DV  6@mmbr1606 14 @AmínAA 4 @Amik  12 @royg  3 @ANB  10 @AllanDeCastro  2 @SunilPashikanti  5 @Michaelfp  2 @FLMike  5 @eduardo_izzo  2   Meekou 2   @rzuber  2   @Velegandla  2     @PowerPlatform-P  2   @Micaiah  2     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 3:Community MembersSolutionsSuper UsersSolutionsPower Apps anandm0861WarrenBelz86DBO_DV25Amik66Michaelfp13mmbr160647Giraldoj13FLMike31AmínAA13SpongYe27     Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 4:Community MembersSolutionsSuper UsersSolutionsPower Apps DBO-DV21WarranBelz26Giraldoj7mmbr160618Muzammmil_0695067Amik14samfawzi_acml6FLMike12tzuber6ANB8   SunilPashikanti8

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (1,204)