35,99 €
Microsoft Teams is an invaluable tool that can integrate various Microsoft products into a single convenient hub. But making the most of it often requires expert help and hours spent on calls and live chats. If you’d rather have all the information you need to make the most of Teams in one place, then this book is for you.
Written by two Microsoft technical specialists who have spent years helping clients find the best way to utilize Teams, this book will help you understand Teams as a whole — from architecture and collaboration through to apps and voice. You’ll study the platform from the perspective of the end user as well as the administrator, gaining insights and learning from real-life examples.
You’ll tackle adopting, implementing, and administering Teams efficiently, which will help you realize its full potential. From setup and deployment to modernizing your organization’s chat and voice infrastructure, you’ll get plenty of useful and actionable tips as you progress.
By the end of your journey through this book, you’ll be able to design and implement the most important and exciting aspects of Microsoft Teams help your organization work more efficiently.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 461
Veröffentlichungsjahr: 2022
A guide to Teams architecture and integration for advanced end users and administrators
Aaron Guilmette
Yura Lee
Grant Oliasani
Angel Aviles
BIRMINGHAM—MUMBAI
Copyright © 2022 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author(s), nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Group Product Manager: Ashwin Nair
Publishing Product Manager: Pavan Ramchandani
Senior Editor: Hayden Edwards
Content Development Editor: Aamir Ahmed
Technical Editor: Joseph Aloocaran
Copy Editor: Safis Editing
Project Coordinator: Rashika BA
Proofreader: Safis Editing
Indexer: Hemangini Bari
Production Designer: Shankar Kalbhor
First published: April 2022
Production reference: 1080422
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-80107-555-8
www.packt.com
This book is dedicated to everyone who wants to be more productive. While many people say that the best technology is invisible, we like to think that the best technology is that which lets you spend less time with technology and more time with the people you care about.
– Aaron, Yura, Angel, and Grant
Aaron Guilmette is a senior program manager at Microsoft, helping customers adopt the Microsoft 365 platform. He primarily focuses on collaborative technologies, including Microsoft Teams, Exchange Online, and Azure Active Directory.
Aaron lives in the Michigan area of Detroit with his five children. When he's not busy solving technical problems, writing, or running his children to events, he's likely making a pizza.
I would like to thank my children and my long-suffering partner, Christine, for understanding while I skipped game and date nights to work on this project. I also want to thank the staff at Packt Publishing, including Aamir Ahmed, Divij Kotian, Pavan Ramchandani, and Hayden Edwards. Some of them have endured through seven books with me. I'm not sure which of us is more a glutton for punishment!
Yura Lee is a security program manager at Microsoft, focusing on cloud data security for her customers. She has years of experience as a Microsoft 365 and Azure consultant and technical specialist in the field.
Yura lives in New Jersey with her husband.
I would like to thank my co-authors, Aaron, Angel, and Grant, for this wonderfully collaborative experience. And a shout out to the entire Packt team for this rewarding opportunity and for polishing my work!
Grant Oliasani is a senior customer success manager at Microsoft, helping customers realize the value in Microsoft Teams and Power Platform.
Grant currently resides in Tennessee with his wife.
I would like to thank my Microsoft family and my wife, Lauren, for supporting me in this project and throughout my career.
Angel Aviles is a seasoned unified communications and telecommunications engineer with over 20 years of experience in the field. He is passionate about bleeding-edge technology and integrating voice, video, and collaboration systems. He has worked for Microsoft for over 7 years as an Office 365 deployment consultant and voice technology specialist and is currently a Modern Communications Customer Success Manager.
I would like to thank my family, especially my wife, Meredith, my parents, and my wonderful work family for their support in developing me into the person I am today.
Aaron Steele is a 20+ year IT veteran who now works at Microsoft as a technical program manager overseeing meetings and events of Microsoft Teams. He lives "where the Midwest vacations" in the "Cherry Capital of the World" as they call it, with his amazing wife of more than 18 years, two wonderful children, two cats, and one standard poodle named Molly.
Aaron has helped customers implement Teams-powered events solutions during the growth period that Microsoft saw with Microsoft Teams during the Covid pandemic. Before his current role, he was on a team of some of the best in the company at helping customers understand their Teams and Skype for Business setups and problems and helping them to fix them. He took that role after being a solutions architect inside the Microsoft Consulting services team.
Before his current 11+ year career at Microsoft, Aaron spent time working with Teams in the publishing, media, and entertainment sectors, as well as with two higher education institutions in the city of Chicago, along with a start up consulting firm where he led projects to design and implement Microsoft voice solutions for customers from the time when this was first possible in OCS 2007 R2.
In his time away from work, he enjoys baking bread and cooking dinner with, and for, his family, as well as curing and smoking meats. Being near the fresh water of Lake Michigan has always brought him and his family pleasure, playing in and on the water and enjoying its bounties.
Denzil Fernandes is a Teams technical specialist at Microsoft, based in Toronto, Canada. Specializing in modern work, he has guided large financial and manufacturing organizations in deploying Microsoft workloads in the cloud. He is enthusiastic about learning and sharing knowledge, tips, and tricks about digital transformation.
Microsoft Teams is the new hub for collaboration in the modern and hybrid workplace! Teams brings together familiar parts of the Microsoft 365 platform, including instant messaging and file sharing. It also introduces telephony, development, and platform tools, helping businesses and end users create an environment that helps them to do more in the same space without switching between applications.
This book is for individuals who will be responsible for deploying and managing Microsoft Teams-based solutions. Assuming no prior knowledge, this book will equip you with the knowledge and skills to plan and deploy Microsoft Teams for your organizations.
This book has 19 chapters, covering all aspects of Microsoft Teams. It starts by explaining the basic organizational structure and architecture behind Microsoft Teams and then dives into exploring features, including a deep dive on planning and deploying Teams Phone solutions. Finally, it concludes with planning and adoption, governance, and reporting:
Chapter 1, Taking a Tour of Microsoft Teams, introduces the Microsoft Teams product, features, architecture, and terminology.
Chapter 2, Approvals, provides an overview of how the Approvals app can be used in Microsoft Teams to create approval workflows.
Chapter 3, Task Management in Teams, brings together Planner, To Do, and the Tasks app for managing personal and group tasks.
Chapter 4, Bookings in Teams, introduces the Bookings app and how it can be used to allow external customers the ability to book appointments.
Chapter 5, Conducting Teams Meetings, walks through conducting scheduled, channel, and ad hoc meetings in Teams.
Chapter 6, Microsoft Teams Rooms, introduces Microsoft Teams Rooms—dedicated devices for presenting content in meetings.
Chapter 7, Live Events, provides information on conducting broadcast-style meetings for internal and external attendees.
Chapter 8, Power Apps in Teams, introduces Teams as a development and application integration platform.
Chapter 9, Workflow Integration, shows how Teams can be used to bring users, applications, and business processes together through workflows.
Chapter 10, Power Virtual Agents in Teams, demonstrates how Power Virtual Agents and chatbots can be used to add interactive applications to the Microsoft Teams environment.
Chapter 11, Planning for Teams Phone, is a deep-dive into the Teams Phone architecture, providing guidance on how to design a Microsoft Teams-based telephony solution.
Chapter 12, Deploying Teams Phone, builds on the knowledge acquired in Chapter 11, Planning for Teams Phone, and demonstrates how to successfully deploy a Teams Phone system.
Chapter 13, Configuring Advanced Teams Phone Features, provides guidance on configuring advanced features such as auto attendants and call queues.
Chapter 14, Teams Devices, gives an overview of devices specifically designed for the Teams environment, including headsets, desk phones, and Surface Hub devices.
Chapter 15, Planning and Adoption, outlines the Microsoft Adoption Framework for helping organizations generate excitement and scale Teams deployments.
Chapter 16, Governance, introduces concepts regarding the overall life cycle planning for Microsoft Teams.
Chapter 17, Integration with Exchange Server, shows how Teams works with Microsoft Exchange Server and Exchange Online.
Chapter 18, Security and Data Protection, demonstrates the security, data protection, and compliance controls that are available to protect organizational data and Teams users.
Chapter 19, Reporting in Teams, introduces the reports and dashboards that can be used to review Teams usage.
Appendix A, Direct Routing and Operator Connect, provides an overview of Operator Connect and Direct Routing, as well as general configuration guidance.
To follow along with the examples in this book, you should have a Microsoft 365 subscription that includes licenses for Microsoft Teams, Exchange Online, SharePoint Online, and Azure AD Premium P1. Configuring Teams Phone solutions in Chapter 12, Deploying Teams Phone, and Chapter 13, Configuring Advanced Teams Phone Features, will require enterprise voice features, including a Phone System license and calling plans.
You can obtain a free 30-day trial of Microsoft 365 E5, which includes all licenses and software necessary, from https://go.microsoft.com/fwlink/p/?LinkID=698279. After signing up for an Office 365 E5 trial, you can add either an Azure AD Premium P1 or Microsoft 365 E5 trial from the admin center under Purchase Services.
Alternatively, you can sign up for a free developer account at https://developer.microsoft.com/en-us/microsoft-365/dev-program, which will give you access to the Microsoft 365 platform for 90 days.
You can download the image files for this book from GitHub at https://github.com/PacktPublishing/Expert-Microsoft-Teams-Solutions. If there's an update to the code, it will be updated in the GitHub repository.
We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!
We also provide a PDF file that has color images of the screenshots and diagrams used in this book. You can download it here: https://static.packt-cdn.com/downloads/9781801075558_ColorImages.pdf.
There are a number of text conventions used throughout this book.
Code in text: Indicates code words in the text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "You can use the Get-MsolAccountSku cmdlet to retrieve a list of SKUs."
A block of code is set as follows:
If (!(Get-Module -ListAvailable MSOnline)) { Install-Module MSOnline}
Connect-MsolService -Credential (Get-Credential)
When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:
Set-MsolUser -UserPrincipalName [email protected] -UsageLocation [region]
Set-MsolUserLicense -UserPrincipalName [email protected] -AddLicenses "advancedmsteams:MEETING_ROOM"
Any command-line input or output is written as follows:
Set-MsolUserLicense -UserPrincipalName [email protected] -AddLicenses "advancedmsteams:MEETING_ROOM"
Bold: Indicates a new term, an important word, or words that you see on screen. For instance, words in menus or dialog boxes appear in bold. Here is an example: "Search for and select Power Virtual Agents."
Tips or Important Notes
Appear like this.
Feedback from our readers is always welcome.
General feedback: If you have questions about any aspect of this book, email us at [email protected] and mention the book title in the subject of your message.
Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata and fill in the form.
Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.
If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.
Once you've read Expert Microsoft Teams Solutions, we'd love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.
Your review is important to us and the tech community and will help us make sure we're delivering excellent quality content.
This part of the book focuses on the native features and built-in apps of the Microsoft Teams platform, as well as some of the underlying technology components.
This part comprises the following chapters:
Chapter 1, Taking a Tour of Microsoft TeamsChapter 2, ApprovalsChapter 3, Task Management in Teams Chapter 4, Bookings in TeamsWelcome to Microsoft Teams – the new hub for collaboration in the modern workplace! Microsoft Teams is part revolutionary and part evolutionary – a whole new way to connect and integrate data, applications, and communications by bringing together familiar pieces of the Microsoft 365 ecosystem (and introducing some new ones).
Microsoft Teams is a collaboration and communications tool as well as a development platform. As a collaborative tool, it allows users to natively leverage existing applications such as Exchange calendaring or SharePoint document management. As a communications tool, it replaces the instant messaging and telephony capabilities of Skype for Business. And, as a platform, it provides internal and external developers ways to integrate data in third-party external applications (such as Salesforce or Adobe Document Cloud) as well as use Microsoft-based tools to connect to cloud-based services and applications (such as Dynamics 365, Power BI, or Planner).
In this chapter, we're going to review the foundational concepts of Microsoft Teams, including:
ArchitectureUser interfaceOnce you have those basics under your belt, we'll be getting into the more advanced features and capabilities.
Let's get going!
Microsoft Teams is a collaboration and communications tool as well as an application development platform built on several existing cloud services. While it may present a simple User Interface (UI) on the surface, Teams brings an enormous number of technologies to bear, all unified under a single experience. These diverse components and services make up the Microsoft Teams architecture.
The core object in Microsoft Teams is a team, which is based on a Microsoft 365 group. A Microsoft 365 group is comprised of an Exchange group mailbox, a SharePoint site collection, and a OneNote notebook. Microsoft Teams adds additional features, structures, and extensibility to that Microsoft 365 group.
From an implementation perspective, any Microsoft 365 group can be converted or extended into a Microsoft Teams object (some authors and articles may use the term teamify to communicate the idea of converting a standard Microsoft 365 group into a team).
You might think of a team as a sort of container object that can be used to group related conversations and resources. Inside the team, channels can be used to further organize content around topics, departments, projects, or other categories. Figure 1.1 shows the Microsoft Teams user interface and how these concepts of teams and channels are presented:
Figure 1.1 – Teams user interface
Different content types such as files and messages are stored and managed inside the team. While a Microsoft 365 group by itself is somewhat of a flat object, teamifying a group creates structures and linkages inside that object. Figure 1.1 shows both the team channels (such as subfolders). Each of those channels maps to a unique subfolder inside the Microsoft 365 group's corresponding SharePoint Online site, as shown in Figure 1.2:
Figure 1.2 – SharePoint site structure
The exception to this is a private channel. Private channels are used to restrict information to a smaller subset of users in the team. Private channels have their own membership list. In Figure 1.2, the Financials channel is identified as a private channel by the lock icon next to its name. Private channels show up in the team channel hierarchy, but the channel's file content is actually stored in a separate SharePoint site with a different set of permissions. This prevents users who are members of the team (but not the private channel) from gaining access to the data stored in that channel.
The following diagram shows a deeper look at the connection points between services, applications, and storage inside the Microsoft Teams ecosystem:
Figure 1.3 – Teams architecture overview
The following list highlights some of the core features and components:
IdentityMessagingFilesVoicemailRecordingCalendars and meetingsContactsLet's expand further on some of these.
It should come as no surprise that identity is the core of everything in the Microsoft 365 ecosystem. Microsoft has emphasized the phrase "identity is the security boundary" as part of its zero trust design principles. Azure Active Directory (Azure AD or AAD) provides the identity storage and authentication functionality for all Microsoft 365-based workloads.
As we just noted, Azure AD stores a Microsoft 365 group, which is the directory object on which a team is built. Azure AD also holds other security principals (such as user and guest accounts), which can be added to Microsoft 365 group (and team) memberships. All of these identity components provide the infrastructure and security for all Microsoft workloads.
As we discussed a few paragraphs ago, a Microsoft 365 group (and by extension, a team) also includes a group mailbox component. There is no corresponding Exchange on-premises "team" or "Microsoft 365 group" feature and no capability to move the mailbox component on-premises – it is Exchange Online only.
Each Microsoft team has a default channel named General, which can neither be deleted nor renamed. Figure 1.1 depicts a team and how channels are displayed. Channels are typically used for group-related content. The Posts tab on any channel contains text conversations (such as a bulletin or social media chat board). Chat content posted in a team's conversation is first processed by the Azure chat service and then stored in the team's corresponding Exchange Online group mailbox to enable compliance features (such as retention and eDiscovery). Chat or instant messaging content transmitted during a chat transaction is ingested into the participating users' mailboxes.
Each team is connected to a SharePoint site. Files can be uploaded directly to the team's SharePoint site, to a particular channel's Files tab, or posted in a channel's Posts tab. Any file posted to a channel's Posts tab will automatically be uploaded to the team's SharePoint site, and a link to the actual file will be placed in the conversation.
If a user is configured for telephony features, any voicemails they receive are stored as audio files in the individual user's mailbox.
Call or meeting recordings were originally processed by Azure Media services and then encoded for long-term storage in Microsoft Stream. Microsoft has recently updated the architecture and individual user recordings are stored in the user's OneDrive, while recordings of channel meetings stay with the team in SharePoint.
Scheduling objects rely on a user's Microsoft Exchange mailbox. The user's mailbox can be located in Exchange Online or on-premises (though using on-premises deployment will require an Exchange hybrid configuration to work successfully).
You can read more about configuring an Exchange hybrid for Microsoft Teams in Chapter 17, Integration with Exchange Server.
Like calendars and meeting objects, contacts are also stored in an individual user's Exchange mailbox (online or on-premises). Connecting to an on-premises mailbox requires an Exchange hybrid, as detailed in Chapter 17, Integration with Exchange Server.
As you've seen, there are a lot of familiar components in Teams architecture. As a general rule of thumb, communications content is stored in a mailbox (either in the team's group mailbox or the user's mailbox) while file content is stored in SharePoint Online. Other services may interact with and process data streams, but they will typically store communications or file content in one of those locations. It's important to note that the primary Teams data and artifact storage locations are Exchange and SharePoint Online – both of which can be governed by Microsoft 365 data retention policies.
Other Microsoft 365 applications (such as Power BI, Power Automate, or Tasks by Planner and To Do) have their own primary data storage locations. While these applications and services store data elsewhere in the Microsoft 365 ecosystem, they have very tight API integration with Microsoft Teams.
Now that you have a basic understanding of the components at a high level, let's go a little bit deeper into both the Microsoft 365 and Microsoft Teams architectures.
First, we'll look at the Microsoft 365 group architecture.
As we mentioned earlier in the chapter, the foundation of a team is a Microsoft 365 group. The Microsoft 365 group is an Azure AD object that has an Exchange group mailbox, a SharePoint site collection, and a OneNote notebook. Their relationships are shown in Figure 1.4:
Figure 1.4 – Microsoft 365 Groups
A Microsoft 365 group can be provisioned in many ways, including the following:
Microsoft 365 admin centerAzure AD admin centerPlannerYammerExchange OnlineOutlookPowerShellDynamics CRMGraph APISharePoint OnlineClient Side Object Model for SharePoint OnlineMicrosoft 365 groups provisioned through any of these applications, services, or interfaces will all have the same underlying components (a group mailbox, a site, and a notebook). The provisioning service or application will use the Microsoft 365 Groups membership for its administration and security.
A Microsoft 365 group has the concept of owners (those who can administer the membership or other aspects of the group) and members (those who participate in group messages but cannot control the membership or features of the group). Microsoft 365 group owners are mapped to the SharePoint site collection administrators and site owners groups while the members are mapped to the SharePoint site members group.
The OneNote notebook is stored inside the site assets document library. Files sent to the group are stored in the default document library.
Building on the Microsoft 365 group, Figure 1.5 shows where the Microsoft Teams components fit in:
Figure 1.5 – Microsoft Teams components
As you can see, a Microsoft Teams team builds on the foundation of the Microsoft 365 group:
The Wiki data for a team is stored in a new SharePoint list called Teams Wiki Data.Channel meeting recordings are stored in the Recordings subfolder of the corresponding channel's folder in the default document library.Conversations are stored in the mailbox's Conversation History folder.The Channel Calendar data is stored in the group mailbox calendar.You'll also notice that data and permissions for a private channel are handled differently:
The file storage location is a new site. The permissions of the site are mapped from the private channel owners and members lists.The chat on the conversation tab is stored in the Conversation History folder of the private channel team members (as opposed to the team's group mailbox Conversation History folder).Private channel SharePoint sites are linked to their parent site by storing the parent site's object GUID in the RelatedGroupID property of the private channel site.You may want to bookmark this section so that you can refer to it as you progress throughout the book and move on to both Teams administration tasks and troubleshooting. There are a lot of moving pieces in the Teams architecture, and it's easy to forget where they fit in.
Next, we'll look deeper into navigating the Microsoft Teams user interface and some of its features.
While we've already seen a little bit of the user interface, in this section, we're going to explore more of it and how the pieces work. We'll start off with a reference image to remind you where things are in general, and then drill down into each of the main areas:
Figure 1.6 – Annotated Teams user interface
There are myriad clickable action buttons and areas in the Teams interface. Here's a quick rundown of the main areas:
Menu bar: This area, along the top of the user interface, has both new and familiar buttons. If you're familiar with Windows applications, you'll instantly recognize the Minimize, Restore Up/Down, and Exit buttons at the far right of the bar. New to the Teams interface, the Menu bar also displays Forward and Back navigation buttons and hosts a Search bar, which can be used to search across all Teams areas. The Menu bar also displays the logged-in user's avatar (either their initials or an image if they choose to upload one), along with a small bubble indicating their presence (sometimes referred to as status) information. App bar (or left rail): This is the area on the far-left side of the screen where icons such as Activity, Chat, Teams, Calendar, Calls, and Files appear. Administrators can manage the icons that appear here, and users can edit the order of the icons.List pane: This is the middle area of the Teams user interface and displays the items that correspond to the view selected in the left rail. For example, in Figure 1.6, the Teams view is selected, so the list pane shows all of the user's currently joined teams. The list pane also features a Filter button at the top of the column, which allows you to search and filter items in the list pane to locate things more quickly, and a Join or create a team button at the bottom.Main content area: This is the area on the far-right side of the Teams interface. This area will change to display the content of whatever item is selected in the list pane. For example, in Figure 1.6, the Office 365 Deployment Team is selected, and the main content area is displaying data from the Posts tab.Now that you're familiar with the overall structure and layout of the Teams user interface, let's expand upon each of the items on the left rail.
If you're familiar with modern applications (social media apps, modern mobile phones, or desktop apps), you're probably familiar with the concept of activity and notifications. Like those modern applications that have notifications, Microsoft Teams also uses notification bubbles to highlight new items.
The Activity view is used to draw your attention to things specifically targeted to either you, a team you're in, or a channel you're in. For example, in the following Activity view example, you can see a few items:
The user Grant has assigned the logged-in user some tasks.The user Grant has modified the priority of these tasks.The user Isiah has made the logged-in user the owner of the Contoso group:Figure 1.7 – Teams Activity view
As with popular social media platforms, you can use the @ symbol to mention an individual, channel, or team. These mentions will show up in the Activity view for the individual user mentioned (or for each member of a channel or team mentioned), similar to how mentions work in the To line of Outlook. In addition to other users mentioning you or your teammates, apps can also generate notifications that will show up in your activity feed.
By selecting the Chat view, you can initiate one-to-one or one-to-many (also known as group) conversations. Chat is an essential part of the Microsoft Teams experience. You can search for users from the address book and add them to conversations.
User avatars (both yourself and others you invite) have a presence indicator in the form of a bubble, which lets others know the status of the user. Broad status categories include the following:
AvailableBusyDo not disturbAwayOfflineEach status has a corresponding color. Some statuses may include additional detail (such as Focusing, Presenting, or In a Call). Do not disturb statuses are special in that others cannot contact you during this time (with the exception of people you place on a special list called priority access).
You should already be familiar with the Teams view, which was displayed previously in Figure 1.6. The Teams view shows all the teams to which you're currently joined and gives you a way to navigate the various teams and channels.
The Calendar view shows the entries on your current calendar (whether Exchange Online or on-premises) and allows you to create both impromptu and scheduled meetings:
Figure 1.8 – Teams Calendar view
Creating a meeting through the Calendar view automatically adds a Teams meeting link if the meeting has attendees.
The Calls view shows a mix of information, depending on what features are enabled. The view will show various calling items, such as a call log and voicemail history, as well as the option to view contacts stored in the user's Outlook mailbox. If the user has a voice plan included, then the screen will display a dial pad:
Figure 1.9 – Calls view
As seen in Figure 1.9, call directionality (whether incoming or outbound) is included. There is also a status icon, indicating whether an inbound caller left a voicemail.
The Files view displays files that the user has stored in the OneDrive for Business site, as well as files they have access to through the Teams interface. Additionally, users can configure external storage services (such as Box, Dropbox, or Google Workspace) to make their data visible in Teams.
The ellipsis that appears below files is used to show other apps that an administrator has configured and files that have been made available to users in the organization:
Figure 1.10 – More apps
Administrators can add and remove apps, making them available to the organization as a whole or scoped to individuals and groups of users.
The Apps store view contains first-party (created by Microsoft) and third-party apps available to use in the environment. Administrators can block or allow apps and bots from being added to the left rail or channels. Additionally, administrators can deploy apps to individuals or users through policies.
The Help link provides access to web-based training and feedback options.
Clicking the Download mobile app icon at the bottom of the left rail displays a QR code on screen that you can scan with a mobile phone. The QR code directs you to the Microsoft Teams application in the appropriate platform's mobile app store.
The Microsoft Teams user interface is packed full of features and options, connecting you to the different parts of the Microsoft 365 ecosystem. Spend some time familiarizing yourself with the locations of the different interface elements, as they'll become important when customizing the experience for your users.
Microsoft Teams is the latest entry in the productivity software space. By incorporating familiar cloud services such as Exchange Online and SharePoint Online, along with an application development environment, Teams provides users and organizations with a broad array of capabilities.
In this chapter, we covered the high-level architecture of Microsoft Teams as well as the major parts of the user interface.
In the next chapter, we'll start looking at ways to build approval workflows for the Microsoft Teams experience.
If you've ever had to get individuals or teams to sign off various stages of a project, expense, or document revision, you've likely worked with approvals in some fashion. Approvals, from a Microsoft Teams perspective, is an integrated application that can be used to get those signoffs through Microsoft Teams instead of walking a document through the office.
Approvals are just what they sound like – proof that someone has agreed to a certain requirement or condition as part of a project or process.
In this chapter, we're going to look at working with approvals in Microsoft Teams. We will cover the following topics:
Creating approvalsResponding to approvalsApproval templatesAdministration of the Approvals appBy the end of this chapter, you'll be able to explain the requirements of the Approvals app, create and respond to approvals, and enable or disable the Approvals app for your users.
Let's get started!
Before we get started, we'll need to understand the requirements of Approvals in Microsoft Teams. Approvals in Teams requires specific licensing and access to the Microsoft Dataverse (previously known as the Common Data Service).
Let's review the overall requirements:
Permissions to create a Microsoft Dataverse database (if it's the first time anyone in your tenant is creating an approval)Restricted Permissions Note
If your organization has restricted permissions based on a least-privilege model, the first user to attempt to use approvals may be unable to instantiate the database. If this is the case, an administrator will need to follow the steps located at https://docs.microsoft.com/en-us/power-platform/admin/create-environment#create-an-environment-with-a-database to create the environment and database. If you are attempting to create a Dataverse database in the GCC environment, you will need to open a support ticket.
A license for Microsoft Power Automate, Office 365, or Dynamics 365A license for Microsoft Forms to set up new approval templatesOnce you've met those requirements, you can begin creating approvals.
By default, the Approvals app is available for all the users in your environment (we'll discuss turning it off toward the end of this chapter). To launch the app, you can expand the More added apps ellipsis on the left rail and select the Approvals app, as shown in the following screenshot:
Figure 2.1 – Launching the Approvals app from the desktop client
There may be a slight delay the first time you launch the Approvals app as it will take a few moments to provision the Microsoft Dataverse configuration. The experience is the same, regardless of whether you use the Teams desktop app or the Teams web app.
Once everything has been provisioned, you can begin working with approvals.
An approval has several parts, terms, and options that you should understand before you begin. These are as follows:
Request Type: Currently, there are two types of requests. A basic request is one that only uses native Microsoft 365 Power Platform components, and all of the content is stored inside Dataverse. The other type is an eSign request. This is a document and signature approval platform that is tightly coupled with Adobe Sign. For this book, we're just going to focus on the native capabilities.Name: This is the name of the approval. It will appear prominently when the approval request is sent.Approvers: This is a list of individuals who will have the opportunity to approve or reject a request. At the time of writing, approvers must be existing accounts inside the tenant.Require a response from all approvers: By default, an approval request only requires a single approver from the list to approve it. With this toggle activated, everyone listed in the approvers section must approve. The approval will not be marked as approved until all the approvers have approved it. Additional Details: You can use this text area box to provide more information about this request. You can also upload an attachment to the approval.Custom responses: Instead of the standard approve or reject responses, you can supply custom response options. At the time of writing, you can only have two custom responses.Send to another environment: If you have more than one Dataverse environment, you can route approval requests between environments.Now that we understand these concepts, we are ready to create our first approval. To create an approval, follow these steps:
From inside Microsoft Teams, open the Approvals app and select the + New approval request button:Figure 2.2 – Microsoft Teams – Approvals
Fill out the approval fields by using the previous list of items types as guidance:Figure 2.3 – Creating a Microsoft Teams approval
When you're finished, click Send.The user (or users) indicated in the Approvers section should receive a notification automatically that they have an approval waiting.
As shown in the following screenshot, the approver's activity feed indicates that they have new approvals waiting for them:
Figure 2.4 – Notification of an approval request
Once an approval has been processed by the approver, the requester receives a notification in their activity feed as well:
Figure 2.5 – The request has been approved
As you can see, the entire approvals process can be completed inside the Microsoft Teams user interface.
Next, we'll look at the process from the approver's perspective.
When you are designated as an approver in a Microsoft Teams Approval, you'll receive a notification, similar to the example shown in Figure 2.4. In this section, we'll walk through interacting with an approval.
Follow these steps to approve (or reject) an approval:
As an approver, log into Microsoft Teams.Select the Approvals app and then select the approval you wish to process:Figure 2.6 – Received approvals
Select the appropriate choice; that is, approve or reject. If the requester selected custom responses, those options will be displayed too:Figure 2.7 – Choosing to approve or reject
Once the approver has selected their option, they are returned to the main approvals page, which shows the statuses of all of their approvals, as shown in Figure 2.8:
Figure 2.8 – Approvals in Power Automate
The requester will also receive a notification that there is an update for the submitted approval. Selecting this item in the activity feed or the Approvals app will display the approval's outcome, as shown here:
Figure 2.9 – Approval outcome
As with the approval request workflow scenario, everything in the approval response workflow scenario happens within the Microsoft Teams user interface.
More on Approvals
The Microsoft Teams Approvals app uses Power Platform components (such as Power Automate) to accomplish the workflow actions, as well as display adaptive cards inside the user interface. Before the Approvals app, approvals were created and managed in Power Automate and required the Post as a Flow Bot action to display notifications and adaptive cards in Teams. You can still see approvals information by going to Power Automate (https://flow.microsoft.com for commercial cloud customers or https://gov.flow.microsoft.us for GCC customers) and then selecting Action items | Approvals.
Next, we'll look at administering the Approvals app in Microsoft Teams.
Beginning in April 2021, Approval templates were released to public preview. Is this now complete, as it's 2022? Consider updating if so to keep this relevant.
Approval templates let teams and business owners deploy standardized approvals throughout their organization. Templates integrate functionality from both Approvals and Microsoft Forms and provide reuse capabilities for everyone in the organization.
Teams provides a set of popular approval template forms. To access them, launch the Approvals app, select the ellipsis next to + New template, and then select Manage templates, as shown here:
Figure 2.10 – Manage templates
As shown in the following screenshot, templates have scopes – that is, areas where they may be available as used or applied. Some templates may be Org wide, while others may only be available to be used by individual users or in teams:
Figure 2.11 – Template management scopes
A template's scope determines its data storage location (either tenant data storage or tied to an individual team's storage).
When you create your first organization-wide template, a new team is created called Approvals App Admin team (with a matching Microsoft 365 group). Members of this team have access to administer org-wide templates. These administrators can share the management duty for any org-wide template.
Approvals and approval templates do have some limitations, however, that you'll want to be aware of:
Approvals that are created through the Approvals app are stored in Dataverse, which doesn't currently support backups.Each team is limited to 400 approval templates.Each template based on Microsoft Forms can collect a maximum of 50,000 responses or requests.In the following example, we'll create an org-wide template to demonstrate how to create an Approvals template and then look at the underlying Azure Active Directory components.
To create an org-wide template, follow these steps:
Launch Microsoft Teams and launch the Approvals app.Select the ellipsis next to + New approval request and select Manage templates.On the Template management page, ensure that the scope is set to Org wide.Under Start with a popular template, select View more.Select a template, such as the Business card template:Figure 2.12 – Selecting an approval template
Choose Org wide:Figure 2.13 – Selecting the template's scope
Acknowledge the notification and click Create:Figure 2.14 – Notification for admin team creation
Update any content as necessary on the Basic settings page for the template (such as the category or description) and click Next:Figure 2.15 – Template management – Basic settings
Customize the form if desired. You can click the + Add new button at the bottom of the page to add additional form fields, such as radio button choices, text fields, or date fields. Once you've finished customizing the form, click Next:Figure 2.16 – Customizing the approval form's design
Specify additional customizations, such as custom approval or rejecting responses, a standard list of approvers, or whether a file attachment is required. Select Preview to preview the form:Figure 2.17 – Template workflow customization page
Verify that the form looks as intended. Click Cancel to go back and continue editing or choose Publish to finalize the form and make it available for use in the tenant:Figure 2.18 – Approval form preview
Once the template has been published, it's ready to be implemented by end users. To access the new Approvals template, end users simply need to launch the Approvals app, select + New approval request, and then select the appropriate template from the templates tab, as shown in the following screenshot:
Figure 2.19 – Using Approvals templates
As we mentioned previously, after creating the first org-wide template, a new team is created called Approvals App Admin team. You can locate that team in the Teams view, as shown in the following screenshot:
Figure 2.20 – Approvals App Admin team
The initial member of the team is the creator of the first org-wide template, though you can add other administrators later to help share the load.
As we also mentioned previously, when you create a custom template, the form is stored as Microsoft Forms data. You can see the current org-wide forms templates by logging into https://forms.office.com. As shown in the following screenshot, the approval template form we created is stored in Microsoft Forms. If you delete the form that's tied to an approval template, the template will no longer work:
Figure 2.21 – Teams approval Forms data
Now that you understand how custom templates work, let's shift gears and look at the administration of the Approvals app.
As we discussed earlier, the Approvals app utilizes Dataverse (formerly known as the Common Data Service). Approvals content (depending on the data type and fields) is stored in a combination of places – Dataverse and Microsoft Forms.
Approvals templates that you may create are stored in an area called Substrate Data Storage (SDS), either in the tenant shard (organization templates) or groups shard (team templates). Deleting a team will delete the associated templates. The first time an administrator creates an org-wide template, a new team will be provisioned.
In the following sections, we'll look at using org-wide settings, as well as permissions policies, to manage access to the Approvals app.
As an administrator, you can control who has access to the Approvals app by enabling or disabling the Teams app globally or by using the Teams app's permissions policies.
To turn off the app tenant using org-wide app settings, follow these steps:
Navigate to the Microsoft Teams admin center at https://admin.teams.microsoft.com.Expand Teams apps and then select Manage apps:Figure 2.22 – Manage apps in the Teams admin center
In the Search by name box, enter Approvals:Figure 2.23 – Filtering the app list
Select the Approvals app and then click Block on the menu bar.Confirm this choice by clicking Block:Figure 2.24 – Confirming that you're blocking the app
Confirm that the app shows Blocked in the Status column.Now that you've learned how to manage access broadly with the org-wide settings, we'll look at managing the app with a permissions policy.
If managing the Approvals app org-wide doesn't meet your business needs, you can perform a more granular deployment. You can configure a permission policy to block the app for a subset of users in the tenant.
To use a permissions policy, follow these steps:
Navigate to Microsoft Teams admin center at https://admin.teams.microsoft.com.Expand Teams apps and then select Permission policies.Click + Add to create a new permission policy.In the Add app permission policy text area, enter a name for the policy, such as Block Approvals.Under Microsoft apps, click the dropdown and select Block specific apps and allow all others:Figure 2.25 – Configuring the permission policy
Click Block apps.Search for theApprovals app and then click Add. When you're finished, click Block:Figure 2.26 – Adding the Approvals app to the block list
Click Save.Once you have created a permission policy, you can apply it to users to block the use of the app. When you're applying permissions policies through the user interface, you can assign them to individual users or groups. Microsoft recommends configuring the org-wide default policy to set the baseline for your organization and then applying policies to users (or groups of users) that require specialized or custom assignments.
The new functionality of the Approvals app in Teams showcases Microsoft's focus on using Microsoft Teams as a modern hub for work. In this chapter, you learned how to create both standard and custom approvals with the native Microsoft Teams Approvals app. You had a look at approvals from both the requester's and approver's points of view so that you know what to expect.
You also learned how to manage org-wide settings and permission policies to control the use of the Approvals app inside Microsoft Teams. In the next chapter, we'll begin exploring the task management options that are available in Microsoft Teams.
The approvals functionality described in this chapter only applies to Worldwide Commercial instances of Microsoft Teams at this time. Customers that have been deployed in other sovereign clouds such as the Government Community Cloud, Office 365 Germany, or Office 365 China, which is managed by 21ViaNet, may not have access to the Approvals app. If your tenant does not have access to the Approvals app, you will need to create and manage approvals through Microsoft Power Automate workflows.
For more information on managing approvals with Microsoft Power Automate, see Chapter 9, Getting Started with Approvals, and Chapter 11, Posting Approvals to Teams, in Workflow Automation with Microsoft Power Automate (ISBN: 978-1839213793).
Office 365 contains multiple tools for managing team assignments and personal tasks. Microsoft Planner