SlideShare a Scribd company logo
MICROSOFT 365
Virtual MARATHON
May 27 & 28, 2020
36 hours / 2 days
MICROSOFT 365 VIRTUAL MARATHON
Teams In Real Life
Christopher Barber
MICROSOFT 365
Virtual MARATHON
May 27 & 28, 2020
36 hours / 2 days
 Chris Barber, Pasadena, CA USA
 Solutions Architect @ Perficient
 Current Focus: Teams, Custom Connectors, Graph API
 Background:
 Office 365
 SharePoint Development & Administration
 Server Administration, VMWare, CISCO
 C#, PowerShell, .NET, FHIR, Objective-C,
 Meditech, EPIC, Cerner, Allscripts, Dragon
LET ME INTRODUCE MYSELF…
Chris.Barber@Perficient.com
soi2dev LinkedIn
#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
What are we doing here today…
Manually deploying Microsoft Teams for an organization is overwhelming no matter the size.
 Permissions
 Owners & Members
 Handling requests & approvals
 Ensuring consistency across the builds
 Creation of a repeatable automated process
Graph API
o What is the Graph API
o Teams Integration with the Graph
API
o Available Actions
Azure
o Creation of an app registration
Connectors
o What is a connector?
o Components of a connector?
o Types of Connectors?
Session Overview
 Creating a Custom Connector
 Creating a Power Automate Flow
 Demos
 What is the Graph API?
 How does the Graph API relate to Microsoft Teams?
 Graph Explorer
Microsoft Graph API
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
What is the Graph API?
What's it do?
This operation creates a copy of the corresponding group or a base template.
It even allows you to customize what parts of the team you would like to clone:
• apps - Copies Microsoft Teams apps that are installed in the
team.
• channels – Copies the channel structure (but not the messages in
the channel).
• members – Copies the members and owners of the group.
• settings – Copies all settings within the team, along with key
group settings.
• tabs – Copies the tabs within channels.
Permissions Required:
• Group.ReadWrite.All
Graph API – Clone a Team
Graph Explorer
 What is an Azure App Registration?
 How does the registration relate to Microsoft Teams?
 Building an app registration
Azure App Registration
to Azure Active Directory at portal.azure.com . 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. With the app registration open we will enter in our name
Marathon Graph API in the Name field. In the Supported account
types section, select Accounts in my organization and for the time
being we are going to leave the Redirect URI section blank. We
will come back to this later on once our connector has been built.
With all of the fields complete now we are going to
choose Register.
4. Now that the base of our app registration has been created. Let’s
take a minute to copy down some information that we will need
for our custom connector. So at the top of the screen let’s copy
the Application ID and the Tenant ID.
5. Next let’s select the API permissions entry in the Manage section
of the MS Graph Batch App blade. Once that page loads, lets
Azure App Registration
Azure App Registration
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.
Demo Video
Build the Azure App Registration
 What is the Power Platform?
 What are connectors? What types of connectors are there?
 How do connectors relate to Microsoft Teams?
Power Platform &
Connectors
Connector Overview
A connector is a proxy or a wrapper around an API that allows the underlying service to
talk to Microsoft Power Automate, Microsoft Power Apps, and Azure Logic Apps. It
provides a way for users to connect their accounts and leverage a set of pre-built actions
and triggers to build their apps and workflows.
Out of the box Microsoft offers over 320+ connectors to connect to Microsoft and non-
Microsoft services
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.
Custom Connector Overview
Why would we use a custom connector?
- Availability
- HTTP Connector
- Premium Connector
- Reuse, Expansion, and Controls
 Where do I build a connector?
 How do I build a custom connector from scratch?
 How do I bring in the Graph API actions?
 How do I test the connector once its been created?
Building a Connector
Demo Video
Build the Custom Connector
 List requirements for integration
 How does a SharePoint list relate to our Microsoft Teams
automation?
 Build a SharePoint List
