Expert Microsoft Teams Solutions - Aaron Guilmette - E-Book

Expert Microsoft Teams Solutions E-Book

Aaron Guilmette

0,0
35,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

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:

EPUB
MOBI

Seitenzahl: 461

Veröffentlichungsjahr: 2022

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Expert Microsoft Teams Solutions

A guide to Teams architecture and integration for advanced end users and administrators

Aaron Guilmette

Yura Lee

Grant Oliasani

Angel Aviles

BIRMINGHAM—MUMBAI

Expert Microsoft Teams Solutions

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

Contributors

About the authors

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.

About the reviewers

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.

Table of Contents

Preface

Part 1: Collaboration and Apps

Chapter 1: Taking a Tour of Microsoft Teams

Architecture

Identity

Messaging

Files

Voicemail

Recording

Calendars and meetings

Contacts

Architecture deep dive

User Interface

Activity

Chat and presence

Teams

Calendar

Calls

Files

More added apps

Apps store

Help

Download mobile app

Summary

Chapter 2: Approvals

Technical requirements

Creating approvals

Responding to approvals

Approval templates

Administration of Approvals app

Using org-wide app settings to manage the Approvals app

Using a permissions policy to manage the Approvals app

Summary

Further reading

Chapter 3: Task Management in Teams

Technical requirements

Planner in Teams

To Do App

The Tasks App in Teams

Planner in Teams

Adding Planner to your Team

Creating Buckets and Tasks

Planner Views

To Do App

Creating Tasks in To Do

Editing Tasks in To Do

Creating Lists in To Do

Integration with Microsoft Planner

The Tasks App in Teams

Adding the Tasks app to Teams

Tracking tasks in My tasks

Managing plans in the Tasks app

Summary

Chapter 4: Bookings in Teams

Technical requirements

Bookings using the web app

Creating a Bookings Calendar

Calendar settings for Bookings

Bookings using Teams

Creating a Bookings calendar in Teams

Bookings calendar settings in Teams

Scheduling appointments in Teams

Differences between the Bookings web and Teams apps

Summary

Part 2: Meetings

Chapter 5: Conducting Teams Meetings

Technical requirements

Overview of Meetings in Microsoft Teams

Types of meetings in Microsoft Teams

Scheduled meetings

Ad hoc Teams meetings

Channel meetings

Meeting Features

Video and background features

Sharing

In-meeting experiences

Meeting Options

Audio Conferencing in Microsoft Teams

Summary

Chapter 6: Microsoft Teams Rooms

Licensing

Licensing requirements

Resource accounts

Configuration and recommendations

Device preparation

Account configuration

Managing room scheduling

Room locations and lists

Resource booking

Summary

Chapter 7: Live Events

Technical requirements

Introducing Microsoft Team Live Events

Scheduling a Live Event

Administrator policies for Live Events in Teams

Live event customizations

Live event roles

Presenting and Sharing Content

Sharing invitations

External production

Summary

Part 3: Bots and Development

Chapter 8: Power Apps in Teams

Technical requirements

Adding an existing app to Teams

Building an app from a template

Embedding an app as a tab

Embedding as a personal app

Publishing apps for users

Building an app in Teams

Creating a Dataverse for Teams environment

Creating tables in Dataverse for Teams

Building the UI

Adding the Dataverse app to Team

Summary

Chapter 9: Workflow Integration

Technical requirements

Solution Overview

Configuring a team

Configuring a form

Creating the flow from Microsoft Teams

Creating the flow from the Power Automate portal

Testing the solution

Summary

Chapter 10: Power Virtual Agents in Teams

Technical requirements

Creating a bot

Adding topics

Configuring topics

Integrating with Power Automate

Publishing a bot

Monitoring usage

Summary

Part 4: Voice

Chapter 11: Planning for Teams Phone

Terminology and concepts

Teams Phone

Phone numbers

Session Initiation Protocol

Session Border Controller

Service numbers

Auto attendants

Call queues

Audio conferencing

Resource accounts

Dial plans

Calling features

Contact center

Selecting an architecture

Calling Plans for Microsoft 365

Direct Routing

Operator Connect

Planning network requirements

Network requirements

Bandwidth requirements

Ports

Split-tunnel VPN

Quality of Service

Teams Network Planner

Best practices and additional network tools

Summary

Further reading

Chapter 12: Deploying Teams Phone

Configuring your telephony architecture

Configuring E911

Defining trusted IPs

Building the LIS

Civic address creation

Testing emergency locations

Dynamic E911 for US Work from Home

Configuring emergency policies

Configuring Calling Plans

Working with phone numbers

Working with communications credits

Configuring Teams voice policies

Calling policies

Configuring a calling policy

Assigning a calling policy

