Export and import your apps across environments with packaging

 

We’re very happy to announce that you no longer have to manually move your apps by locally saving .msapp files from your DEV/UAT environment and re-saving the apps in your production environment from PowerApps Studio. 

As of 08/01/2017, the preview of packaging is now available on web.powerapps.com.  With packaging, you will be able to export an app as a package and import it into another environment.

Exporting an app

You can export an app via the following steps:

image

  • Select Export (preview) for the app you want to export

image

  • Enter a Name and Description for the package

image

  • Within the ‘Review Package Content’ section you can optionally add comments or notes or change the setting for how each individual resource will be imported into the target environment during package import

image

  • When you are done select Export and the package file will begin downloading within a few seconds

Importing an app package

You can import an app package via the following steps:

image

  • Select Import package (preview)

image

  • Select Upload and select the app package file that you want to import

image 

  • Once the package has been uploaded you will need to review the package contents and will need to provide additional input for any item marked with a red icon by selecting the wrench icon for each item and entering the required information.

image 

  • Once you have provided all of the required information select Import  

image 

  • When import completes you will be automatically redirected to a page (similar to the one below) that outlines whether or not the import operation was successful

NOTE: If you are importing an app and chose to Update an existing app, the new changes will be saved as a draft of the applications.  You will need to publish those changes in order for them to be available all other users of the applications.

image

 

Which resources can be packaged?

When you export an app, the dependent resources for your app will also get exported into the package.  Initially only a subset of all possible resource types will be supported as outlined in the table below.

Resource Supported Import Options
App Yes

There are two options to import an app into an environment:

  1. Create new – the app will be created as a new app into the environment where the package is imported.
  2. Update - the app already exists in the environment and will be updated when this package is imported.
Flow Yes

There are two options to import a flow into an environment:

  1. Create new – the flow will be created as a new flow into the environment where the package is imported.
  2. Update - the flow already exists in the environment and will be updated when this package is imported.

NOTE: All resources that the flow depends on will also be included within the app package is exported and will need to be configured when it is imported.

CDS Entity Customizations and Picklists Yes

There are two options to import CDS Entities or Picklists into an environment:

  1. Overwrite - If there's a resource with the same name, this import will replace it. If there isn’t a matching resource, a new resource will be created.
  2. Merge – If there's an entity or picklist with the same name, new fields or entries will be added, but missing fields or entries won’t be removed.
Custom Connectors No If an app depends on a custom connector we do not currently support exporting the connector as a part of the package.

If you have an app that relies on a custom connector, your only current option is to manually re-create or update the connector in your target environment and select that connector when you import the package.
Connections No If an app depends on a connection (such as a SQL connection w/ credentials) we do not currently support exporting the connection or credentials as a part of the package.

If you have an app that relies on a shared connection (like SQL), your only current option is to manually re-create that connection with the appropriate credentials in your target environment and select that connection when you import the package.
CDS Custom Roles and Permission Sets No Exporting custom CDS roles and/or permission sets is not currently supported.

 

Known limitations

Limitation Status
Importing app packages that contains more than ~3 resources has been reported to take several minutes to complete. We will be rolling out a fix for this within the next two weeks.
Ability to export/import custom connectors This work is on the backlog and we are working to deliver this within the next 6 months.
Ability to re-configure the datasources for my app during import
(for example switch from one SharePoint list or SQL database to another)
This work is on the backlog and we are working to deliver this within the next 6 months.
Ability to export/import CDS Custom Roles and Permission Sets This work is on the backlog and we are working to deliver this within the next 6 months.
Ability to export/import CDS data (i.e. sample data rows) This work is on the backlog and we are working to deliver this within the next 12 months.