SharePoint Integration
• 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:
o Purpose: Store the name of the Team
o Field Type: Single Line Text
o Description:
o Purpose: Store the description of the Team
o Field Type: Multi Line Text
o Template:
o Purpose: Allows user the ability to store the Template to copy from
o Field Type: Drop Down Choice
o Status:
o Purpose: Will automatically update based on the current state of the process.
o Field Type: Drop Down Choice (Read Only)
Completed
Denied
New Request
In Progress
Building the List
Demo Video
Demo the configuration of the SharePoint List
 Adding our connector into a Flow
 Review of the Flow
 Demo
 Channel Build
 Messages
Power Automate Flow
Build
Workflow Overview
• 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.
• 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
Workflow Overview
Demo Entire Build
MICROSOFT 365
Virtual MARATHON
May 27 & 28, 2020
36 hours / 2 days
THANK YOU FOR YOUR ATTENTION!
DO YOU HAVE ANY QUESTIONS?

More Related Content

What's hot

Power behind power apps and Ms flow
Power behind power apps and Ms flowPower behind power apps and Ms flow
Power behind power apps and Ms flow
samarcot
 
SPC19 - What's new and what's next: Microsoft Kaizala
SPC19 - What's new and what's next: Microsoft KaizalaSPC19 - What's new and what's next: Microsoft Kaizala
SPC19 - What's new and what's next: Microsoft Kaizala
Patrick Guimonet
 
How to get your management board to Teams Kettukari MWPC Paris 191.2021
How to get your management board to Teams Kettukari MWPC Paris 191.2021How to get your management board to Teams Kettukari MWPC Paris 191.2021
How to get your management board to Teams Kettukari MWPC Paris 191.2021
Karoliina Kettukari
 
SPC2019 - Integrate Power Platform with SharePoint an end to-end real life sc...
SPC2019 - Integrate Power Platform with SharePoint an end to-end real life sc...SPC2019 - Integrate Power Platform with SharePoint an end to-end real life sc...
SPC2019 - Integrate Power Platform with SharePoint an end to-end real life sc...
Patrick Guimonet
 
Accelerate Your #ModernWorkplace Success with #Microsoft365
Accelerate Your #ModernWorkplace Success with #Microsoft365 Accelerate Your #ModernWorkplace Success with #Microsoft365
Accelerate Your #ModernWorkplace Success with #Microsoft365
Dux Raymond Sy
 
The business today - PowerApps, Power BI y Microsoft Flow
The business today - PowerApps, Power BI y Microsoft FlowThe business today - PowerApps, Power BI y Microsoft Flow
The business today - PowerApps, Power BI y Microsoft Flow
Juan Fabian
 
Managing Projects with Microsoft Project Online - from Atidan
Managing Projects with Microsoft Project Online - from AtidanManaging Projects with Microsoft Project Online - from Atidan
Managing Projects with Microsoft Project Online - from Atidan
David J Rosenthal
 
Driving User Adoption for SharePoint
Driving User Adoption for SharePointDriving User Adoption for SharePoint
Driving User Adoption for SharePoint
WinWire Technologies Inc
 
Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search API
Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search APIMicrosoft 365 Virtual 2020 Spain - Microsoft Graph Search API
Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search API
Alberto Diaz Martin
 
SharePoint consulting | SharePoint Partner | SharePoint Demo
SharePoint consulting | SharePoint Partner | SharePoint DemoSharePoint consulting | SharePoint Partner | SharePoint Demo
SharePoint consulting | SharePoint Partner | SharePoint Demo
Veelead Solutions Pvt. Ltd.
 
Grow your SharePoint development platform with SPFx
Grow your SharePoint development platform with SPFxGrow your SharePoint development platform with SPFx
Grow your SharePoint development platform with SPFx
Dipti Chhatrapati
 
Microsoft Planner What is How To - Collab365
Microsoft Planner What is How To - Collab365Microsoft Planner What is How To - Collab365
Microsoft Planner What is How To - Collab365
Muditha Chathuranga
 
Moving to Microsoft Project Online
Moving to Microsoft Project OnlineMoving to Microsoft Project Online
Moving to Microsoft Project Online
Heather Champoux-Rayner, PMP
 
O365Con18 - It's Gonna Be PowerApps and Flow - Penny Coventry
O365Con18 - It's Gonna Be PowerApps and Flow - Penny CoventryO365Con18 - It's Gonna Be PowerApps and Flow - Penny Coventry
O365Con18 - It's Gonna Be PowerApps and Flow - Penny Coventry
NCCOMMS
 
