|
| 1 | +--- |
| 2 | +title: Export and import canvas app | Microsoft Docs |
| 3 | +description: Learn how to export and import canvas app |
| 4 | +author: caburk |
| 5 | +manager: kvivek |
| 6 | +ms.service: powerapps |
| 7 | +ms.topic: conceptual |
| 8 | +ms.date: 08/20/2020 |
| 9 | +ms.author: caburk |
| 10 | +ms.reviewer: tapanm |
| 11 | +search.audienceType: |
| 12 | + - maker |
| 13 | +search.app: |
| 14 | + - PowerApps |
| 15 | +--- |
| 16 | + |
| 17 | +# Export and import canvas app packages |
| 18 | + |
| 19 | +In this article, you'll learn how to export and import canvas apps. |
| 20 | + |
| 21 | +You can export and import canvas apps by using packages. This feature allows you to export an app from one environment and import it to another. When exporting and importing canvas app packages, consider the scenario that best fits the available options. For example, you can save a canvas app locally by using the **Save As** option when you select the ___location as **This computer**. The saved file will have the file name extension ".msapp". This file doesn't include any additional components such as flows created with Power Automate and used by the saved app. Although you can use this method to create a copy of an existing app, you can use the recommended export and import feature that includes [additional resources](#resources-included-in-the-package) with the package. Export and import packages have the file format of .zip. |
| 22 | + |
| 23 | +> [!IMPORTANT] |
| 24 | +> - For ALM capabilities in Microsoft Power Platform environments, use Common Data Service and solutions instead of the canvas app package export and import. More information: [ALM overview](https://docs.microsoft.com/power-platform/alm/overview-alm) |
| 25 | +> - Canvas app packages can't be used with [Common Data Service solution packages](../common-data-service/solutions-overview.md) because of the package incompatibility. |
| 26 | +
|
| 27 | +## Resources included in the package |
| 28 | + |
| 29 | +An app can consume different resources. For example, most apps use connections. Other apps might use Power Automate, have custom connectors, or connect by using gateways to on-premises resources. Some apps might also use Common Data Service customizations. |
| 30 | + |
| 31 | +The following table explains different resource types, supportability, and import options. |
| 32 | + |
| 33 | +| Resource type | Supported | Import options | |
| 34 | +| --- | --- | --- | |
| 35 | +| App |Yes, for canvas apps |There are two options to import an app into an environment: <ul><li><b>Create new</b>: The app will be created as a new app in the environment where the package is imported.</li> <li><b>Update</b>: The app already exists in the environment and will be updated when this package is imported.</li></ul> | |
| 36 | +| Power Automate |Yes |There are two options to import a flow into an environment: <ul><li><b>Create new</b>: The flow will be created as a new flow in the environment where the package is imported.</li> <li><b>Update</b>: The flow already exists in the environment and will be updated when this package is imported.</li></ul><br> <b>Note: </b>All resources that the flow depends on will also be included in the app package that's exported and will need to be configured when the package is imported. <br> <br> You can also export and import flows by using solutions. More information: [Power Automate solutions](https://docs.microsoft.com/power-automate/overview-solution-flows) | |
| 37 | +| Custom connectors |No |Exporting a custom connector isn't supported. You'll need to re-create the custom connector on the target environment. | |
| 38 | +| Connections |No |Exporting a connection isn't supported. You'll need to re-create connections on the target environment. | |
| 39 | +| Common Data Service customizations |No |Exporting Common Data Service customizations as a part of a canvas app package isn't supported. You'll need to use Common Data Service solutions instead. More information: [Common Data Service solutions](https://docs.microsoft.com/powerapps/developer/common-data-service/introduction-solutions) | |
| 40 | +| Gateways |No | You can't export or import gateways. You'll need to re-create gateways on the target environment. | |
| 41 | + |
| 42 | +## Permissions required to export a canvas app package |
| 43 | + |
| 44 | +Only the **Owner** or **Co-owner** of an app can export a canvas app package. To import an app, the **Environment Maker** permission is required on the destination environment. |
| 45 | + |
| 46 | +## Exporting a canvas app package |
| 47 | + |
| 48 | +To export a canvas app package, select your app, and then select **Export Package**. |
| 49 | + |
| 50 | + |
| 51 | + |
| 52 | +You can change the default **Import Action** for each resource that your canvas app uses. The default action for resources in a canvas app package, including the app, is **Update**. You can choose to **Create as new** during import, to create the resource during the import instead of updating existing resource. However, the import action that you select will become the default action during the app import. |
| 53 | + |
| 54 | +> [!IMPORTANT] |
| 55 | +> You can only import the exported package. Changes to the the exported package file aren't supported. |
| 56 | +
|
| 57 | +<!--markdownlint-disable MD036--> |
| 58 | +**To export a canvas app package** |
| 59 | +<!--markdownlint-enable MD036--> |
| 60 | + |
| 61 | +1. Sign in to [Power Apps](https://make.powerapps.com). |
| 62 | + |
| 63 | +1. Select **Apps** from the left pane. |
| 64 | + |
| 65 | +1. Select the app that you want to export. |
| 66 | + |
| 67 | +1. Select **Export Package**. |
| 68 | + |
| 69 | +  |
| 70 | + |
| 71 | +1. Enter the package **Name** and **Description**. You can also change the **Environment** name, if needed. |
| 72 | + |
| 73 | +  |
| 74 | + |
| 75 | +1. Select **Update** to choose the import action for the app package resource. |
| 76 | + |
| 77 | +  |
| 78 | + |
| 79 | +1. Select **Create as new** if the app should be created during import, or **Update** to update an existing app. |
| 80 | + |
| 81 | +  |
| 82 | + |
| 83 | + > [!NOTE] |
| 84 | + > The **Import Setup** action text changes depending on your new selection. |
| 85 | +
|
| 86 | +1. Repeat the previous step for each additional resource in the app package. |
| 87 | + |
| 88 | +1. (Optional) Select  (comment icon) to insert a comment for each resource. |
| 89 | + |
| 90 | +  |
| 91 | + |
| 92 | +1. Select **Export** to export the package. |
| 93 | + |
| 94 | +The package is downloaded to your browser's default downloads folder. |
| 95 | + |
| 96 | +## Importing a canvas app package |
| 97 | + |
| 98 | +To import a canvas app package, select **Import canvas app**. Be sure to select the correct actions for each app package resource—for example, create a new instance of an app or a flow. You can also read additional information in comments that were entered while the app package was being exported. |
| 99 | + |
| 100 | + |
| 101 | + |
| 102 | +If you're updating an existing app or resource, be sure to [publish](save-publish-app.md#publish-an-app) the app so users can see the changes. |
| 103 | + |
| 104 | +> [!TIP] |
| 105 | +> You can quickly confirm selections before importing an app package by viewing the icon changes for each resource type. |
| 106 | +> <table > |
| 107 | +> <tr> |
| 108 | +> <th align="left">Icon</th> |
| 109 | +> <th align = "left">Description</th> |
| 110 | +> </tr> |
| 111 | +> <tr> |
| 112 | +> <td><img src="media/export-import-app/icon-new.png" alt="Create as new"></td> |
| 113 | +> <td><b>Create as new</b>: A new resource will be created.</td> |
| 114 | +> </tr> |
| 115 | +> <tr> |
| 116 | +> <td><img src="media/export-import-app/icon-changed.png" alt="Import action changed"></td> |
| 117 | +> <td><b>Import action changed</b>: The import action for the resource has been modified.</td> |
| 118 | +> </tr> |
| 119 | +> <tr> |
| 120 | +> <td><img src="media/export-import-app/icon-action-required.png" alt="Action required"></td> |
| 121 | +> <td><b>Action required</b>: You must select an import action before the app package can be imported.</td> |
| 122 | +> </tr> |
| 123 | +> </table> |
| 124 | +
|
| 125 | +<!--markdownlint-disable MD036--> |
| 126 | +**To import a canvas app package** |
| 127 | +<!--markdownlint-enable MD036--> |
| 128 | + |
| 129 | +1. Sign in to [Power Apps](https://make.powerapps.com). |
| 130 | + |
| 131 | +1. Select **Apps** from the left pane. |
| 132 | + |
| 133 | +1. Select **Import canvas app**. |
| 134 | + |
| 135 | +  |
| 136 | + |
| 137 | +1. Select **Upload**, and select the app package file that you want to import. |
| 138 | + |
| 139 | +1. Select the **Import Setup** action, or  for a resource. |
| 140 | + |
| 141 | +  |
| 142 | + |
| 143 | + - If you select **Create as new**, you can change the resource name. |
| 144 | + |
| 145 | +  |
| 146 | + |
| 147 | + - If you select **Update**, select an app that you want to update during the import. |
| 148 | + |
| 149 | +  |
| 150 | + |
| 151 | +1. Repeat the previous step for each additional resource in the app package. |
| 152 | + |
| 153 | +1. (Optional) If the app package contains references to [connections](connections-list.md), you can choose the connection from the available connections list. |
| 154 | + |
| 155 | +  |
| 156 | + |
| 157 | + Select **Select during import** to choose the appropriate connection. |
| 158 | + |
| 159 | +  |
| 160 | + |
| 161 | + > [!NOTE] |
| 162 | + > If no connections are available, or the connection you want isn't listed, select **Create new** to create a new connection in a new browser tab. Ensure that you create the connection for the correct resource type. After creating the connection, return to the import app browser tab and select **Refresh list** to reflect and choose the newly created connection. |
| 163 | +
|
| 164 | +1. (Optional) If comments were entered for a resource during the export of the app package, the comment icon will appear filled and the text **Comment yes** will appear when you hover over it. Select the comment to view it. |
| 165 | + |
| 166 | +  |
| 167 | + |
| 168 | +1. Select **Import** to import the app package. |
| 169 | + |
| 170 | + > [!IMPORTANT] |
| 171 | + > If you select to **Update** an existing app, the new changes will be saved as a draft of the app. You'll need to [publish](save-publish-app.md#publish-an-app) the app so users can see the changes. |
| 172 | +
|
| 173 | +### See also |
| 174 | + |
| 175 | +- [Save and publish an app](save-publish-app.md) |
| 176 | +- [Edit an app](edit-app.md) |
| 177 | +- [Delete an app](delete-app.md) |
| 178 | +- [Share an app](share-app.md) |
0 commit comments