Call park policies

Caller ID policies

Configuring outbound calling

Configuring outbound calling for a user

Configuring outbound calling for multiple users

Summary

Chapter 13: Configuring Advanced Teams Phone Features

Configuring resource accounts

Creating a resource account

Acquiring virtual user licenses

Assigning licenses to a resource account

Ordering a service number

Assigning a service number

Configuring holidays

Configuring auto attendants

Configuring call queues

Understanding voice-enabled channels

Summary

Chapter 14: Teams Devices

Benefits of certified devices

Rich audio and video quality

Plug-and-play support

Integrated call controls

Advanced indicators and extensibility

Choosing the right device

Webcams

Headsets

Handsets or desk phones

Teams Rooms

Teams displays

Teams panels

Surface Hub devices

Summary

Part 5: Administration

Chapter 15: Planning and Adoption

Introducing the Microsoft Adoption Framework

Starting your strategy

Identifying your project team members and stakeholders

Understanding the product

Assessing organizational readiness

Experimenting with early adopters

Finding your champions

Developing a governance strategy

Identifying usage scenarios and telling user stories

Interviewing business stakeholders

Onboarding Support

Onboarding Early Adopters

Scaling to the rest of your organization

Defining success

Selecting a service enablement strategy

Optimizing feedback

Driving awareness

Delivering a training program

Establishing checkpoints and reviews

Planning for change management and support

Using a roles matrix

A sample adoption plan

Summary

Further Reading

Chapter 16: Governance

Security

Sharing and access controls

Classification with sensitivity labels

Approved apps

Compliance

Frameworks and documentation

Retention and Disposal

Information barriers and Supervised chat

Compliance filters, boundaries, and eDiscovery

Life cycle management

Provisioning and retirement

Access packages

Building a governance team

Governance questionnaire

Summary

Chapter 17: Integration with Exchange Server

Technical requirements

Overview of the Teams and Exchange Server hybrid

Enabling hybrid features

Verifying your domains

Updating your on-premises user principal names

Configuring Azure Active Directory Connect

Running the Exchange Hybrid Configuration Wizard

Reviewing manual configuration steps

Assigning licenses

Verifying your Teams integration

Summary

Chapter 18: Security and Data Protection

Technical requirements

Conditional Access

Requiring multi-factor authentication for all users not on trusted networks

Testing the Conditional Access policy

Data Loss Prevention

Creating a Sensitive Information Type

Testing a Sensitive Information Type

Creating a Data Loss Prevention Policy

Testing the Data Loss Prevention Policy

Summary

Chapter 19: Reporting in Teams

Technical requirements

Teams usage report

Teams apps usage report

Live event usage report

User-based call reports

PSTN-based reports

Call Quality Dashboard and Quality of Service

Setting up the CQD

Analyzing the CQD

Auto-attendant and call queue reporting

Summary

Appendix A: Direct Routing and Operator Connect

Planning considerations for Direct Routing

Verifying the prerequisites

Direct Routing and dynamic E911 considerations

Enabling Operator Connect

Summary

Other Books You May Enjoy

Preface

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.

Who this book is for

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.

What this book covers

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 get the most out of this book

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.

Download the example code files

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!

Download the color images

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.

Conventions used

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.

Get in touch

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.

Share Your Thoughts

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.

Part 1: Collaboration and Apps

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 Teams

Chapter 1: Taking a Tour of Microsoft Teams

Welcome 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 interface

Once you have those basics under your belt, we'll be getting into the more advanced features and capabilities.

Let's get going!

Architecture

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 meetingsContacts

Let's expand further on some of these.

Identity

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.

Messaging

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.

Files

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.

Voicemail

If a user is configured for telephony features, any voicemails they receive are stored as audio files in the individual user's mailbox.

Recording

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.

Calendars and meetings

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.

Contacts

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.

Architecture deep dive

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.

Microsoft 365 Groups

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 Online

Microsoft 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.

Teams

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.

User Interface

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.

Activity

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.

Chat and presence

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 disturbAwayOffline

Each 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).

Teams

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.

Calendar

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.

Calls

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.

Files

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.

More added apps

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.

Apps store

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.

Help

The Help link provides access to web-based training and feedback options.

Download mobile app

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.

Summary

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.

Chapter 2: Approvals

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 app

By 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!

Technical requirements

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 templates

Once you've met those requirements, you can begin creating approvals.

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.

Responding to approvals

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.

Approval templates

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.

Administration of 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.

Using org-wide app settings to manage 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.

Using a permissions policy to manage the Approvals app

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.

Summary

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.

Further reading

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).

Chapter 3: Task Management in Teams

Office 365 contains multiple tools for managing team assignments and personal tasks. Microsoft Planner