Boost productivity using Microsoft Teams & PowerAutomate
Boost productivity using Microsoft Teams & PowerAutomateBoost productivity using Microsoft Teams & PowerAutomate
Boost productivity using Microsoft Teams & PowerAutomate
Sam Fernando
 
Microsoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AIMicrosoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AI
Thomas Gölles
 
SPS Toronto 2016 - What is microsoft PowerApps
SPS Toronto 2016 - What is microsoft PowerAppsSPS Toronto 2016 - What is microsoft PowerApps
SPS Toronto 2016 - What is microsoft PowerApps
Nicolas Georgeault
 
Introduction to Microsoft Flow
Introduction to Microsoft FlowIntroduction to Microsoft Flow
Introduction to Microsoft Flow
NIFTIT
 
Key Takeaways from Managing an Integrated JIRA Experience
Key Takeaways from Managing an Integrated JIRA ExperienceKey Takeaways from Managing an Integrated JIRA Experience
Key Takeaways from Managing an Integrated JIRA Experience
Atlassian
 
The possibilities of Teams as a Platform Kettukari Nopanen Sulava Webinar 25....
The possibilities of Teams as a Platform Kettukari Nopanen Sulava Webinar 25....The possibilities of Teams as a Platform Kettukari Nopanen Sulava Webinar 25....
The possibilities of Teams as a Platform Kettukari Nopanen Sulava Webinar 25....
Karoliina Kettukari
 

What's hot (20)

Power behind power apps and Ms flow
Power behind power apps and Ms flowPower behind power apps and Ms flow
Power behind power apps and Ms flow
 
SPC19 - What's new and what's next: Microsoft Kaizala
SPC19 - What's new and what's next: Microsoft KaizalaSPC19 - What's new and what's next: Microsoft Kaizala
SPC19 - What's new and what's next: Microsoft Kaizala
 
How to get your management board to Teams Kettukari MWPC Paris 191.2021
How to get your management board to Teams Kettukari MWPC Paris 191.2021How to get your management board to Teams Kettukari MWPC Paris 191.2021
How to get your management board to Teams Kettukari MWPC Paris 191.2021
 
SPC2019 - Integrate Power Platform with SharePoint an end to-end real life sc...
SPC2019 - Integrate Power Platform with SharePoint an end to-end real life sc...SPC2019 - Integrate Power Platform with SharePoint an end to-end real life sc...
SPC2019 - Integrate Power Platform with SharePoint an end to-end real life sc...
 
Accelerate Your #ModernWorkplace Success with #Microsoft365
Accelerate Your #ModernWorkplace Success with #Microsoft365 Accelerate Your #ModernWorkplace Success with #Microsoft365
Accelerate Your #ModernWorkplace Success with #Microsoft365
 
The business today - PowerApps, Power BI y Microsoft Flow
The business today - PowerApps, Power BI y Microsoft FlowThe business today - PowerApps, Power BI y Microsoft Flow
The business today - PowerApps, Power BI y Microsoft Flow
 
Managing Projects with Microsoft Project Online - from Atidan
Managing Projects with Microsoft Project Online - from AtidanManaging Projects with Microsoft Project Online - from Atidan
Managing Projects with Microsoft Project Online - from Atidan
 
Driving User Adoption for SharePoint
Driving User Adoption for SharePointDriving User Adoption for SharePoint
Driving User Adoption for SharePoint
 
Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search API
Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search APIMicrosoft 365 Virtual 2020 Spain - Microsoft Graph Search API
Microsoft 365 Virtual 2020 Spain - Microsoft Graph Search API
 
SharePoint consulting | SharePoint Partner | SharePoint Demo
SharePoint consulting | SharePoint Partner | SharePoint DemoSharePoint consulting | SharePoint Partner | SharePoint Demo
SharePoint consulting | SharePoint Partner | SharePoint Demo
 
Grow your SharePoint development platform with SPFx
Grow your SharePoint development platform with SPFxGrow your SharePoint development platform with SPFx
Grow your SharePoint development platform with SPFx
 
