Monday 5 August 2019

Automate Microsoft Teams Channel Creation Process with No-Code Configurations

The channels creation could be automated with the help of Microsoft Flow actions, and that is without writing any custom code. Microsoft Teams itself could be leveraged as medium for necessary user approvals.

As the Skype is sooner going to be replaced with Microsoft Teams, the necessary processes should be setup wherever required to ease the user and admin relationships.

Why do you need to setup such process? Let us consider a scenario, where your organization needs a process to create and setup channels in your Microsoft Teams tenant. Giving permissions for users/groups to create channels will end up with so much of test groups created. Instead, an approval process could be set to automate this process, to get necessary approvals for creating channels.

Configured Components


The implementation idea is going to very simple, with SharePoint and Microsoft Flow being used to automate this process. The following tools are being used for this demonstration.
  • Microsoft Teams – Medium where this logic being applied 
  • SharePoint list - an intermediate store for holding new channel registration information.
  • Microsoft Flow – Configured steps to automate, 
    • Send out necessary notifications to admins for approvals
    • Based on approval decisions, create the necessary channels under respective team
    • Send out an notification on channel creation

SharePoint/Teams Configuration


Set up the preliminary steps on SharePoint, for storing the requests.
  • Setup a SharePoint list to get input of channel details form users. The input could be team name and channel name.
  • Configure the list on any of the default teams channel tab.

The overall process is depicted in this picture.
Automate the Channel Creation Process - with no-code steps
Automate the Channel Creation Process - with no-code steps



Configuring Flow


The following steps explains the process, along with configured flow snapshots.

1. When user inputs a channel detail, trigger the flow.

2. Get the item details – The item information (channel and user details) will be used further in the coming steps

3. Get admin profile for sending out notifications (user detail of person who have configured the flow)

4. Create an approval step – This will configure the message and user actions, that will be sent out over mail.
Trigger and Approval Notification
Trigger and Approval Notification

5. Approval Notification on Teams (Post your own adaptive card as the Flow bot to a user action): Configure the approver detail and adaptive card for user action.

6. Set a delay (wait for an approval action): Wait until the approval action is completed.

Wait for an approval & Validate
Wait for an approval & Validate

7. Based on the outcome, do necessary action.
  • If rejected, 
    • Send out a notification to user about rejection. 
    • Go to step 11.
  • If approved, 
    • send out a notification to requestor about approval.
    • Go to step 8.
8. Look for the team detail, and get the team ID.

Approve/Reject actions - Send out notifications to requestor
Approve/Reject actions - Send out notifications to requestor

9. Create the channel using the team ID.

10. Post a message on the team channel about channel creation.
Validate and Create Channel
Validate and Create Channel, Then send out notification

11. Update the request information with the approval status.
Update the request status
Update the request status

Demo Snapshots


1. User Creates the Channel Creation request on the list configured on the Teams Tab.
User creates request
User creates request

2. Admin gets notification on the Teams. (Flow Notification)
Admin gets approval notification
Admin gets approval notification

3. User Gets approval notification, with admin comments.
User gets notification
User gets notification

4. After few seconds, the channel will be created with the admin's message.
Created Channel - Admin Message
Created Channel - Admin Message

Hope you have enjoyed reading! The entire process could be created in sometime, with no code configurations :)