If you are an Office 365 admin who wants to streamline requests to create teams in Microsoft Teams, this blog post was written exactly for you. Those who aren’t admins, share this blog post with your Office 365 admin and push them to implement this. It’s a win for all!
Step 1 – Download the .zip package from my GitHub repo.
Step 2- Install the flows and the Power App
Import the following package in Power Automate / Power Apps in the following order –
a. Import ‘1 DeploySPListforTeamsrequests’ .zip file in Power Automate. This flow creates a SharePoint list for you so you don’t need to manually create one. I know, that’s so cool! 😀
b. Import ‘2 TeamRequestsApprovalFlow’ .zip file in Power Automate.
Refer https://flow.microsoft.com/en-us/blog/import-export-bap-packages/ if you haven’t imported a flow before.
This flow will be triggered every-time a new item is created in the SharePoint list. This way the flow can run in context of the admin and thus the Graph HTTP requests will work fine.
For the HTTP with Azure AD connection , enter https://graph.microsoft.com for both the Base resouce URL and Azure AD Resource URI (Application ID URI).
This connector is a premium connector. If you don’t have a premium license, you can get a Power Apps Community plan (https://powerapps.microsoft.com/en-us/communityplan/) and install this flow in the community plan environment where you can use any Premium connectors as well.
FYI – Community plans should only be used for testing purpose. To run it in production, you will need one per user license for Power Automate (as of March 31, 2020)
c. Import ‘3 IneedaTeam PowerApp’ .zip file in Power Apps.
Refer https://docs.microsoft.com/en-us/power-platform/admin/environment-and-tenant-migration#importing-a-canvas-app if you haven’t imported an app before.
Step 3 – Run the flow “Deploy SP List for Teams requests”
Before you run this flow, click on ‘Edit’ to edit the action marked 🟡 .
This SharePoint List will be the repository where all the requests will be submitted. This list will have to be shared with all the organizations’ employees with a Contribute permission so that they can add the requests.
Now, run the flow by clicking on ‘Run’. This will create a SharePoint list with all the columns required to submit requests for a new Team.
Step 3 – Edit the flow “Team Requests Approval Flow”
Edit all the actions marked 🟡 in the flow.
a. Change the SharePoint site address and choose the list that was created in the previous step.
b. Change the list of Approvers . Add a list of email-ids separated by ; to whom the approval request should be sent. Any one of them can give the approval.
c. There are two more actions inside the condition where you will need to change the SharePoint site address and the list.
Step 4 – Change Data source and App OnStart for “I need a Team” Power App.
The data source will currently point to the SharePoint list in my tenant, so you need to change that to point to your SharePoint list.
Delete the existing SharePoint connection and add a new connection that points to the list that you created in Step 2 above. You might also have to edit the Owners and Members combo box. Just remove the ending ) and add it again.
App On Start – Admins List
In the App On Start, change the e-mail addresses in the Admins list.
And that’s it, you now have an app that you can share with all the employees in your org and they can submit requests for a new Team. FYI – All the teams created with this solution will be private teams. You could give an option to the user to create a public team , however, I don’t think you want that. 😉
Step 5 – Share the SharePoint list with Contribute permission and the Power App with your whole organization (search for “Everyone except external users”).
Here is a demo of the whole solution.