Microsoft Planner What is How To - Collab365
Microsoft Planner What is How To - Collab365Microsoft Planner What is How To - Collab365
Microsoft Planner What is How To - Collab365
 
Moving to Microsoft Project Online
Moving to Microsoft Project OnlineMoving to Microsoft Project Online
Moving to Microsoft Project Online
 
O365Con18 - It's Gonna Be PowerApps and Flow - Penny Coventry
O365Con18 - It's Gonna Be PowerApps and Flow - Penny CoventryO365Con18 - It's Gonna Be PowerApps and Flow - Penny Coventry
O365Con18 - It's Gonna Be PowerApps and Flow - Penny Coventry
 
Boost productivity using Microsoft Teams & PowerAutomate
Boost productivity using Microsoft Teams & PowerAutomateBoost productivity using Microsoft Teams & PowerAutomate
Boost productivity using Microsoft Teams & PowerAutomate
 
Microsoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AIMicrosoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AI
 
SPS Toronto 2016 - What is microsoft PowerApps
SPS Toronto 2016 - What is microsoft PowerAppsSPS Toronto 2016 - What is microsoft PowerApps
SPS Toronto 2016 - What is microsoft PowerApps
 
Introduction to Microsoft Flow
Introduction to Microsoft FlowIntroduction to Microsoft Flow
Introduction to Microsoft Flow
 
Key Takeaways from Managing an Integrated JIRA Experience
Key Takeaways from Managing an Integrated JIRA ExperienceKey Takeaways from Managing an Integrated JIRA Experience
Key Takeaways from Managing an Integrated JIRA Experience
 
The possibilities of Teams as a Platform Kettukari Nopanen Sulava Webinar 25....
The possibilities of Teams as a Platform Kettukari Nopanen Sulava Webinar 25....The possibilities of Teams as a Platform Kettukari Nopanen Sulava Webinar 25....
The possibilities of Teams as a Platform Kettukari Nopanen Sulava Webinar 25....
 

Similar to M365 Teams Automation

Teams Automation with Graph API
Teams Automation with Graph APITeams Automation with Graph API
Teams Automation with Graph API
Christopher R. Barber
 
#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...
#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...
#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...
Vincent Biret
 
#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...
#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...
#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...
Vincent Biret
 
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Vincent Biret
 
November 2022 CIAOPS Need to Know Webinar
November 2022 CIAOPS Need to Know WebinarNovember 2022 CIAOPS Need to Know Webinar
November 2022 CIAOPS Need to Know Webinar
Robert Crane
 
Azure integration in dynamic crm
Azure integration in dynamic crmAzure integration in dynamic crm
Azure integration in dynamic crm
ssuser93127c1
 
Automating your tasks with microsoft flow
Automating your tasks with microsoft flowAutomating your tasks with microsoft flow
Automating your tasks with microsoft flow
Dipti Chhatrapati
 
Dipen shah
Dipen shahDipen shah
Dipen shah
Dipen Shah
 
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
Vincent Biret
 
SPSMad2016 Rubén Toribio - Template
SPSMad2016 Rubén Toribio - TemplateSPSMad2016 Rubén Toribio - Template
SPSMad2016 Rubén Toribio - Template
Rub Toribio Gallardo
 
Floating on a (Microsoft) Cloud: Data Integration with Microsoft Cloud
Floating on a (Microsoft) Cloud: Data Integration with Microsoft CloudFloating on a (Microsoft) Cloud: Data Integration with Microsoft Cloud
Floating on a (Microsoft) Cloud: Data Integration with Microsoft Cloud
Safe Software
 
Microsoft graph and power platform champ
Microsoft graph and power platform   champMicrosoft graph and power platform   champ
Microsoft graph and power platform champ
Kumton Suttiraksiri
 
Winter 15 : Salesforce
Winter 15 : SalesforceWinter 15 : Salesforce
Winter 15 : Salesforce
Jyothylakshmy P.U
 
Microsoft Graph API - A Single Stop For Your Cloud Solution
Microsoft Graph API - A Single Stop For Your Cloud SolutionMicrosoft Graph API - A Single Stop For Your Cloud Solution
Microsoft Graph API - A Single Stop For Your Cloud Solution
Dipti Chhatrapati
 
