As discussed in the previous post, we can enable developers (and users) to upload custom apps to Microsoft Teams. However, sometimes (and most often) you don’t want to enable everyone to upload custom apps everywhere. This is where Teams enables you to have granular control on who can do what.

First step is to ask this question:

Did I block custom apps at all in my environment?

The very first option that you will need to be aware of is the “Allow interaction with custom apps”. This setting is found by going to the Teams Admin Center > Teams Apps > Manage Apps > Org-wide app settings:

Once this setting is enabled in your tenant, you can now move forward and control who can upload custom apps. If this setting is off, then you won’t have a way to upload custom apps to your tenant, so if you need to upload apps, you’ll need to make sure this setting is on. (Note, in cases when you want to stop uploading apps altogether to the tenant, you can always use this option to shutdown this capability)

Now with this option enabled, in order for a user to be able to upload a custom app, you’ll need to ask this question:

Is the user assigned a custom policy that allows him/her to upload an app?

The user will need to be assigned an app policy that has uploading custom apps enabled.

This can be done by going to Teams Admin Center > Teams Apps > Setup Policies. By default, developer tenants will have this policy enabled by default, but if you want to sideload apps in other tenants, you’ll need to have at least one policy where “Upload custom apps” is enabled.

Once you have the policy set to upload custom apps, go back to the policies list, select the policy, and add the user you want to grant this access to for this policy:

After you add the user to the policy. The user will be able to upload custom apps depending on the answer of the upcoming question:

Will the user need to upload personal apps only or teams apps?

If the user needs to upload personal apps only, then it’s all good so far and the user can do so. However if the user needs to upload custom apps to a Team and that user isn’t an owner, then the Team owner should enable the option for members to upload custom apps. This can be done on the Team settings itself:

For a better understanding for those who prefer visual sequence, you can consult the following diagram:

I hope this helps someone out there! Enjoy Teams App development!