So you made a PowerApp? Now what?
PowerApps are great. With its visual interface, it gives us mere mortals (non-developers) the power to create some pretty complex apps. But if you want to roll out your handy work to the rest of the company there are some important things to consider.
1. Share your app to the rest of the company
Once you’re done with the PowerApp, you’re the only one that can see it. You can embed the PowerApp on a SharePoint site, but the permissions on the SharePoint site won’t affect the permissions of the PowerApp. Simply share the PowerApp with every user in the organisation, or just add specific users.
When you use PowerApps to use the customize forms action you don’t have to do this. The PowerApp will inherit the permissions from the specific list.
At the time of writing (4/7/2018) PowerApps can’t be shared with users outside the Tenant. So if you want to invite external users to use that cool custom form or app, they have to have an account on the same tenant.
Microsoft is working on this (https://powerusers.microsoft.com/t5/PowerApps-Ideas/Share-with-external-users/idi-p/4114), but no roadmap is currently available.
2. Transfer your app and your app connections to a service account
Yes! The PowerApp that you made is an enormous success. It has become a staple of a lot of users’ day-to-day activity. Well done you!
But what happens to the PowerApp when you decide to get a new job somewhere else? Will the App still work? Probably not!
All the connections (e.g. to a SharePoint list) of the PowerApp are probably running under your personal account and when this account no longer exists, the PowerApp can no longer make the connection and will no longer work. Also, when you are the sole owner of the app no one else can edit the app.
Best Practice: Move your PowerApp and the connections to a service account specially made for this purpose.
To work around this problem, it’s best practice to move the entire PowerApp + the connections to a service account. The service account isn’t a named user, but an account with the sole purpose of running Flows and PowerApps. This way your PowerApps and Flows aren’t affected when the account that made it doesn’t exist.
To move a PowerApp to a service account:
- Add the service account to the PowerApp with ‘Can edit’ permissions
- As the service account, open the powerapp and make sure all the connections work with this account
This will make it so the service account can still edit and publish the PowerApp.
The method above doesn't make the service account owner of the app. Only the owner of the app can delete the app. If you want to make the service account owner of the app, the service account needs to download the app and upload it, or export the app and import it under his account. Just keep in mind that the complexer the apps are, the more work you'll have to do this. Because this method isn't flawless and complex apps tend to break when you copy and move them around.
3. Re-publish your app at least every 6 months
The Office365 platform is continuously changing and evolving. This is also true of PowerApps. New functionality is added monthly and sometimes even weekly. This might be problematic compatibility wise. The app that you made 2 years ago may not play nice with the newest feature that the PowerApp development team rolled out, and your solution might break.
It’s considered best practice to re-publish your PowerApp every six months (some even say every 3 months). When you republish the solution, the app will be compatible with the latest PowerApp version.
At the time of writing there is no way to automate this process with something like Flow, so be sure to mark this as an event in your calendar.
So remember… PowerApps are awesome. Just don’t forget to do the steps above to make sure PowerApps STAY awesome.