Office Add-ins developer community call-July 2019
Office Add-ins developer community call-July 2019Office Add-ins developer community call-July 2019
Office Add-ins developer community call-July 2019
Microsoft 365 Developer
 
Dev day paris020415
Dev day paris020415Dev day paris020415
Dev day paris020415
pdufourSFDC
 
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
NCCOMMS
 
Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020
Microsoft 365 Developer
 
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a ProSPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
Brian Culver
 
Teams Provisioning with Power Automate and the Microsoft Graph
Teams Provisioning with Power Automate and the Microsoft GraphTeams Provisioning with Power Automate and the Microsoft Graph
Teams Provisioning with Power Automate and the Microsoft Graph
fastlane66
 

Similar to M365 Teams Automation (20)

Teams Automation with Graph API
Teams Automation with Graph APITeams Automation with Graph API
Teams Automation with Graph API
 
#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...
#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...
#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...
 
#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...
#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...
#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...
 
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
 
November 2022 CIAOPS Need to Know Webinar
November 2022 CIAOPS Need to Know WebinarNovember 2022 CIAOPS Need to Know Webinar
November 2022 CIAOPS Need to Know Webinar
 
Azure integration in dynamic crm
Azure integration in dynamic crmAzure integration in dynamic crm
Azure integration in dynamic crm
 
Automating your tasks with microsoft flow
Automating your tasks with microsoft flowAutomating your tasks with microsoft flow
Automating your tasks with microsoft flow
 
Dipen shah
Dipen shahDipen shah
Dipen shah
 
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
 
SPSMad2016 Rubén Toribio - Template
SPSMad2016 Rubén Toribio - TemplateSPSMad2016 Rubén Toribio - Template
SPSMad2016 Rubén Toribio - Template
 
Floating on a (Microsoft) Cloud: Data Integration with Microsoft Cloud
Floating on a (Microsoft) Cloud: Data Integration with Microsoft CloudFloating on a (Microsoft) Cloud: Data Integration with Microsoft Cloud
Floating on a (Microsoft) Cloud: Data Integration with Microsoft Cloud
 
Microsoft graph and power platform champ
Microsoft graph and power platform   champMicrosoft graph and power platform   champ
Microsoft graph and power platform champ
 
Winter 15 : Salesforce
Winter 15 : SalesforceWinter 15 : Salesforce
Winter 15 : Salesforce
 
Microsoft Graph API - A Single Stop For Your Cloud Solution
Microsoft Graph API - A Single Stop For Your Cloud SolutionMicrosoft Graph API - A Single Stop For Your Cloud Solution
Microsoft Graph API - A Single Stop For Your Cloud Solution
 
Office Add-ins developer community call-July 2019
Office Add-ins developer community call-July 2019Office Add-ins developer community call-July 2019
Office Add-ins developer community call-July 2019
 
Dev day paris020415
Dev day paris020415Dev day paris020415
Dev day paris020415
 
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
 
Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020Implement Authorization in your Apps with Microsoft identity platform-June 2020
Implement Authorization in your Apps with Microsoft identity platform-June 2020
 
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a ProSPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
SPSHOU - Upgrading and Migrating to SharePoint 2016 like a Pro
 
Teams Provisioning with Power Automate and the Microsoft Graph
Teams Provisioning with Power Automate and the Microsoft GraphTeams Provisioning with Power Automate and the Microsoft Graph
Teams Provisioning with Power Automate and the Microsoft Graph
 

Recently uploaded

Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 

Recently uploaded (20)

Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 

