Manually deploying Microsoft Teams is overwhelming. Using Teams Templates, SharePoint Online, and Power Automate we will build and discuss how to best create a self service Microsoft Teams provisioning process. How do we handle approval and management? Templates? Flow creation? Find out, in this in session!
4. 4
Background:
• Office 365
• SharePoint Development & Administration
• Server Administration, VMWare, CISCO
• C#, PowerShell, .NET, FHIR, Objective-C,
• Meditech, EPIC, Cerner, Allscripts, Dragon
Previous Clients:
• Poudre Valley Healthcare
• Providence Health & Services
• Kern Medical
Current Focus:
• Teams as the HUB
• Teams & Office 365 Development
• CDS, Entities, PowerApps, Power Automate 4
Chris Barber
Solutions Architect
5. #1
Ranked
Office 365 NSP
1 of 16
SP Partner
Advisory Council
Charter
Member
MSFT Content
Services Program
MVP
Office 365
6M+
Users Migrated to
Office 365
Charter
Member
MSFT Biz Apps
Program
350+
SharePoint
& O365 U.S.
Consultants
1M+
Hours on
SharePoint
Projects
20+
Public
Websites
200+
Sites on SharePoint
Onprem / Online
1500+
SharePoint
Projects
Delivered
50+
Azure Migrations
Gold
Microsoft Partner
Dedicated
CX Agency
Change Mgmt.
Member
Teamwork
Partner Advisory
Council (PAC)
95%
Repeat
Business Rate
FastTrack
Ready
Partner
Member
MSFT Portal
Partner Program
6. • Create a SharePoint list
• Create workflow for Teams automation
Power Platform
• Create Power Automate
• Add Graph API & Custom Connector
• Show Management App
SharePoint
#SDO365S
6
Create Connector
• Graph API Overview
• Create app registration
• Create custom connector
The goal of this workshop is to create a connector which allows us to dynamically create teams
based on pre-defined templates.
7. 7
Microsoft Graph exposes REST APIs and client
libraries to access data on the following Microsoft
365 services:
• Office 365 services: Delve, Excel, Microsoft
Bookings, Microsoft Teams, OneDrive, OneNote,
Outlook/Exchange, Planner, and SharePoint
• Enterprise Mobility and Security services:
Advanced Threat Analytics, Advanced Threat
Protection, Azure Active Directory, Identity
Manager, and Intune
• Windows 10 services: activities, devices,
notifications
• Dynamics 365 Business Central
8. 8
The Microsoft Graph Explorer is a Web interface for
exploring Microsoft Graph APIs. Consider it as a
developer's sandbox where you can run any
request command, such as GET, and get a response
back from Office 365 in JSON format.
Note: When utilizing please ensure you use a test
account to access Office 365 data to avoid
accidentally updating or deleting production
environment information.
https://developer.microsoft.com/en-us/graph/graph-explorer
10. 10
What is a custom
connector?
Why would we use
a connector?
Sharing a
connector?
11. 11
What is a custom connector?
Microsoft offers over 230+ connectors to connect
to Microsoft and non-Microsoft services out of the
box. In some circumstances you may want to
communicate with services that aren't available
as prebuilt connectors though.
Custom connectors address this scenario by
allowing you to create and even share a
connector with its own triggers and actions.
12. 12
Why would we use a custom connector?
- Availability
- HTTP Connector? Premium & Single
- Reuse
- Expansion & Controls
13. 13
How to share a connector?
• Go to powerapps.com or flow.microsoft.com.
• In the upper right corner, choose the gear icon, then choose Custom connectors.
• Choose the ellipsis button for your connector, then choose Invite another user.
• On the Share tab, under Add people, enter the users or groups you want to share
with. Choose a permission of Can view or Can edit, then choose Save.
14. 14
How do we setup a connector:
• Create an Azure App Registration
• Create a custom connector
• Authorize the connector
• Create the flow
15. 15
1. Open a browser and navigate to Azure Active Directory admin
center. Choose the Azure Active Directory link in the left navigation
menu, then choose the App registrations entry in
the Manage section of the Azure Active Directory blade.
2. Choose the New registration menu item at the top of the App
Registrations blade.
3. Enter MS Graph Batch App in the Name field. In the Supported
account types section, select Accounts in any organizational
directory. Leave the Redirect URI section blank and choose Register.
4. On the MS Graph Batch App blade, copy the Application (client) ID.
You'll need this in the next exercise.
5. Choose the API permissions entry in the Manage section of the MS
Graph Batch App blade. Choose Add a permission under API
permissions.
16. 16
6. In the Request API permissions blade, choose the Microsoft Graph,
then choose Delegated permissions. Search for group, then select
the Read and write all groups delegated permission. Choose Add
permissions at the bottom of the blade.
7. Choose the Certificates and secrets entry in the Manage section of
the MS Graph Batch App blade, then choose New client secret.
Enter forever in the Description and select Never under Expires.
Choose Add.
8. Copy the key value for the new key. You'll need this in the next
exercise.
Note: To enable management of additional services accessible via the Microsoft Graph, including
Teams properties, you would need to select additional, appropriate scopes to enable managing specific
services.
17. 17
• The Open API definition file is prebuilt with the
correct path for the Microsoft
Graph $batch endpoint and additional settings to
enable simple import.
• Using a text editor, create a new empty file
named MSGraph-Delegate-
Batch.swagger.json and add the following code.
• Open a browser and navigate to Microsoft Flow.
Sign in with your Office 365 tenant administrator
account. In the left-hand menu,
expand Data and choose Custom connectors.
18. 18
• On the Custom connectors page choose the New custom
connector link in the top right, then select the Import an
OpenAPI file item in the drop-down menu. Enter MS Graph
Batch Connector in the Connector name text box.
Choose Import button to upload the Open API file. Browse to
the MSGraph-Delegate-Batch.swagger.json file you created.
Choose Continue to upload the OpenAPI file.
19. 19
• After the connector has been created, copy the
generated Redirect URL
• Go back to the registered application in the Azure Portal you
created in the previous exercise. Select Overview on the MS
Graph Batch App blade, then select Add a Redirect URI. Add
the Redirect URL you copied in the Redirect URI field and
choose Save.
20. 20
• The final configuration step to ensure the connector is ready for use is to authorize and test the custom connector
to create a cached connection.
• In Microsoft Flow, go to the Connector configuration screen and choose the Test link in the navigation menu.
Choose the New Connection link. Sign in with your Office 365 tenant administrator's Azure Active Directory
account.
• When prompted for the requested permissions, check Consent on behalf of your organization and then
choose Accept to authorize permissions.
• After you authorize the permissions, a connection is created in Flow.
22. 22
• Purpose: The purpose of this list will be to create a tracking
mechanism and submission process for the creation of teams using
the Graph API.
• Fields:
o Team – Single Line Text
o Description – Multi Line Text
o Template - Choice
o Status - Choice
• Status - Choice:
o Completed
o Denied
o New Request
o In Progress
24. 24
• Upon new list item trigger the associated Flow
• Update the list item status to In Progress
• Kick off an approval process
• Using a condition we determine the approval response
from the pre-configured users:
• If the request is denied, trigger an email then update
the status to denied.
• If the request is approved send an email to the
originator and begin the remaining process.
• Update the list item status to approved
• Process the API request to clone the team template using
the list provided information
• Send a completed email to the approver and submitter
and update the status to completed.
25. 25
• Graph API Call
• URL: “/teams/[TeamID]/clone”
Customization Options:
Team Display Name: [SharePoint List Value]
Description of New Team: [SharePoint List Value]
MailNickName: [SharePoint List Value]
PartsToClone: Apps, Channels, Tabs, Settings, Members
Visibility: Public or Private