M365 Teams Automation

  • 1. MICROSOFT 365 Virtual MARATHON May 27 & 28, 2020 36 hours / 2 days MICROSOFT 365 VIRTUAL MARATHON Teams In Real Life Christopher Barber
  • 2. MICROSOFT 365 Virtual MARATHON May 27 & 28, 2020 36 hours / 2 days
  • 3.  Chris Barber, Pasadena, CA USA  Solutions Architect @ Perficient  Current Focus: Teams, Custom Connectors, Graph API  Background:  Office 365  SharePoint Development & Administration  Server Administration, VMWare, CISCO  C#, PowerShell, .NET, FHIR, Objective-C,  Meditech, EPIC, Cerner, Allscripts, Dragon LET ME INTRODUCE MYSELF… Chris.Barber@Perficient.com soi2dev LinkedIn
  • 4. #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
  • 5. What are we doing here today… Manually deploying Microsoft Teams for an organization is overwhelming no matter the size.  Permissions  Owners & Members  Handling requests & approvals  Ensuring consistency across the builds  Creation of a repeatable automated process
  • 6. Graph API o What is the Graph API o Teams Integration with the Graph API o Available Actions Azure o Creation of an app registration Connectors o What is a connector? o Components of a connector? o Types of Connectors? Session Overview  Creating a Custom Connector  Creating a Power Automate Flow  Demos
  • 7.  What is the Graph API?  How does the Graph API relate to Microsoft Teams?  Graph Explorer Microsoft Graph API
  • 8. 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 What is the Graph API?
  • 9. What's it do? This operation creates a copy of the corresponding group or a base template. It even allows you to customize what parts of the team you would like to clone: • apps - Copies Microsoft Teams apps that are installed in the team. • channels – Copies the channel structure (but not the messages in the channel). • members – Copies the members and owners of the group. • settings – Copies all settings within the team, along with key group settings. • tabs – Copies the tabs within channels. Permissions Required: • Group.ReadWrite.All Graph API – Clone a Team
  • 11.  What is an Azure App Registration?  How does the registration relate to Microsoft Teams?  Building an app registration Azure App Registration
  • 12. to Azure Active Directory at portal.azure.com . 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. With the app registration open we will enter in our name Marathon Graph API in the Name field. In the Supported account types section, select Accounts in my organization and for the time being we are going to leave the Redirect URI section blank. We will come back to this later on once our connector has been built. With all of the fields complete now we are going to choose Register. 4. Now that the base of our app registration has been created. Let’s take a minute to copy down some information that we will need for our custom connector. So at the top of the screen let’s copy the Application ID and the Tenant ID. 5. Next let’s select the API permissions entry in the Manage section of the MS Graph Batch App blade. Once that page loads, lets Azure App Registration
  • 13. Azure App Registration 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.
  • 14. Demo Video Build the Azure App Registration
  • 15.  What is the Power Platform?  What are connectors? What types of connectors are there?  How do connectors relate to Microsoft Teams? Power Platform & Connectors
  • 16. Connector Overview A connector is a proxy or a wrapper around an API that allows the underlying service to talk to Microsoft Power Automate, Microsoft Power Apps, and Azure Logic Apps. It provides a way for users to connect their accounts and leverage a set of pre-built actions and triggers to build their apps and workflows. Out of the box Microsoft offers over 320+ connectors to connect to Microsoft and non- Microsoft services 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.
  • 17. Custom Connector Overview Why would we use a custom connector? - Availability - HTTP Connector - Premium Connector - Reuse, Expansion, and Controls
  • 18.  Where do I build a connector?  How do I build a custom connector from scratch?  How do I bring in the Graph API actions?  How do I test the connector once its been created? Building a Connector
  • 19. Demo Video Build the Custom Connector
  • 20.  List requirements for integration  How does a SharePoint list relate to our Microsoft Teams automation?  Build a SharePoint List SharePoint Integration
  • 21. • 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: o Purpose: Store the name of the Team o Field Type: Single Line Text o Description: o Purpose: Store the description of the Team o Field Type: Multi Line Text o Template: o Purpose: Allows user the ability to store the Template to copy from o Field Type: Drop Down Choice o Status: o Purpose: Will automatically update based on the current state of the process. o Field Type: Drop Down Choice (Read Only) Completed Denied New Request In Progress Building the List
  • 22. Demo Video Demo the configuration of the SharePoint List
  • 23.  Adding our connector into a Flow  Review of the Flow  Demo  Channel Build  Messages Power Automate Flow Build
  • 24. Workflow Overview • 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. • 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 Workflow Overview
  • 27.
  • 28. MICROSOFT 365 Virtual MARATHON May 27 & 28, 2020 36 hours / 2 days THANK YOU FOR YOUR ATTENTION! DO YOU HAVE ANY QUESTIONS?