Nothing Special   »   [go: up one dir, main page]

PL 900T00A ENU TrainerHandbook - FSI

Download as pdf or txt
Download as pdf or txt
You are on page 1of 228

Microsoft

Official
Course

PL-900T00
Microsoft Power Platform
Fundamentals
PL-900T00
Microsoft Power Platform
Fundamentals
II Disclaimer

Information in this document, including URL and other Internet Web site references, is subject to change
without notice. Unless otherwise noted, the example companies, organizations, products, domain names,
e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with
any real company, organization, product, domain name, e-mail address, logo, person, place or event is
intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the
user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in
or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical,
photocopying, recording, or otherwise), or for any purpose, without the express written permission of
Microsoft Corporation.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property
rights covering subject matter in this document. Except as expressly provided in any written license
agreement from Microsoft, the furnishing of this document does not give you any license to these
patents, trademarks, copyrights, or other intellectual property.

The names of manufacturers, products, or URLs are provided for informational purposes only and   
Microsoft makes no representations and warranties, either expressed, implied, or statutory, regarding
these manufacturers or the use of the products with any Microsoft technologies. The inclusion of a
manufacturer or product does not imply endorsement of Microsoft of the manufacturer or product. Links
may be provided to third party sites. Such sites are not under the control of Microsoft and Microsoft is
not responsible for the contents of any linked site or any link contained in a linked site, or any changes or
updates to such sites. Microsoft is not responsible for webcasting or any other form of transmission
received from any linked site. Microsoft is providing these links to you only as a convenience, and the
inclusion of any link does not imply endorsement of Microsoft of the site or the products contained  
therein.

© 2019 Microsoft Corporation. All rights reserved.

Microsoft and the trademarks listed at http://www.microsoft.com/trademarks 1are trademarks of the


Microsoft group of companies. All other trademarks are property of their respective owners.

1 http://www.microsoft.com/trademarks
EULA III

MICROSOFT LICENSE TERMS


MICROSOFT INSTRUCTOR-LED COURSEWARE
These license terms are an agreement between Microsoft Corporation (or based on where you live, one
of its affiliates) and you. Please read them. They apply to your use of the content accompanying this
agreement which includes the media on which you received it, if any. These license terms also apply to
Trainer Content and any updates and supplements for the Licensed Content unless other terms accompa-
ny those items. If so, those terms apply.
BY ACCESSING, DOWNLOADING OR USING THE LICENSED CONTENT, YOU ACCEPT THESE TERMS.
IF YOU DO NOT ACCEPT THEM, DO NOT ACCESS, DOWNLOAD OR USE THE LICENSED CONTENT.
If you comply with these license terms, you have the rights below for each license you acquire.
1. DEFINITIONS.
1. “Authorized Learning Center” means a Microsoft Imagine Academy (MSIA) Program Member,
Microsoft Learning Competency Member, or such other entity as Microsoft may designate from
time to time.
2. “Authorized Training Session” means the instructor-led training class using Microsoft Instruc-
tor-Led Courseware conducted by a Trainer at or through an Authorized Learning Center.
3. “Classroom Device” means one (1) dedicated, secure computer that an Authorized Learning Center
owns or controls that is located at an Authorized Learning Center’s training facilities that meets or
exceeds the hardware level specified for the particular Microsoft Instructor-Led Courseware.
4. “End User” means an individual who is (i) duly enrolled in and attending an Authorized Training
Session or Private Training Session, (ii) an employee of an MPN Member (defined below), or (iii) a
Microsoft full-time employee, a Microsoft Imagine Academy (MSIA) Program Member, or a
Microsoft Learn for Educators – Validated Educator.
5. “Licensed Content” means the content accompanying this agreement which may include the
Microsoft Instructor-Led Courseware or Trainer Content.
6. “Microsoft Certified Trainer” or “MCT” means an individual who is (i) engaged to teach a training
session to End Users on behalf of an Authorized Learning Center or MPN Member, and (ii) current-
ly certified as a Microsoft Certified Trainer under the Microsoft Certification Program.
7. “Microsoft Instructor-Led Courseware” means the Microsoft-branded instructor-led training course
that educates IT professionals, developers, students at an academic institution, and other learners
on Microsoft technologies. A Microsoft Instructor-Led Courseware title may be branded as MOC,
Microsoft Dynamics, or Microsoft Business Group courseware.
8. “Microsoft Imagine Academy (MSIA) Program Member” means an active member of the Microsoft
Imagine Academy Program.
9. “Microsoft Learn for Educators – Validated Educator” means an educator who has been validated
through the Microsoft Learn for Educators program as an active educator at a college, university,
community college, polytechnic or K-12 institution.
10. “Microsoft Learning Competency Member” means an active member of the Microsoft Partner
Network program in good standing that currently holds the Learning Competency status.
11. “MOC” means the “Official Microsoft Learning Product” instructor-led courseware known as
Microsoft Official Course that educates IT professionals, developers, students at an academic
institution, and other learners on Microsoft technologies.
12. “MPN Member” means an active Microsoft Partner Network program member in good standing.
IV EULA

13. “Personal Device” means one (1) personal computer, device, workstation or other digital electronic
device that you personally own or control that meets or exceeds the hardware level specified for
the particular Microsoft Instructor-Led Courseware.
14. “Private Training Session” means the instructor-led training classes provided by MPN Members for
corporate customers to teach a predefined learning objective using Microsoft Instructor-Led
Courseware. These classes are not advertised or promoted to the general public and class attend-
ance is restricted to individuals employed by or contracted by the corporate customer.
15. “Trainer” means (i) an academically accredited educator engaged by a Microsoft Imagine Academy
Program Member to teach an Authorized Training Session, (ii) an academically accredited educator
validated as a Microsoft Learn for Educators – Validated Educator, and/or (iii) a MCT.
16. “Trainer Content” means the trainer version of the Microsoft Instructor-Led Courseware and
additional supplemental content designated solely for Trainers’ use to teach a training session
using the Microsoft Instructor-Led Courseware. Trainer Content may include Microsoft PowerPoint
presentations, trainer preparation guide, train the trainer materials, Microsoft One Note packs,
classroom setup guide and Pre-release course feedback form. To clarify, Trainer Content does not
include any software, virtual hard disks or virtual machines.
2. USE RIGHTS. The Licensed Content is licensed, not sold. The Licensed Content is licensed on a one
copy per user basis, such that you must acquire a license for each individual that accesses or uses the
Licensed Content.
●● 2.1 Below are five separate sets of use rights. Only one set of rights apply to you.
1. If you are a Microsoft Imagine Academy (MSIA) Program Member:
1. Each license acquired on behalf of yourself may only be used to review one (1) copy of the
Microsoft Instructor-Led Courseware in the form provided to you. If the Microsoft Instruc-
tor-Led Courseware is in digital format, you may install one (1) copy on up to three (3)
Personal Devices. You may not install the Microsoft Instructor-Led Courseware on a device
you do not own or control.
2. For each license you acquire on behalf of an End User or Trainer, you may either:

1. distribute one (1) hard copy version of the Microsoft Instructor-Led Courseware to one
(1) End User who is enrolled in the Authorized Training Session, and only immediately
prior to the commencement of the Authorized Training Session that is the subject matter
of the Microsoft Instructor-Led Courseware being provided, or
2. provide one (1) End User with the unique redemption code and instructions on how they
can access one (1) digital version of the Microsoft Instructor-Led Courseware, or
3. provide one (1) Trainer with the unique redemption code and instructions on how they
can access one (1) Trainer Content.
3. For each license you acquire, you must comply with the following:

1. you will only provide access to the Licensed Content to those individuals who have
acquired a valid license to the Licensed Content,
2. you will ensure each End User attending an Authorized Training Session has their own
valid licensed copy of the Microsoft Instructor-Led Courseware that is the subject of the
Authorized Training Session,
3. you will ensure that each End User provided with the hard-copy version of the Microsoft
Instructor-Led Courseware will be presented with a copy of this agreement and each End
EULA V

User will agree that their use of the Microsoft Instructor-Led Courseware will be subject
to the terms in this agreement prior to providing them with the Microsoft Instructor-Led
Courseware. Each individual will be required to denote their acceptance of this agree-
ment in a manner that is enforceable under local law prior to their accessing the Micro-
soft Instructor-Led Courseware,
4. you will ensure that each Trainer teaching an Authorized Training Session has their own
valid licensed copy of the Trainer Content that is the subject of the Authorized Training
Session,
5. you will only use qualified Trainers who have in-depth knowledge of and experience with
the Microsoft technology that is the subject of the Microsoft Instructor-Led Courseware
being taught for all your Authorized Training Sessions,
6. you will only deliver a maximum of 15 hours of training per week for each Authorized
Training Session that uses a MOC title, and
7. you acknowledge that Trainers that are not MCTs will not have access to all of the trainer
resources for the Microsoft Instructor-Led Courseware.
2. If you are a Microsoft Learning Competency Member:
1. Each license acquire may only be used to review one (1) copy of the Microsoft Instruc-
tor-Led Courseware in the form provided to you. If the Microsoft Instructor-Led Course-
ware is in digital format, you may install one (1) copy on up to three (3) Personal Devices.
You may not install the Microsoft Instructor-Led Courseware on a device you do not own or
control.
2. For each license you acquire on behalf of an End User or MCT, you may either:
1. distribute one (1) hard copy version of the Microsoft Instructor-Led Courseware to one
(1) End User attending the Authorized Training Session and only immediately prior to
the commencement of the Authorized Training Session that is the subject matter of the
Microsoft Instructor-Led Courseware provided, or
2. provide one (1) End User attending the Authorized Training Session with the unique
redemption code and instructions on how they can access one (1) digital version of the
Microsoft Instructor-Led Courseware, or
3. you will provide one (1) MCT with the unique redemption code and instructions on how
they can access one (1) Trainer Content.
3. For each license you acquire, you must comply with the following:
1. you will only provide access to the Licensed Content to those individuals who have
acquired a valid license to the Licensed Content,
2. you will ensure that each End User attending an Authorized Training Session has their
own valid licensed copy of the Microsoft Instructor-Led Courseware that is the subject of
the Authorized Training Session,
3. you will ensure that each End User provided with a hard-copy version of the Microsoft
Instructor-Led Courseware will be presented with a copy of this agreement and each End
User will agree that their use of the Microsoft Instructor-Led Courseware will be subject
to the terms in this agreement prior to providing them with the Microsoft Instructor-Led
Courseware. Each individual will be required to denote their acceptance of this agree-
ment in a manner that is enforceable under local law prior to their accessing the Micro-
soft Instructor-Led Courseware,
VI EULA

4. you will ensure that each MCT teaching an Authorized Training Session has their own
valid licensed copy of the Trainer Content that is the subject of the Authorized Training
Session,
5. you will only use qualified MCTs who also hold the applicable Microsoft Certification
credential that is the subject of the MOC title being taught for all your Authorized
Training Sessions using MOC,
6. you will only provide access to the Microsoft Instructor-Led Courseware to End Users,
and
7. you will only provide access to the Trainer Content to MCTs.
3. If you are a MPN Member:
1. Each license acquired on behalf of yourself may only be used to review one (1) copy of the
Microsoft Instructor-Led Courseware in the form provided to you. If the Microsoft Instruc-
tor-Led Courseware is in digital format, you may install one (1) copy on up to three (3)
Personal Devices. You may not install the Microsoft Instructor-Led Courseware on a device
you do not own or control.
2. For each license you acquire on behalf of an End User or Trainer, you may either:

1. distribute one (1) hard copy version of the Microsoft Instructor-Led Courseware to one
(1) End User attending the Private Training Session, and only immediately prior to the
commencement of the Private Training Session that is the subject matter of the Micro-
soft Instructor-Led Courseware being provided, or
2. provide one (1) End User who is attending the Private Training Session with the unique
redemption code and instructions on how they can access one (1) digital version of the
Microsoft Instructor-Led Courseware, or
3. you will provide one (1) Trainer who is teaching the Private Training Session with the
unique redemption code and instructions on how they can access one (1) Trainer
Content.
3. For each license you acquire, you must comply with the following:

1. you will only provide access to the Licensed Content to those individuals who have
acquired a valid license to the Licensed Content,
2. you will ensure that each End User attending an Private Training Session has their own
valid licensed copy of the Microsoft Instructor-Led Courseware that is the subject of the
Private Training Session,
3. you will ensure that each End User provided with a hard copy version of the Microsoft
Instructor-Led Courseware will be presented with a copy of this agreement and each End
User will agree that their use of the Microsoft Instructor-Led Courseware will be subject
to the terms in this agreement prior to providing them with the Microsoft Instructor-Led
Courseware. Each individual will be required to denote their acceptance of this agree-
ment in a manner that is enforceable under local law prior to their accessing the Micro-
soft Instructor-Led Courseware,
4. you will ensure that each Trainer teaching an Private Training Session has their own valid
licensed copy of the Trainer Content that is the subject of the Private Training Session,
EULA VII

5. you will only use qualified Trainers who hold the applicable Microsoft Certification
credential that is the subject of the Microsoft Instructor-Led Courseware being taught
for all your Private Training Sessions,
6. you will only use qualified MCTs who hold the applicable Microsoft Certification creden-
tial that is the subject of the MOC title being taught for all your Private Training Sessions
using MOC,
7. you will only provide access to the Microsoft Instructor-Led Courseware to End Users,
and
8. you will only provide access to the Trainer Content to Trainers.
4. If you are an End User:
For each license you acquire, you may use the Microsoft Instructor-Led Courseware solely for
your personal training use. If the Microsoft Instructor-Led Courseware is in digital format, you
may access the Microsoft Instructor-Led Courseware online using the unique redemption code
provided to you by the training provider and install and use one (1) copy of the Microsoft
Instructor-Led Courseware on up to three (3) Personal Devices. You may also print one (1) copy
of the Microsoft Instructor-Led Courseware. You may not install the Microsoft Instructor-Led
Courseware on a device you do not own or control.
5. If you are a Trainer.
1. For each license you acquire, you may install and use one (1) copy of the Trainer Content in
the form provided to you on one (1) Personal Device solely to prepare and deliver an
Authorized Training Session or Private Training Session, and install one (1) additional copy
on another Personal Device as a backup copy, which may be used only to reinstall the
Trainer Content. You may not install or use a copy of the Trainer Content on a device you do
not own or control. You may also print one (1) copy of the Trainer Content solely to prepare
for and deliver an Authorized Training Session or Private Training Session.
2. If you are an MCT, you may customize the written portions of the Trainer Content that are
logically associated with instruction of a training session in accordance with the most recent
version of the MCT agreement.
3. If you elect to exercise the foregoing rights, you agree to comply with the following: (i)
customizations may only be used for teaching Authorized Training Sessions and Private
Training Sessions, and (ii) all customizations will comply with this agreement. For clarity, any
use of “customize” refers only to changing the order of slides and content, and/or not using
all the slides or content, it does not mean changing or modifying any slide or content.
●● 2.2 Separation of Components. The Licensed Content is licensed as a single unit and you
may not separate their components and install them on different devices.
●● 2.3 Redistribution of Licensed Content. Except as expressly provided in the use rights
above, you may not distribute any Licensed Content or any portion thereof (including any permit-
ted modifications) to any third parties without the express written permission of Microsoft.
●● 2.4 Third Party Notices. The Licensed Content may include third party code that Micro-
soft, not the third party, licenses to you under this agreement. Notices, if any, for the third party
code are included for your information only.
●● 2.5 Additional Terms. Some Licensed Content may contain components with additional
terms, conditions, and licenses regarding its use. Any non-conflicting terms in those conditions
and licenses also apply to your use of that respective component and supplements the terms
described in this agreement.
VIII EULA

3. LICENSED CONTENT BASED ON PRE-RELEASE TECHNOLOGY. If the Licensed Content’s subject


matter is based on a pre-release version of Microsoft technology (“Pre-release”), then in addition to
the other provisions in this agreement, these terms also apply:
1. Pre-Release Licensed Content. This Licensed Content subject matter is on the Pre-release
version of the Microsoft technology. The technology may not work the way a final version of the
technology will and we may change the technology for the final version. We also may not release a
final version. Licensed Content based on the final version of the technology may not contain the
same information as the Licensed Content based on the Pre-release version. Microsoft is under no
obligation to provide you with any further content, including any Licensed Content based on the
final version of the technology.
2. Feedback. If you agree to give feedback about the Licensed Content to Microsoft, either directly
or through its third party designee, you give to Microsoft without charge, the right to use, share
and commercialize your feedback in any way and for any purpose. You also give to third parties,
without charge, any patent rights needed for their products, technologies and services to use or
interface with any specific parts of a Microsoft technology, Microsoft product, or service that
includes the feedback. You will not give feedback that is subject to a license that requires Micro-
soft to license its technology, technologies, or products to third parties because we include your
feedback in them. These rights survive this agreement.
3. Pre-release Term. If you are an Microsoft Imagine Academy Program Member, Microsoft Learn-
ing Competency Member, MPN Member, Microsoft Learn for Educators – Validated Educator, or
Trainer, you will cease using all copies of the Licensed Content on the Pre-release technology upon
(i) the date which Microsoft informs you is the end date for using the Licensed Content on the
Pre-release technology, or (ii) sixty (60) days after the commercial release of the technology that is
the subject of the Licensed Content, whichever is earliest (“Pre-release term”). Upon expiration or
termination of the Pre-release term, you will irretrievably delete and destroy all copies of the
Licensed Content in your possession or under your control.
4. SCOPE OF LICENSE. The Licensed Content is licensed, not sold. This agreement only gives you some
rights to use the Licensed Content. Microsoft reserves all other rights. Unless applicable law gives you
more rights despite this limitation, you may use the Licensed Content only as expressly permitted in
this agreement. In doing so, you must comply with any technical limitations in the Licensed Content
that only allows you to use it in certain ways. Except as expressly permitted in this agreement, you
may not:
●● access or allow any individual to access the Licensed Content if they have not acquired a valid
license for the Licensed Content,
●● alter, remove or obscure any copyright or other protective notices (including watermarks), brand-
ing or identifications contained in the Licensed Content,
●● modify or create a derivative work of any Licensed Content,
●● publicly display, or make the Licensed Content available for others to access or use,
●● copy, print, install, sell, publish, transmit, lend, adapt, reuse, link to or post, make available or
distribute the Licensed Content to any third party,
●● work around any technical limitations in the Licensed Content, or
●● reverse engineer, decompile, remove or otherwise thwart any protections or disassemble the
Licensed Content except and only to the extent that applicable law expressly permits, despite this
limitation.
5. RESERVATION OF RIGHTS AND OWNERSHIP. Microsoft reserves all rights not expressly granted to
you in this agreement. The Licensed Content is protected by copyright and other intellectual property
EULA IX

laws and treaties. Microsoft or its suppliers own the title, copyright, and other intellectual property
rights in the Licensed Content.
6. EXPORT RESTRICTIONS. The Licensed Content is subject to United States export laws and regula-
tions. You must comply with all domestic and international export laws and regulations that apply to
the Licensed Content. These laws include restrictions on destinations, end users and end use. For
additional information, see www.microsoft.com/exporting.
7. SUPPORT SERVICES. Because the Licensed Content is provided “as is”, we are not obligated to
provide support services for it.
8. TERMINATION. Without prejudice to any other rights, Microsoft may terminate this agreement if you
fail to comply with the terms and conditions of this agreement. Upon termination of this agreement
for any reason, you will immediately stop all use of and delete and destroy all copies of the Licensed
Content in your possession or under your control.
9. LINKS TO THIRD PARTY SITES. You may link to third party sites through the use of the Licensed
Content. The third party sites are not under the control of Microsoft, and Microsoft is not responsible
for the contents of any third party sites, any links contained in third party sites, or any changes or
updates to third party sites. Microsoft is not responsible for webcasting or any other form of trans-
mission received from any third party sites. Microsoft is providing these links to third party sites to
you only as a convenience, and the inclusion of any link does not imply an endorsement by Microsoft
of the third party site.
10. ENTIRE AGREEMENT. This agreement, and any additional terms for the Trainer Content, updates and
supplements are the entire agreement for the Licensed Content, updates and supplements.
11. APPLICABLE LAW.
1. United States. If you acquired the Licensed Content in the United States, Washington state law
governs the interpretation of this agreement and applies to claims for breach of it, regardless of
conflict of laws principles. The laws of the state where you live govern all other claims, including
claims under state consumer protection laws, unfair competition laws, and in tort.
2. Outside the United States. If you acquired the Licensed Content in any other country, the laws of
that country apply.
12. LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the
laws of your country. You may also have rights with respect to the party from whom you acquired the
Licensed Content. This agreement does not change your rights under the laws of your country if the
laws of your country do not permit it to do so.
13. DISCLAIMER OF WARRANTY. THE LICENSED CONTENT IS LICENSED "AS-IS" AND "AS AVAILA-
BLE." YOU BEAR THE RISK OF USING IT. MICROSOFT AND ITS RESPECTIVE AFFILIATES GIVES NO
EXPRESS WARRANTIES, GUARANTEES, OR CONDITIONS. YOU MAY HAVE ADDITIONAL CON-
SUMER RIGHTS UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO
THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT AND ITS RESPECTIVE AFFILI-
ATES EXCLUDES ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICU-
LAR PURPOSE AND NON-INFRINGEMENT.
14. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM
MICROSOFT, ITS RESPECTIVE AFFILIATES AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO
US$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST
PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
X EULA

This limitation applies to


●● anything related to the Licensed Content, services, content (including code) on third party Internet
sites or third-party programs; and
●● claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence,
or other tort to the extent permitted by applicable law.
It also applies even if Microsoft knew or should have known about the possibility of the damages. The
above limitation or exclusion may not apply to you because your country may not allow the exclusion
or limitation of incidental, consequential, or other damages.
Please note: As this Licensed Content is distributed in Quebec, Canada, some of the clauses in this
agreement are provided below in French.
Remarque : Ce le contenu sous licence étant distribué au Québec, Canada, certaines des clauses
dans ce contrat sont fournies ci-dessous en français.
EXONÉRATION DE GARANTIE. Le contenu sous licence visé par une licence est offert « tel quel ». Toute
utilisation de ce contenu sous licence est à votre seule risque et péril. Microsoft n’accorde aucune autre
garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection
dues consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les
garanties implicites de qualité marchande, d’adéquation à un usage particulier et d’absence de contre-
façon sont exclues.
LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAG-
ES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages
directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les
autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices.
Cette limitation concerne:
●● tout ce qui est relié au le contenu sous licence, aux services ou au contenu (y compris le code)
figurant sur des sites Internet tiers ou dans des programmes tiers; et.
●● les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de
négligence ou d’une autre faute dans la limite autorisée par la loi en vigueur.
Elle s’applique également, même si Microsoft connaissait ou devrait connaître l’éventualité d’un tel
dommage. Si votre pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages
indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus
ne s’appliquera pas à votre égard.
EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d’autres droits
prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois
de votre pays si celles-ci ne le permettent pas.
Revised April 2019
Contents

■■ Module 0 Course Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1


Welcome to your Power Platform course . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1
■■ Module 1 Introduction to Power Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
Power Platform overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
Module summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  10
■■ Module 2 Introduction to Common Data Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  15
Common Data Service overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  15
Module summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  24
■■ Module 3 Get Started with Power Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  29
Introduction to Power Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  29
How to build a canvas app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  36
How to build a model-driven app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  57
Introduction to Power Apps portals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  77
■■ Module 4 Get Started with Power Automate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  99
Power Automate overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  99
How to Build an Automated Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  107
■■ Module 5 Get Started with Power BI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  135
Power BI overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  135
How to Build a Simple Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  165
■■ Module 6 Get Started with Power Virtual Agents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  187
Power Virtual Agents overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  187
How to build a basic chatbot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  195
Module 0 Course Introduction

Welcome to your Power Platform course


Welcome to the course!
Welcome to PL-900, Microsoft Power Platform Fundamentals. This course will provide an overview of
Power Apps, Common Data Service, Power Automate, Power BI and Power Virtual Agents and lead
learners through building basic apps, flows, a dashboard, and a chatbot.
This course will cover the following topics:
●● Business Value and use cases of Power Platform
●● Demo walkthroughs of key features in Power Apps, Power Automate, Power BI and Power Virtual
Agents
●● How to create basic apps with Power Apps, basic flows with Power Automate, a basic dashboard with
Power BI and a basic chatbot with Power Virtual Agents
This course will build on these topics with hands-on lab learnings and Knowledge Check questions.
2 Module 0 Course Introduction
Module 1 Introduction to Power Platform

Power Platform overview


Introduction to the Power Platform
Modern businesses run on data. Users interact with data daily from entering their time for payroll,
seeking guidance on existing processes, and analyzing data to make decisions. In our technology driven
world, users can be empowered to gain insights from and interact with data all while automating those
menial responsibilities that seem to be more burden than job task. Power Platform enables your business
to craft solutions while empowering you to unite customized technology to help everyone, from the CEO
to the front-line workers, drive the business with data.
In this lesson, you will:
●● Learn the components and features of Power Platform
●● Identify when to use each Power Platform component application to create business solutions
●● Learn the value of using the Power Platform to create business solutions

What is the Power Platform


Power Platform is comprised of four key products: Power Apps, Power Automate, Power BI and Power
Virtual Agents.

Power Apps
Power Apps provides a rapid low code development environment for building custom apps for business
needs. It has services, connectors, and a scalable data service and app platform (Common Data Service)
to allow simple integration and interaction with existing data. Power Apps enables the creation of web
and mobile applications that run on all devices.
People use apps for every area of their lives, and business should be no exception. Most out of the box
solutions do not meet exact business needs or integrate well with other business programs. Power Apps
eases users into app development with a simple interface so that every business user or pro developer
can build custom apps.
4 Module 1 Introduction to Power Platform

Power Automate
Power Automate lets users create automated workflows between applications and services. It helps
automate repetitive business processes such as communication, data collections, and decision approvals.
Don't waste important productive hours on drafting the same email for a weekly update or walking
approvals through. Not only for the individual user, Power Automate allows for the creation of enter-
prise-grade process automation. Power Automate's simple interface allows every level of user to auto-
mate work tasks - from beginners to seasoned developers.

Power BI
Power BI (Business Intelligence) is a business analytics service that delivers insights for analyzing data. It
can share those insights through data visualizations which make up reports and dashboards to enable
fast, informed decisions. Power BI scales across an organization, and it has built-in governance and
security allowing businesses to focus on using data more than managing it.
You can consider Power BI as the analysis and insights leg of the Power Platform. It takes business data
and allows you to display it in ways that makes the most sense to users. A Power BI dashboard could
potentially replace a standing meeting to report out on company metrics such as sales data, progress
against goals, or employee performance.

Power Virtual Agents


Power Virtual Agents enables anyone to create powerful chatbots using a guided, no-code graphical
interface, without the need for data scientists or developers.
It minimizes the IT effort required to deploy and maintain a custom solution by empowering subject
matter experts to build and maintain their own conversational solutions.
Power Virtual Agents is part of Power Platform, therefore integration into existing systems is streamlined
with out-of-the-box integration with Power Automate and its ecosystems of hundreds of connectors.
Users can enable chatbots to perform an action by simply calling a Power Automate flow. Flows help
users automate activities or call back end systems. Users can utilize existing flows that have been created
in their Power Apps environment or they can create a flow within Power Virtual Agents authoring canvas.

Features
Among the programs listed above, there are cross cutting features which enable the Power Platform to
be leveraged to its full potential. Some of these are:

AI Builder
AI Builder lets users and developers add AI capabilities to the workflows and Power Apps they create
and use. AI Builder is a turnkey solution that allows you to easily add intelligence to your workflows and
apps and predict outcomes to help improve business performance without writing code.

The Common Data Service


Common Data Service is a scalable data service and app platform which lets users securely store and
manage data from multiple sources and integrate that data in business applications using a common
data model to ensure ease and consistency to users. Common Data Service is the common currency that
enables the components of Power Platform to work together. It’s the foundation that enables the consoli-
dation, display, and manipulation of data.
Power Platform overview 5

Connectors
Connectors enable you to connect apps, data, and devices in the cloud. Consider connectors the bridge
across which information and commands travel. There are more than 275 connectors for the Power
Platform, enabling all of your data and actions to connect cohesively. Examples of popular connectors
include Salesforce, Office 365, Twitter, Dropbox, Google services, and more.
Although every feature is essential to building powerful solutions, let's dive in deeper to one of the
features of Power Platform, connectors.

Data connectors
Power Platform is made powerful by its ability to leverage data across many
platforms. To do this, components of the Power Platform use connectors. You can
think of connectors as a bridge from your data source to your app or workflow
which allows information to be conveyed back and forth. Connectors allow you to
extend your business solutions across platforms and add functionality for your
users.

Data Sources
In order to understand the types of connectors and what you can do with them,
you must first understand the types of data sources to which they connect. The
two types of data sources are tabular and function-based.
Tabular data - A tabular data source is one that returns data in a
structured table format. Power Apps can directly read and display these tables
through galleries, forms, and other controls. Additionally, if the data source
supports it, Power Apps can create, edit, and delete data from these data
sources. Examples include Common Data Service, SharePoint, and SQL Server.
Function-based data - A function-based data source is one that uses
functions to interact with the data source. These functions can be used to
return a table of data but offer more extensive action such as the ability to
send an email, update permissions, or create a calendar event. Examples include
Office 365 Users, Project Online, and Azure Blob Storage.
Both of these data source types are commonly used to bring data and additional
functionality to your solutions.
As you can see, connecting to data sources allows you to integrate disparate
parts of your business solutions to build them out cohesively.

Connectors
Now that you understand more about data sources, you are ready to learn about
connectors.
Connectors are the bridges from your data source to your app, workflow, or
dashboard. The Power Platform has more than 275 connectors available to common
data sources. Connectors are divided into standard and premium. Some popular
standard connectors are SharePoint, Outlook, and YouTube. Premium connectors
require additional licensing for your app and/or users. A few premium connectors
are SQL Server, Survey Monkey, and Mail Chimp. The connector reference in the
6 Module 1 Introduction to Power Platform

summary and resources unit lists all connectors and whether they are considered
standard or premium. You can also use AppSource to source and install apps and
use the connectors to non-Microsoft services.
Connectors can provide input and output between the data source and the Power
Platform, which can accelerate the delivery of Power Platform business
solutions. For instance, using Dynamics 365 apps such as Customer Service, you
can set up Power Automate to notify users when specific customer types are
added. Or you can use a SharePoint document library to store files that are fed
into Power Apps to manage and distribute. Microsoft also provides connectors to
their Azure services, providing advanced AI techniques to do tasks such as
reading text off images or cognitive services like recognizing faces in images.
All Power Platform business solutions can be used and implemented into Microsoft
365 apps such as Teams. This allows users to play Power Apps within Teams or run
Power Automate from actions and events within Teams.

Triggers and Actions


Once you have established a data source and configured your connector, there are
two types of operations you can use, triggers or actions.
Triggers are only used in Power Automate and prompt a flow to begin.
Triggers can be time based, such as a flow which begins every day at 8:00 am, or
they could be based off of an action like creating a new record in a table or
receiving an email. You will always need a trigger to tell your workflow when to
run.
Actions are used in Power Automate and Power Apps. Actions are prompted by
the user or a trigger and allow interaction with your data source by some
function. For example, an action would be sending an email in your workflow or
app or writing a new line to a data source.
Now that you understand what connectors are and how to use them, let's look at
what to do when there isn't a connector already built for your data source.

Custom Connectors
While the Power Platform offers more than 200 connectors, you also have the
option to build a custom connector. This will allow you to extend your app by
calling a publicly available API, or a custom API you are hosting in a cloud
provider, such as Azure. API stands for Application Programming Interface and
holds a series of functions available for developers. Connectors work by sending
information back and forth across these APIs and gathering available functions
into Power Apps or Power Automate. Because these connectors are function-based,
they will call specific functions in the underlying service of the API to return
the corresponding data.
An advantage of building custom connectors is that they can be used in different
platforms, such as Power Apps, Power Automate, and Azure Logic Apps.
Power Platform overview 7

Creating Custom Connectors


You can create custom connectors using 3 different approaches:
●● Using a blank custom
connector1
●● From an OpenAPI
definition2
●● From a Postman
collection3
While the requirements for each approach will vary, they all require a Power
Apps per app or per user plan. Each link above points to the instructions for
each approach.
Note: The purpose of this module is to help you better understand data sources and connectors as a
whole,
but if you would like to learn more about custom connectors and even walk through an exercise to build
one, check out the module
Use custom connectors in a Power Apps canvas app4.

Data loss prevention policies


Your organization's data is likely one of the most important assets you are
responsible for safeguarding as an administrator. The ability to build apps and
automation to use that data is a large part of your company's success. You can
use Power Apps and Power Automate for rapid build and rollout of these
high-value apps so that users can measure and act on the data in real time. Apps
and automation are becoming increasingly connected across multiple data sources
and multiple services. Some of these might be external, third-party services and
might even include some social networks. Users generally have good intentions,
but they can easily overlook the potential for exposure from data leakage to
services and audiences that should not have access to the data.
You can create data loss prevention (DLP) policies that can act as guardrails to
help prevent users from unintentionally exposing organizational data. DLP
policies can be scoped at the environment level or tenant level, offering
flexibility to craft sensible policies that strike the right balance between
protection and productivity. For tenant-level policies, you can define the scope
to be all environments, selected environments, or all environments except ones
you specifically exclude.
Connectors can be classified as either Business or Non-Business in the
context of your organization. Connectors that host business-use data should be
classified as Business and connectors that host personal-use data should be
classified as Non-Business. Any connectors that you want to restrict usage
of across one or more environments should be classified as Blocked. When a
new policy is created, all connectors are defaulted to the Non-Business
group. From there they can be moved to Business or Blocked based on your

1 https://docs.microsoft.com/en-us/connectors/custom-connectors/define-blank
2 https://docs.microsoft.com/en-us/connectors/custom-connectors/define-openapi-definition
3 https://docs.microsoft.com/en-us/connectors/custom-connectors/define-postman-collection
4 https://docs.microsoft.com/en-us/learn/modules/use-custom-connectors-in-powerapps-canvas-app/
8 Module 1 Introduction to Power Platform

preference. You can manage connectors when you create or modify the properties
of a DLP policy from the Power Platform admin
center5. These affect Power Platform
canvas apps and Power Automate flows. To create a DLP policy, you need to be
a tenant admin or have the Environment Admin role.

Compliance and data privacy


Microsoft is committed to the highest levels of trust, transparency, standards
conformance, and regulatory compliance. Microsoft’s broad suite of cloud
products and services are all built from the ground up to address the most
rigorous security and privacy demands of our customers.
To help your organization comply with national, regional, and industry-specific
requirements governing the collection and use of individuals’ data, Microsoft
provides the most comprehensive set of compliance offerings (including
certifications and attestations) of any cloud service provider. There are also
tools for administrators to support your organization’s efforts. In this part of
the document we will cover in more detail the resources available to help you
determine and achieve your own organization requirements.

Data Protection
Data as it is in transit between user devices and the Microsoft datacenters are
secured. Connections established between customers and Microsoft datacenters are
encrypted, and all public endpoints are secured using industry-standard TLS. TLS
effectively establishes a security-enhanced browser to server connection to help
ensure data confidentiality and integrity between desktops and datacenters. API
access from the customer endpoint to the server is also similarly protected.
Currently, TLS 1.2 (or higher) is required for accessing the server endpoints.

Resources to manage GDPR Compliance


The European Union General Data Protection Regulation (GDPR) is one of the
newest privacy regulations enacted that gives rights to people to manage their
personal data. A complete discussion of GDPR is beyond the scope of this
content, however the Power Platform does fully support the GDPR. For more GDPR
resources and information, visit the Trust Center
at https://www.microsoft.com/TrustCenter/Privacy/gdpr/default.aspx.

Accessibility in the Power Platform


One of the things that Microsoft values the most is making sure that the Power
Platform is accessible and inclusive to all kinds of users all over the world.
An accessible canvas app will allow users with vision, hearing, and other
impairments to successfully use the app. In addition to being a requirement for
many governments and organizations, following the below guidelines increases
usability for all users, regardless of their abilities. You can use
the Accessibility Checker6 to

5 https://admin.powerplatform.microsoft.com/
6 https://docs.microsoft.com/powerapps/maker/canvas-apps/accessibility-checker
Power Platform overview 9

help review potential accessibility issues in your app. For more details and
suggestions on making your canvas apps more accessible, visit
https://docs.microsoft.com/powerapps/maker/canvas-apps/accessible-apps.

Pulling it together
Although we live in a data driven world, your business can find it difficult to take advantage of the data
you have access to. Sales, customer, and employee data should drive our business decisions, but where
do we even start? The Power Platform can add value to any business by helping you to analyze, act, and
automate. Act by building custom apps in Power Apps, automate processes based on the data you collect
in Power Automate, and analyze the data you have collected in Power BI.
Consider a business that has IT equipment for general use. Currently, equipment check-out is conducted
by visiting the IT office, checking if the product is available, then writing your name and the equipment
name in a notebook. Employees may have to visit IT several times before equipment becomes available,
and IT personnel must drop their tasks to check on equipment status or go to collect it for the employee.
Sometimes employees hold onto the equipment longer than they intend and an IT personnel spends
time tracking it down. In addition, important equipment information such as serial number, warranty
details, and instructions for use are kept somewhere in the IT office. How can the Power Platform improve
this process?
Power Apps allows us to build an app that has all equipment listed, the status of that equipment, and
even important details such as use instructions. This way employees can check out available equipment,
walk to IT at a specified pick up time where the equipment will be ready, and even access the use instruc-
tions or flag an equipment malfunction from their phone or tablet. Power Automate can read when
equipment needs to be returned and send out reminder emails, or even a warning that the equipment is
late being checked in. Users can see when equipment is booked through the app and request check out
for a future date at which time Power Automate can send them a reminder to pick up the equipment and
IT a reminder to have it ready. Power BI can take all the data generated from the app and analyze it to
help you understand what equipment is used most often and by whom. This way you can decide if you
need additional equipment, if some users or departments need dedicated equipment, and when your
equipment has reached the end of its usefulness.
This is only one common scenario in which the Power Platform can transform the way businesses work.
Consider your own business and what processes take up valuable time and are a burden to customers or
employees. How can you leverage the Power Platform to improve them?
10 Module 1 Introduction to Power Platform

Module summary
Questions
Multiple choice
Your social media engagement officer has requested your help in boosting followers and retweets on Twitter.
How could you help her get more information to better understand and subsequently increase engagement?
†† Power Apps portals can create a new customer site for our followers
†† Power Automate can handle our content approvals for us, reducing the time it takes to produce new
content and ensure our quality procedure is followed
†† Configure a Power BI report to capture and analyze data from Twitter, allowing you to beter under-
stand why certain posts elicit more responses

Multiple choice
Your team has become frustrated with number of times they have to perform basic data entry on project
startup. There are many divisions who need the information and sometimes human error results in mis-
takes, making it more difficult to make sense of your information. Which program would be the most help
in this situation?
†† Power Apps
†† Power Automate
†† Power BI

Multiple choice
Someone has added an item in SharePoint which prompts a workflow to run in Power Automate. What type
of operation have you used to start your workflow?
†† Trigger
†† Action
†† Function-based

Multiple choice
A client likes the idea of implementing a Power Platform solution, but is concerned about the ability to
interact with a custom API. How should you respond?
†† The Power Platform offers the ability to create custom connectors for this purpose, which allow you to
connect to Power Apps and Power Automate.
†† The Power Platform has over 270 connectors to use in these situations.
†† The Power Platform uses connectors that hold a series of functions available for developers.
Module summary 11

Summary and resources


Microsoft Power Platform offers a point-and-click approach to building custom applications, data
visualizations, and automated workflows. This approach makes it easy for anyone familiar with Microsoft
Office to create custom business solutions.
Now that you have reviewed this module, you should be able to:
●● Describe the components and features of the Power Platform
●● Identify when to use each Power Platform component application to create business solutions
●● Understand and explain the value of using the Power Platform to create business solutions

Key takeaways
Here are the five key takeaways:
1. Power Platform is a system that enables users to do three key actions on data that help them drive
business: gain insights from data (Analyze), drive intelligent business processes via apps they build
(Act), and automate business processes (Automate).
2. Power BI helps you analyze and visualize data on a unified platform with data from internal and
external sources.
3. Power Apps helps you build and deploy customized apps that work across web and mobile, embed-
ded or standalone, on any device.
4. Connectors are bridges that allow you to send information from your data source to your app or
workflow and back.
5. Power Automate helps you create automation workflows, from simple to advanced scenarios.

Resources
Use these resources to discover more.
Tip: To open a resource link, right-click and select “Open in a new tab or window”. That way, you can
check out the resource and easily return to the module.

Power BI
●● Power BI7
●● Power BI customer showcase8

Power Apps
●● Power Apps9
●● Power Apps Resources10

7 https://powerbi.microsoft.com/
8 https://powerbi.microsoft.com/customer-showcase/
9 https://powerapps.microsoft.com/
10 https://powerapps.microsoft.com/blog/microsoft-powerapps-learning-resources/
12 Module 1 Introduction to Power Platform

Power Automate
●● Power Automate11
●● Power Automate Documentation12

More on Connectors
●● Connector Reference13
●● Overview of canvas-app connectors for Power Apps14

Getting started with Custom Connectors


●● Using a blank custom connector15
●● From an OpenAPI definition16
●● From a Postman collection17
●● Use custom connectors in a PowerApps canvas app18

Get started with Power Virtual Agents


●● Power Virtual Agents19

11 https://flow.microsoft.com/
12 https://docs.microsoft.com/flow/
13 https://docs.microsoft.com/connectors/
14 https://docs.microsoft.com/powerapps/maker/canvas-apps/connections-list
15 https://docs.microsoft.com/connectors/custom-connectors/define-blank
16 https://docs.microsoft.com/connectors/custom-connectors/define-openapi-definition
17 https://docs.microsoft.com/connectors/custom-connectors/define-postman-collection
18 https://docs.microsoft.com/learn/modules/use-custom-connectors-in-powerapps-canvas-app/
19 https://powervirtualagents.microsoft.com/en-us/
Module summary 13

Answers
Multiple choice
Your social media engagement officer has requested your help in boosting followers and retweets on
Twitter. How could you help her get more information to better understand and subsequently increase
engagement?
†† Power Apps portals can create a new customer site for our followers
†† Power Automate can handle our content approvals for us, reducing the time it takes to produce new
content and ensure our quality procedure is followed
■■ Configure a Power BI report to capture and analyze data from Twitter, allowing you to beter under-
stand why certain posts elicit more responses
Explanation
Power BI allows you to create visuals and better understand your data. Once you understand trends in what
followers like, you can post more of that content and increase engagement.
Multiple choice
Your team has become frustrated with number of times they have to perform basic data entry on project
startup. There are many divisions who need the information and sometimes human error results in
mistakes, making it more difficult to make sense of your information. Which program would be the most
help in this situation?
†† Power Apps
■■ Power Automate
†† Power BI
Explanation
Power Automate can create automated information workflows so that data entry only has to occur once.
Multiple choice
Someone has added an item in SharePoint which prompts a workflow to run in Power Automate. What
type of operation have you used to start your workflow?
■■ Trigger
†† Action
†† Function-based
Explanation
A trigger is an operation that tells a workflow to begin or prompts some type of action.
Multiple choice
A client likes the idea of implementing a Power Platform solution, but is concerned about the ability to
interact with a custom API. How should you respond?
■■ The Power Platform offers the ability to create custom connectors for this purpose, which allow you to
connect to Power Apps and Power Automate.
†† The Power Platform has over 270 connectors to use in these situations.
†† The Power Platform uses connectors that hold a series of functions available for developers.
Explanation
You can build out a custom connector to bridge your app or workflow to the API.
Module 2 Introduction to Common Data Ser-
vice

Common Data Service overview


Introduction to the Common Data Service
Common Data Service is a cloud-based, low-code data service and app platform, which allows you to
leverage the security and connectivity of Microsoft services. Common Data Service connects easily to all
aspects of the Power Platform so that you can fully control, automate, and strengthen your business. With
standard entities and fields, as well as the ability to easily define relationships between your data, Com-
mon Data Service was built for powerful, scalable solutions.
In this lesson, you will:
●● Explain what environments, entities, fields, and relationships are in Common Data Service
●● Describe the difference between Common Data Service and Common Data Model
●● Explain use cases and limitations of business rules and process flows

Common Data Service overview


The Common Data Service is a cloud-based solution that easily structures a variety of data and business
logic to support interconnected applications and processes in a secure and compliant manner. Managed
and maintained by Microsoft, Common Data Service is available globally but deployed geographically to
comply with your potential data residency. It is not designed for stand-alone use on your servers, so you
will need an internet connection to access and use it.
The Common Data Service is designed to be your central data repository for business data, and you
might even be using it already. Behind the scenes, it powers many Microsoft Dynamics 365 solutions such
as Field Service, Marketing, Customer Service, and Sales. It is also available as part of Power Apps and
Power Automate with native connectivity built right in. The AI Builder and Portals features of the Power
Platform also utilize the Common Data Service.
Below is visualization to bring together the many offerings of Common Data Service.
16 Module 2 Introduction to Common Data Service

As you can see, Common Data Service offers a great deal of functionality. Below is a brief explanation of
each category of features.
Security: Common Data Service handles authentication with Azure Active Directory (AAD) to allow for
conditional access and multi-factor authentication. It supports authorization down to the row and field
level and provides rich auditing capabilities.
Logic: Common Data Service allows you to easily apply business logic at the data level. Regardless of
how a user is interacting with the data, the same rules apply. These rules could be related to duplicate
detection, business rules, workflows, or more.
Data: Common Data Service offers you the control to shape your data, allowing you to discover, model,
validate, and report on your data. This control ensures your data looks the way you want regardless of
how it is used.
Storage: Common Data Service stores your physical data in the Azure cloud. This cloud-based storage
removes the burden of worrying about where your data lives or how it scales. These concerns are all
handled for you.
Integration: Common Data Service connects in different ways to support your business needs. APIs,
webhooks, eventing, and data exports give you flexibility to get data in and out.
As you can see, Common Data Service is a very powerful cloud-based solution for storing and working
with your business data. In the following sections, you will look at Common Data Service from the lens of
data storage for the Power Platform, where you will start your journey. Keep in mind the additional rich
capabilities discussed above which you can explore further as your usage increases.
To get started, Common Data Service lets you create one or many cloud-based instances of a standard-
ized database. The database includes predefined tables and fields which store data commonly found
across nearly all organizations and businesses. You can customize and extend what is stored by adding
new fields or tables (called entities in Common Data Service). The ease of setting up a Common Data
Service database and standardized data model under it simplifies your ability to concentrate your efforts
on building solutions without worrying about infrastructure, storage, and data integration.
Common Data Service overview 17

With your data stored in Common Data Service, there are many different ways to access it. You can work
with the data natively with tools such as Power Apps or Power Automate. Or through connectors and APIs
you can connect to the Common Data Service from any business solution. With the power of features
such as role-based security and business rules you can trust your data is safe no matter how it is ac-
cessed.

Common Data Service defined


A Common Data Service database is a single instance of Common Data Service which stores data in a set
of standard and custom data structures called entities. An entity is a logical set of records that is used to
store data. Entities are like tables in a relational database, but there are subtle differences. Records within
an entity contain many fields to manage individual pieces of information about a single record.
You can create one or many database instances in Common Data Service to host data behind your
business solutions. Each instance of a Common Data Service will start with the same set of entities to
store data, but you can always extend and customize a Common Data Service database to meet specific
business needs. This means that you can share business solutions that reference standard entities in
Common Data Service across your organization or with any other organization by using it anywhere in
the world.

Scalability
A Common Data Service database supports large data sets and complex data models. Entities can hold
millions of items, and you can extend the storage in each instance of a Common Data Service database to
four (4) terabytes per instance. The amount of data that is available in your instance of Common Data
Service is based upon the number and type of licenses that are associated with it. Data storage is pooled
between all licensed users, so you can allocate storage as needed for each solution that you build.
Additional storage can be purchased if you need more storage than what is offered within standard
licensing.
Tip: Common Data Service supports transactional multi-user applications, where quick response to user
demand is the priority. It is not intended to be a platform for long running or batch processing.

Common Data Model vs. Common Data Service


The standard entity design in a Common Data Service database is based upon an open data model
standard called Common Data Model. Common Data Model is a logical design that includes a set of
open-sourced, standardized, extensible data entities and relationships that Microsoft and its partners
have published in an industry-wide initiative called the Open Data Initiative. This collection of predefined
entities, attributes, semantic metadata, and relationships form the basis of the Common Data Model.

Open Data Initiative


The Common Data Model is the output of the Open Data Initiative. It provides a platform for a single,
comprehensive view of your data, bringing together and enriching data from all your lines of business,
across all your systems, to deliver real-time intelligence back into your applications and services. Micro-
soft has partnered with SAP and Adobe on the Open Data Initiative.

Common Data Service structure and benefits


The structure of a Common Data Service database is based upon the definitions and schema in the
Common Data Model. The key benefit of using Common Data Model as the basis of a Common Data
18 Module 2 Introduction to Common Data Service

Service database is simplified integration of any solutions that use a Common Data Model schema,
because the standard entities of the solution are the same. You will also be able to take advantage of a
rich ecosystem of solutions that vendors have built from using Common Data Model. Best of all, there is
practically no limit to how far you can extend a Common Data Service database.

Identify entities and fields


An entity is similar to a table in a database or in an Excel workbook in the way it stores data. It is a logical
structure containing records that are made up of fields or put more simply, rows and columns.
Below you can see a screenshot of the standard Customer entity and various types of fields it includes.

Types of entities
The two types of entities are:
●● Standard - The base set of entities that are created for every instance of a Common Data Service
database. You can add more fields to any entity, but you can only delete fields from a custom entity.
●● Complex - Entities that contain complex, server-side business logic, including real-time workflows or
plug-ins. Some of the entities that are used in Dynamics 365 applications are complex. Care must be
taken if you add server-side logic to ensure that users have the proper license to use the complex
entity. Additional information about complex entities can be accessed by following the link within the
summary unit of this module.

Fields
Fields are a way to store a discrete piece of information within a record in an entity. You might think of
them as a column in Excel. Fields have types, meaning that you can store data of a certain type in a field
that matches that data type. For example, if you have a solution that requires dates, then you would store
the date in a field with the type of Date. Similarly, if you want to store a number, then you store the
number in a field with the type of Number.
Common Data Service overview 19

The number of fields within an entity varies from a few fields to a hundred or more. If you need more
than a few hundred fields in an entity, you might want to reconsider how you are structuring data storage
for your solution because, likely, there is a better way.
Every database in Common Data Service starts with a standard set of entities and each standard entity
has a standard set of fields.
Tip: Always use standard entities and fields when possible. You can rename an entity if that makes the
entity more understandable in the context of your solution. Always review the list of standard entities and
make sure a standard entity will not meet your needs before you create a new entity.

Understand relationships
To make an efficient and scalable solution for most of the solutions that you build, you will need to split
up data into different containers (entities). Trying to store everything into a single container would likely
be inefficient and difficult to work with and understand.
The following example helps illustrate this concept.
Imagine that you need to create a system to manage sales orders. You will need a product list along with
the inventory on hand, cost of the item, and the selling price. You also need a master list of customers
with their addresses and credit ratings. Finally, you will need to manage invoices of sales that you make
so you will want a way to store invoice data. The invoice should include information such as date, invoice
number, and salesperson, customer information including address and credit rating, and a line item for
each item on the invoice. Line items should include a reference to the product that you sold and be able
to provide the proper cost and price for each product and decrease the quantity on hand based upon the
quantity that you sold in that line item.
Trying to create a single entity to support the functionality that was previously described would be
inefficient. A better way to approach this business scenario is to create the following four entities:
●● Customers
●● Products
●● Invoices
●● Line Items
Creating an entity for each of these items and relating them to one another will allow you to build an effi-
cient solution that can scale while maintaining high performance. Splitting the data into multiple entities
also means that you will not have to store repetitive data or support huge records with large amounts of
blank data. Additionally, reporting will be much easier if you split the data into separate entities.
Entities that relate to one another have a relational connection. Relationships between entities exist in
many forms, but the two most common are one-to-many and many-to-many, both of which are support-
ed by Common Data Service.
One-to-many relationships are also known as parent-child relationships. In the previous invoice example,
the invoice entity would be the parent and the line items would be a child entity. An invoice can have
zero, one, or many line items (child records), but the line item will always be related to just one invoice
(parent record). Typically, the child records will not exist without a parent record.
A field that only allows unique values, such as invoice number, is used to identify the parent record. This
unique field is called a key. The same value (the parent key) is stored in the related child records. This
field is called a foreign key when the child record is used to store the parent key value. Ingeniously,
filtering is used to display child records with a value in the foreign key that matches the key value in the
parent record. This allows applications to display the child records (line items in the previous example)
20 Module 2 Introduction to Common Data Service

that belong to a particular parent record (invoice in the previous example). This concept underlies many
business software applications.
Splitting data into different entities makes for an efficient solution design that can scale, but knowing
how to split up the data into entities can be difficult. Thankfully, Common Data Service already contains
many of the entities that most organizations will need. Using standard entities and extending them will
ensure that you are building solutions around a proven, scalable way of storing the data that is used by
your solutions.

Environments in the Common Data Service


Environments are used to store, manage, and share your organization's business data, apps, and flows in
the Power Platform. Each environment allows you to provision one Common Data Service database for
use within that environment. Common Data Service environments allow you to manage user access,
security settings, and the storage that is associated with that database.
Each environment is created under a Microsoft Azure Active Directory (Azure AD) tenant, and its resourc-
es can only be accessed by users within that tenant. An environment is also bound to a geographic
location, like the United States. When you create a Common Data Service database in an environment,
that database is created within datacenters in that geographic location. Any items that you create in that
environment (including connections, gateways, flows that are using Power Automate, and more) are also
bound to their environment's location.

You can create more than one environment to manage solution development and data storage by setting
up one environment for development, another for testing, and another for production use. Also, you can
set up an environment based on a geographical location. For example, you might set up an environment
for Europe and another for Asia. Each of these environments will have zero or only one instance of
Common Data Service.

Business rules
In Common Data Service you can define business rules. Business rules allow you to apply and maintain
business logic at the data layer instead of the app layer. Put more simply, if you create business rules in
Common Data Service, they are in affect regardless of how you interact with the data.
An example business rule usage is when they are in canvas or model-driven apps to set or clear values in
one or many fields in an entity. They can also be used to validate stored data or show error messages.
Model-driven apps can use business rules to show or hide fields, enable or disable fields, and create
recommendations based on business intelligence.
Tip: Business rules are usually defined for an entity and apply to all forms, but you can define a business
rule for a specific model-driven form. Canvas apps cannot have a business rule applied to a specific form,
but they are still enforced when interacting with the data.
Common Data Service overview 21

Business rules give you a powerful way to enforce rules, set values, or validate data regardless of the form
that is used to input data. Additionally, business rules are effective in helping to increase the accuracy of
data, simplify application development, and streamline the forms presented to end users.
Business rules can be used by canvas apps or model-driven apps to do the following:
●● Set field values
●● Clear field values
●● Validate data and show error messages
Model-driven apps can also use business rules to:
●● Show or hide fields (model-driven apps only)
●● Enable or disable fields (model-driven apps only)
●● Create business recommendations based on business intelligence (model-driven apps only)
Below is an example of a simple, yet powerful use of business rules. The business rule is configured to
change the field Credit Limit VP Approver to be a required field if the Credit limit is set to greater than
$1,000,000. If the credit limit is less than $1,000,000 then the field is optional.

By applying this business rule at the data level instead of the app level, you have better control of your
data and it can confirm it follows your business logic whether it is being accessed directly from Power
Apps or Power Automate or even via an API. The rules are tied to the data, not the app.

Administer
Common Data Service has a rich set of administrative options that you can use
to create new instances of a database or tailor access and features
that are available for users of each Common Data Service database instance.
Several administrative portals are available for you to use to
administer Common Data Service settings.
The Power Apps Admin center is discussed in this unit because it will satisfy most of
your administrative needs. However, a few other administrative options are available,
22 Module 2 Introduction to Common Data Service

which are covered in the Manage permissions and administration for Common Data Service
learning path.

Power Apps Admin center


Most of the administration settings that you will need are available in the
Power Apps Admin center. You should always check for administration
settings as your first step when looking to administer Common Data
Service.
Settings are grouped into the following broad categories and are accessible
by selecting the link on the left-hand side of the portal, as shown
in the following figure.
●● Environments - This section lists all instances of Common
Data Service.
●● Data policies - This section lets you set up policies to restrict
which data connectors can be used with Common Data Service to limit
what data can flow into or out of Common Data Service entities.
●● Data integration - This section lets you create or add pre-defined
connections and monitor these connections between Common Data
Service and other data stores like Salesforce or SQL Server.
●● Tenant - This section lets you monitor licenses and quotas.

Take a few moments to explore the options by going to the Admin center
and opening each section on the left-hand side of the portal:
1. Go to Power Apps1 and sign in.
2. Select Admin center under the gear, as shown.
Tip: You can go directly to the Power Apps Admin center at https://admin.powerplatform.micro-
soft.com and then sign in.

1 https://www.powerapps.com
Common Data Service overview 23

3. Select the options on the left-hand side of the admin center portal.

The Power Apps Admin center lets you manage the tasks of setting up users, permissions, and many
other important features and
capabilities of Common Data Service.
24 Module 2 Introduction to Common Data Service

Module summary
Questions
Multiple choice
How can business rules be used in a canvas or model-driven app?
†† To validate data and show error messages.
†† Show or hide fields.
†† Manage solution development and data storage.

Multiple choice
Your manager has built a solution using the Common Data Service using a few of the standard Entities
included out of the box. He wants to capture the date that new records are added to the Entity, but he isn't
sure how. He notices that a "Date" field is already inside his Entity, but he wants the field to have a custom
name of "Date Confirmed". What would you recommend he do?
†† Create a new Entity with the name "Date Confirmed"
†† Use the built-in Date field within the Entity to store the date values, but rename the field to "Date
Confirmed"
†† Create a new Environment with the name "Date Confirmed"

Multiple choice
One of your co-workers has set up a Model-driven application using the Common Data Service. The app
captures information about computer hardware assets, including their price. Your co-worker is concerned
that users of the application are going to put incorrect values into fields - for instance, they might put in the
wrong cost center when submitting a new record. How could this be prevented?
†† Use Power Automate to validate that the field value matches what the table is expecting.
†† Use Business Rules to automatically validate the cost center for the currently-logged in user.
†† Use a Canvas App instead of a Model-driven app.

Summary and resources


Common Data Service is a cloud-based data storage which allows you to leverage the security and
connectivity of Microsoft programs. Common Data Service connect easily to all aspects of the Power
Platform so that you can fully control, automate, and strengthen your business. With standard entities
and fields, as well as the ability to easily define relationships between your data, Common Data Service
was built for those who need powerful, scalable solutions.
Now that you have reviewed this module, you should be able to:
●● Describe the Common Data Service
●● Describe the Common Data Model
●● Identify entities, fields, and relationships
Module summary 25

●● Create environments
●● Define business rules

Key takeaways
Here are the three key takeaways:
1. The Common Data Service uses standard entities, fields, and relationships to help you build powerful,
scalable data solutions.
2. Make your data work for you so that you can get the most of it by splitting it up into logical chunks.
3. Using the Common Data Service, you can break your data into various environments to better
manage and secure important information.

Resources
Use these resources to discover more.
Tip: To open a resource link, right-click and select “Open in a new tab or window”. That way, you can
check out the resource and easily return to the module.

Common Data Service


●● Introduction to Common Data Service2
●● Common Data Service Documentation3
●● Common Data Model4
●● Licensing5

Entities, fields, and relationships


●● Create and Manage Entities in Common Data Service6
●● Complex entities7
●● Restricted entities requiring Dynamics 365 licenses8
●● Create and manage fields within an entity in Common Data Service9
●● Create a relationship between entities in Common Data Service10

Relationships and business rules


●● Create and manage environments in Common Data Service11

2 https://docs.microsoft.com/learn/modules/intro-common-data-service/
3 https://docs.microsoft.com/powerapps/maker/common-data-service/data-platform-intro
4 https://docs.microsoft.com/business-applications-release-notes/april19/cdm-data-integration/common-data-model-cdm
5 https://download.microsoft.com/download/9/5/6/9568EFD0-403D-4AE4-95F0-7FACA2CCB2E4/Power%20Apps%20and%20Power%20
Automate%20Licensing%20Guide%20-%20Nov%202019.pdf
6 https://docs.microsoft.com/learn/modules/create-manage-entities/
7 https://docs.microsoft.com/powerapps/maker/common-data-service/data-platform-complex-entities
8 https://docs.microsoft.com/powerapps/maker/common-data-service/data-platform-restricted-entities
9 https://docs.microsoft.com/learn/modules/create-manage-fields-within-entity/
10 https://docs.microsoft.com/learn/modules/create-relationship-between-cds-entities/
11 https://docs.microsoft.com/learn/modules/create-manage-environments/1-intro
26 Module 2 Introduction to Common Data Service

●● Define and create business rules in Common Data Service12

12 https://docs.microsoft.com/learn/modules/define-create-business-rules/
Module summary 27

Answers
Multiple choice
How can business rules be used in a canvas or model-driven app?
■■ To validate data and show error messages.
†† Show or hide fields.
†† Manage solution development and data storage.
Explanation
Validating data and showing error messages are one of the functionalities available in both canvas and
model-driven apps via a business rule.
Multiple choice
Your manager has built a solution using the Common Data Service using a few of the standard Entities
included out of the box. He wants to capture the date that new records are added to the Entity, but he
isn't sure how. He notices that a "Date" field is already inside his Entity, but he wants the field to have a
custom name of "Date Confirmed". What would you recommend he do?
†† Create a new Entity with the name "Date Confirmed"
■■ Use the built-in Date field within the Entity to store the date values, but rename the field to "Date
Confirmed"
†† Create a new Environment with the name "Date Confirmed"
Explanation
Whenever possible, if an entity has an existing field in the type you need, reuse that field before creating a
new one.
Multiple choice
One of your co-workers has set up a Model-driven application using the Common Data Service. The app
captures information about computer hardware assets, including their price. Your co-worker is concerned
that users of the application are going to put incorrect values into fields - for instance, they might put in
the wrong cost center when submitting a new record. How could this be prevented?
†† Use Power Automate to validate that the field value matches what the table is expecting.
■■ Use Business Rules to automatically validate the cost center for the currently-logged in user.
†† Use a Canvas App instead of a Model-driven app.
Explanation
Business rules can be used to validate field data on a form.
Module 3 Get Started with Power Apps

Introduction to Power Apps


Introduction to Power Apps
Power Apps is used to build apps that allow you to take action on your data. Power Apps is great for
replacing paper forms, legacy solutions, or just that spreadsheet that you and a few coworkers pass
around. Using the skills and knowledge you already possess, you can build apps to interact with existing
data by using more than 275 connectors. Once built on the web native Power Apps platform, these apps
live in the cloud and can be easily shared and run on a variety of platforms including PCs, laptops, tablets,
and mobile phones.
In this lesson, you will:
●● Learn what is Power Apps and the business value it creates
●● Learn how one of the world's largest airports is digitizing its processes using Power Apps
●● See Power Apps in action and learn some of the options for making your first app

Power Apps and what it can do for you


Do you have inefficient or legacy business processes that you would like to modernize? Are you still
moving information around using paper or even a shared Excel workbook? Do you want to be able to
perform these business processes from different devices like PCs or mobile phones? Then you need
Power Apps.
Power Apps is a no-code/low-code platform for building apps that builds off of concepts similar to
formulas in an Excel workbook such as SUM and TEXT. You can use Power Apps to build simple solutions
like vehicle inspection forms and status reports or complex business solutions for purchasing processes
and inventory management. If you can envision an app to solve a business problem, then you can use
your existing skills to build it. Although this module is geared towards business users with little back-
ground in computer science and coding, Power Apps offers advanced functionality and the ability for sea-
soned developers to design complex applications with ease.
30 Module 3 Get Started with Power Apps

Work with your data where it lives


When modernizing a paper-based process, there are likely systems in your organization with data you
can leverage. With Power Apps, you have choices. With over 275 connectors you can easily connect to
data, using the underlying data service and app platform, Common Data Service, or a multitude of online
and on-premises data sources. Some common data sources include:
●● Common Data Service
●● SharePoint
●● Dynamics 365
●● SQL Server and Azure SQL
●● Office 365
You don't have to choose just one data source. Power Apps easily supports multiple data connections
allowing you to bring data together from many platforms into a single app.

Different types of Power Apps for different scenarios


Power Apps can create three types of apps: canvas, model-driven, and portals. Each is suited to different
scenarios and end users.

Canvas apps
Canvas apps are a great option when you want to build an app from a blank canvas. You start by choos-
ing the screen size: tablet or mobile, then you have a blank screen from which to build. You can interact
with data in your app by adding data sources. Drag and drop various controls and add the desired
functionality by writing Excel style formulas. Canvas apps provide you complete flexibility when building
your apps.
Below are a couple of examples of a mobile canvas app built by Heathrow Airport.

Model-driven apps
Model-driven apps build from data in the Common Data Service. Power Apps will build you a great
looking, fully functional app to act upon and interact with this data. With model-driven apps, there is no
need to worry about choosing the app size; it is responsive, meaning it works on mobile or tablet with no
extra work by you. You define the relationships, forms, views, business rules, and more at the data layer,
Introduction to Power Apps 31

inside of the Common Data Service, giving you enough control to get your business result without
writing all of the formulas yourself.
Below is an example of a fundraiser donations tracking Model-driven app.

Portals
Portals bring the power of no-code solutions to building externally facing websites. Through the Power
Apps interface, you can build an anonymous or authenticated website that allows users to interact with
data held in Common Data Service. The same drag and drop experience you enjoy when building apps is
available to build these rich, interactive websites.

Add artificial intelligence to your app with no code


Prior to Power Apps, adding functionality such as image recognition or prediction models required
advanced computer knowledge. There was code to write, data models to design and train, and a whole
32 Module 3 Get Started with Power Apps

lot of complicated logic. Power Apps has “democratized” artificial intelligence by providing a wiz-
ard-based interface for building and training your model. This unlocks the power of Azure Machine
Learning and Cognitive services without writing a single line of code or creating complex machine
learning models.
A ready to use AI component is the Business card reader. This component reviews an uploaded photo or
picture taken to determine if it is a business card and subsequently extracts the relevant information. No
configuration required.
The business card reader is simply one ready-made example which builds off of the underlying AI
components which you can deploy in other ways by first building a model. From https://make.Power-
Apps.com, a wizard guides you through building and training the model. Currently, there are four
available AI models in Power Apps:
●● Prediction - This model predicts whether something will happen or not based on previous data
history. More details in the following section.
●● Form processor - This model extracts text from an image like the business card reader.
●● Object detector - This model identifies objects from an uploaded image or taken photo and then
provides a count of the number of objects present.
●● Text classification - This model categorizes text by its meaning, making it is easier to analyze.

The prediction model


The AI Builder prediction model allows you to create a model that can predict yes or no outcomes based
on historical data. You train the model by providing historical data that includes the yes/no outcome and
then artificial intelligence does the rest.
You can build prediction models to solve business problems such as:
●● Will a lead become a customer?
●● Will a project be profitable?
●● Will a customer churn based on activity?
As you can see, AI can help you answer powerful business questions without writing a single line of code.

Security and Administration


There are many tools for those in IT or otherwise responsible for governance. Power Apps has a multitude
of security, governance, and reporting capabilities to let you manage Power Apps. Also, Power Apps
doesn't circumvent security in any way. Users cannot build apps to bypass current access permissions. To
manage security for Power Apps you can access https://admin.powerplatform.microsoft.com/. Here
you will find options for creating and managing environments, monitoring licenses, working with Data
Loss Prevention policies and managing Common Data Service Data Integration projects. This allows you
to manage the Power Apps throughout your tenant from one single place.
Power Apps also has its own set of PowerShell cmdlets for app creators, administrators, and developers
that allow you to automate many of your administrative duties. A common use case of the PowerShell
cmdlets is to automate the discovery and permission management of all apps in your tenant, allowing
you to better understand and manage apps as they are created and spread throughout your company.
Introduction to Power Apps 33

In addition, in the Power Automate learn module, you will see that Power Automate has the ability to
automate these tasks. You can download the Center of Excellence1 starter kit, a collection of compo-
nents or tools that are designed to help get started with developing a strategy for adopting and support-
ing the Power Platform, with a focus on Power Apps and Power Automate.

Driving business value


By now you understand that Power Apps does not require traditional “code” like C#, making a low
technology barrier to entry. If you know your business process, you can get started writing your first app.
For many businesses, this means apps are not coming from IT but instead directly from frontline business
users. The same way Finance builds their own Excel workbooks today, they can build their own Power
Apps.
Power Apps allows even the most entry level users to reduce paperwork, increase process efficiency, and
ensure a single source of truth by combining multiple data sources into one app. Users can build apps
with ease, while staying within the guardrails set by IT. This allows for an unprecedented amount of
innovation and digitization, eliminating the app backlog, cumbersome paper-based processes and more.
In the next unit, you learn about how Heathrow Airport has built 30 apps that have eliminated 75,000
pages of paperwork, reduced data entry by nearly 1,000 hours, and saved the airport hundreds of
thousands of dollars.

Customer case study


Heathrow Airport is one of the world's busiest airports and models a small city in complexity and traffic.
With over 76,000 people working on a given day and 200,000 travelers passing through, there's a strong
need to continually optimize operations. One way to accomplish this goal is through the digitization of
processes. Part of that effort included the adoption of Microsoft Office 365 for all employees, and later
use of Power Apps
There are easily thousands of processes that could be turned into apps. These processes would require
hundreds of developers and years of work to even make a dent. While Heathrow has a robust IT depart-
ment, they did not have hundreds of extra developers to begin digitizing processes. Or did they?
At Heathrow Airport, they have attacked the process of digital transformation by empowering the front
line workers to build apps and solve problems. This revolution began with Samit Saini who decided to
show what could be accomplished with Power Apps. Saini's business change manager requested a further
look into the value Office 365, which led Saini to Power Apps. Saini began developing an app that which
held security information translated into dozens of different languages. Previously, this information was
kept in a book located at security checkpoints, and Saini set out to improve this experience. From the
success of that first app, there are now dozens of apps and an official process for creating and imple-
menting new apps.
In the full case study of Heathrow Airport2, you will learn the tremendous business value created by
enabling front line workers to build apps using Power Apps. You will also read about the support struc-
tures that they have put into place. These structures will help more people build their own apps and
avoid duplication of efforts. Finally, you will get an overview of the tremendous reduction of work and
cost savings these apps have led to.

1 https://aka.ms/CoEStarterKitDownload
2 https://customers.microsoft.com/story/766053-heathrow-airport-travel-transportation-power-apps
34 Module 3 Get Started with Power Apps

Power Apps in action


Now that you have an overview of Power Apps and how Heathrow Airport has leveraged this powerful
application, this video will help you get started. The video shows an example app and then shows you
how to create your first app from your existing data or a template.
Click here to watch a demonstration of Power Apps in action.3

Questions
Multiple choice
You want to build a mobile app that allows you complete control over the user experience and design. What
type of Power Apps app should you build?
†† A Model-driven app
†† A Portal app
†† A Canvas app

Multiple choice
Your project requirements call for the ability to take a picture of a part and identify which model it is. You
are not a data scientist or developer. How can you add this to your app?
†† Train and use an Object Detection model in your app with AI Builder.
†† This is not possible.
†† Add a camera control to your app.

Multiple choice
How can data sources be used with Power Apps Canvas apps?
†† Power Apps can only use its internal data sources.
†† Power Apps uses only external data sources and does not have an internal data source.
†† Power Apps can use multiple internal and external data sources in the same app.

Summary and resources


Microsoft Power Apps allows users of any technical level to improve business processes. These apps are
built using your existing skills and knowledge and without writing traditional managed code. These apps
offer the ability to create highly flexible solutions built for different devices and to consume data from a
multitude of sources.
Now that you have reviewed this module, you should be able to:
●● Explain the difference between Canvas, Model-driven, and Portal apps
●● Design apps that pull data from various data sources and include artificial intelligence
●● Build an app using Start from data or Templates to become more familiar with what is possible

3 https://www.microsoft.com/en-us/videoplayer/embed/RE4mPeJ
Introduction to Power Apps 35

Key takeaways
Here are the four key takeaways:
1. Power Apps is a no-code/low-code platform that allows you to build apps with your business knowl-
edge and existing skills.
2. Power Apps has different offerings to meet your needs. Canvas apps, Model-driven apps, and Portals
each have their own unique properties.
3. Power Apps helps you build and deploy customized apps that work across web and mobile, embed-
ded or standalone, on any device.
4. You can build apps that follow your business processes instead of making your business process
follow the software.

Resources
Use these resources to discover more.
Tip: To open a resource link, right-click and select “Open in a new tab or window”. That way, you can
check out the resource and easily return to the module.

Power Apps
●● Power Apps4
●● Power Apps Resources5

Learn more about AI Builder


●● AI Builder6
●● AI Builder Documentation7

Learn more about Portals


●● Portals8
●● Portals Documentation9

4 https://powerapps.microsoft.com/
5 https://powerapps.microsoft.com/blog/microsoft-powerapps-learning-resources/
6 https://powerapps.microsoft.com/en-us/ai-builder/
7 https://docs.microsoft.com/ai-builder/overview
8 https://powerapps.microsoft.com/portals/
9 https://docs.microsoft.com/powerapps/maker/portals/overview
36 Module 3 Get Started with Power Apps

How to build a canvas app


Introduction to building an app
Power Apps allows everyone to implement custom and powerful business solutions. This module walks
you through everything you need to know to build your first app. By the end of this module, you will be
prepared to start building your own business apps.
In this lesson, you will:
●● Learn basic elements of Power Apps
●● Build a canvas app
●● Customize elements of your app
●● Configure and manage app settings

Learn basic app elements


Power Apps has many different components to build solutions including screens, inputs, galleries, forms
and more. Let's review some of the most common elements you will need to get started.

Power Apps Studio


Power Apps Studio is the name of the web interface you use to build your app. With Power Apps, there is
no client to download or install for building apps. Everything is done from the browser by logging into
https://make.PowerApps.com10.

App format
The first step in creating your app is to choose the format of your app: Mobile or Tablet. While both
formats can be used interchangeably on a mobile device, a tablet, or a computer, each has different
defaults around sizing of the screens and controls. Once you choose the format for an app, you cannot
change it.

Galleries
The Gallery control is used to display records from a table of data. The display of a record is then defined
by a template, which you can customize to meet your needs. This allows you to control which fields are
shown and how they are formatted. Power Apps will then apply this template automatically to every
record in your data.

Forms
Forms are focused on working with a specific record, often based on a selection from a gallery. In this
experience, a user browses a gallery to find and select the desired record displaying the details on the
form. Forms enable a user to not only view detailed information, but to save new records and edit
existing ones. The various actions performed with forms are controlled by form modes allowing the form
to serve many purposes.

10 https://make.powerapps.com
How to build a canvas app 37

Input Controls
To allow you maximum flexibility in customizing your apps, Power Apps has a large selection of Input
controls. Text inputs, buttons, dropdowns, toggles, date pickers, and sliders are a few examples. You can
add these controls to galleries, forms, and screens to build a functional and aesthetic experience for your
app. All inputs have a multitude of settings for default data, formatting, and actions which allow you to
build an app that has the right user experience for your business process.

Intelligent Controls
In addition to common inputs as covered above, Power Apps also provides a rich set of controls for more
advanced operations. There are hardware-based controls which allow access to the camera, bar code
scanner, GPS, and more hardware features. There are also service backed controls like the business card
reader or object detector which allow you to add artificial intelligence to your app without writing code.

Functions
Functions are the glue that binds all these controls, inputs, and data sources together. You can use one or
more functions to create formulas in your apps. These formulas are similar to the language you use in
Excel and can be used for actions such as sending data to a data source, formatting information, creating
animations, and more. No complicated code is necessary, simply powerful functions with straightforward
inputs to enhance your app.
Now that you have an overview of some of the rich functionality you can achieve with Power Apps, the
next section will walk you down the path of building your first app.

Build a canvas app


In this unit, you will generate a canvas app where the data source is a
Microsoft Excel workbook that is stored in Microsoft OneDrive for Business. This
Excel workbook has a table of different buildings owned by Contoso
Manufacturing. Today, they must email the shared workbook between people as they
travel to different locations to make updates. With a Power Apps canvas app,
they will be able to view the buildings directly from their phones. In addition,
they will also be able to edit the information and even add new buildings.
This example uses Excel, but keep in mind that you can use data from many other
sources, including the Common Data Service, Microsoft SharePoint, cloud services
like Salesforce, and on-premises sources like Microsoft SQL Server. This gives
you the flexibility to build your app from your data no matter where it lives.
You can also combine data sources within Power Apps to easily create
associations between different data sources.
If you do not have a Power Apps account available, you can sign up for a free
Power Apps Community Plan. This will allow you to learn and explore Power Apps
in your own environment. For more information and to sign up, go to https://powerapps.microsoft.
com/communityplan/
The basic Power Apps creator journey will look something like this:
●● Identify a business need that could be filled by Power Apps
●● Connect to any necessary data in your Power Apps
38 Module 3 Get Started with Power Apps

●● Design the app using controls, buttons, and an easy to use interface for your end user to interact with
the data to accomplish the business need
●● Save and publish the app and test functionality
●● Once satisfied, share the app with end users to give them a better business process

Connect to a data source


To connect to a data source, use the following procedure:
1. Download the Contoso-Site-Tracking.zip11 file, extract all of the files, and save them to your
OneDrive for Business.
2. Go to https://make.powerapps.com12 and sign in with your organizational account.
3. In the left pane, select Create.
4. Select Other data sources from the Start from data section.
5. Under Connections choose OneDrive for Business. If you don't have the connection available, click
New connection to create one.
6. For Choose an Excel file on the right select the Contoso Site Tracking.xlsx file.
7. For Choose a table click SiteInspector and click Connect.

11 https://github.com/MicrosoftDocs/mslearn-build-app-solution/raw/master/downloads/Contoso-Site-Tracking.zip
12 https://make.powerapps.com/
How to build a canvas app 39

Power Apps generates the app by inspecting your data and matching it with Power
Apps capabilities, so that you get a working app as a starting point. Generated
apps are always based on a single list or table, but you can add more data to
the app later.

Explore the generated app


Your new three-screen app now opens in Power Apps Studio.
The following figure shows the main development window for Power Apps Studio, which you will learn
more about in later units.
40 Module 3 Get Started with Power Apps

Select Play in the upper-right corner to practice using the app. Notice that it includes all the data from
the table and provides a good default experience.
All apps that are generated from data have the same set of screens that you can view from the Screens
pane:
●● Browse screen - This screen appears by default. In it, you can browse, sort, search, and refresh the
data from the data source. In the browse screen, you can add items to the data source by selecting
the plus sign (+).
●● Details screen - The details screen shows all information about a single item. In this screen, you can
open an item to edit or delete it.
●● Edit/create screen - In this screen, you can edit an existing item or create a new one.
Close out of preview mode by selecting the “X” in the upper-right corner.
To make your app visible on the phone, it needs to be saved. Select File, Save as. Replace the current title
“App” with Contoso Site Tracking app, and then select Save. You will see a green check mark when all
changes are successfully saved. You can now open the app on your phone.

Install the app on your device


To see how the app runs on mobile, install the Power Apps Mobile app on your phone. When building an
app, you should test it in the same form factor as your users.
1. Download Power Apps Mobile from the app store for the platform that you want to use.
2. Sign in by using your username and password.
3. On your phone or tablet, run the Contoso Site Tracking app in Power Apps Mobile. If you do not
want to install the app, you can run it in a browser.
If the app you are creating will be used on a mobile device, then it is a good
idea to check how the Power App looks and runs on mobile so you can give your
users the best experience.
How to build a canvas app 41

Explore the app


Now that you have generated the Contoso Site Tracking app, you should take a few minutes to click
through the app and explore its design. Take note of how you use a Gallery to browse the records (rows)
from the Excel file. When you click on a record, you are taken to a different screen where a Form control
displays the additional details. The app also includes the ability to edit those records or even make a new
record. This is a very functional app to build upon.

Explore the browse screen


Each screen in the app has multiple controls, but one control takes up most of the screen space. The first
screen in the app is the browse screen, which is named BrowseScreen1 by default.
Controls in the browse screen that you will want to become familiar with include:
●● BrowseGallery1 - This control takes up most of the screen and shows data from your data source.
●● NextArrow1 - When this control is selected, it opens the details screen.
●● IconNewItem1 - When this control is selected, it opens the edit/create screen.
42 Module 3 Get Started with Power Apps

Explore the details screen


The details screen is named DetailScreen1 by default. Some of its controls are as follows:
●● DetailForm1 - This control contains other controls and contains a data card for each field of the
record that is being displayed.
●● Title_DataCard1 - This is a card control. Each card represents a single field of the record. In this case,
it shows the Title from the Site Inspector table, as shown in the previous unit.
How to build a canvas app 43

●● IconEdit1 - When this control is selected, it opens the edit/create screen so that the user can edit the
current item.

Explore the edit/create screen


The third screen in the app is EditScreen1. Some of its controls include:
●● EditForm1 - This control contains other controls and contains a data card for each field of the record
that is being edited.
44 Module 3 Get Started with Power Apps

●● Address_DataCard2 - This is a card control that shows the address from the Site Inspector table, as
shown in the previous unit.
●● IconAccept1 - When this control is selected, it saves the user's changes.

Customize the app


While the default screens make a useful app out of the box, you will often want to customize a generated
app to suit your needs.
How to build a canvas app 45

The following sections cover basic changes for each screen in the app. You can do a lot more to custom-
ize an app, but the best way to start learning is to take a generated app and make common customiza-
tions. This will allow you to become familiar with the controls, layouts, and functions.

Browse screen
The Contoso Site Tracking app already shows an image and some text for each product, but the layout
could be better.
To improve the layout, use the following procedure:
1. On the Screens pane on the left, select BrowseGallery1.
The selection box around the gallery confirms your choice.
46 Module 3 Get Started with Power Apps

2. On the right pane, open the Data pane by selecting the drop-down menu next to Layout.
How to build a canvas app 47

3. Select the layout Image, title, and subtitle for a cleaner look.
4. Select the Address of the item at the top of the gallery.

5. Change ThisItem.Address to ThisItem.Title in the formula bar.


48 Module 3 Get Started with Power Apps

6. Repeat the previous two steps but change the other Label control to show the description of each
item by setting it to ThisItem.Description.

Changing the layout of a gallery and the types of data that it shows is that simple, and you might find
that it's fun, too.
How to build a canvas app 49

Add an additional data source


Sometimes when creating a canvas app, you need to combine data from multiple
data sources. This will all be determined by your needs and what you hope
to accomplish with your canvas app.
Follow these steps to add Office 365 Outlook as an additional data source. This
is just one of the many sources you can use to expand your canvas app’s data.
1. Select View > Data sources to open the Data pane.
2. In the search bar, type or paste the first few letters of Office 365 Outlook:

3. Select Connect, and if prompted to sign in, enter your work account.
The Office 365 Outlook connection has been created and added to your app. Now,
it is ready to be used.
See this documentation for the types of commands you can do with the Office 365 Outlook connector:
https://docs.microsoft.com/en-us/connectors/office365/

Details screen
On the details screen, you want to change the order of the fields. The controls on this screen differ from
the controls on the browse screen, so the process for changing them is also slightly different.
1. On the Tree view on the left, select DetailScreen1 > DetailForm1. This will change the screen shown
in the studio.
2. On the right pane, select Edit fields.
50 Module 3 Get Started with Power Apps

3. Click the + Add field button at the top of the Fields section.
4. Here you can add any of the data source fields that were not added by default. Check the box next to
Title and SubTitle and click Add.
5. Now you can rearrange the order by clicking and holding on Title and then dragging it to the top
of the screen.
6. You can also remove fields that you don't want to display to the users like the ID column. From the list
of Fields click ID to expand it, click the …, and choose X Remove.
How to build a canvas app 51

Edit/create screen
On the screen where your users edit and create entries, you want to make it easier for them to enter
information in a text box.
1. On the Tree view on the left, select EditScreen1 > EditForm1.
2. On the right pane, select Edit fields.
52 Module 3 Get Started with Power Apps

3. Expand Description. Select the drop-down arrow for the Control type and then select Edit mul-
ti-line text.

4. A multi-line edit control will simplify your user's ability to add more than a few words in this field. You
could also reorder the fields to match the order from the Details screen to give the user a more
consistent experience.
A few basic steps can greatly improve the appearance and experience of using an app, and Power Apps
Studio provides many options for customizing those apps.

Controls in Power Apps


A control is a UI element that produces an action or shows information. Many controls in Power Apps are
similar to controls that you've used in other apps: labels, text-input boxes, drop-down lists, navigation
elements, and so on.
In addition to these typical controls, Power Apps has more specialized controls, which you can find on the
Insert tab.

A few controls that can add interest and impact to your apps include:
●● Galleries - These controls are layout containers that hold a set of controls that show records from a
data source.
●● Forms - These controls show details about your data and let you create and edit records.
●● Media - These controls let you add background images, include a camera button (so that users can
take pictures from the app), a barcode reader for quickly capturing identification information, and
more.
How to build a canvas app 53

●● Charts - These controls let you add charts so that users can perform instant analysis while they're on
the road.
To see what controls are available, select the Insert tab, and then select each option in turn.

Get started with functions


When using Microsoft Power Apps, you don't have to write complicated application code the way that a
traditional developer does. However, you must express logic in an app and control its navigation, filtering,
sorting, and other functionality. This is where formulas come in.
If you've used Microsoft Excel functions, you'll be comfortable building apps in Power Apps. To create a
formula, you will combine one or more formulas with the required and optional parameters. Here are
some common functions and an explanation of what they do:
●● Filter - This function is often used with galleries or tables of data to narrow down the records re-
turned from your data source. You do this by specifying one or more columns in your data set to
perform a logic test on, which will allow you to return data that falls in a certain date range, has a set
value, or was created by the user for example.
●● Match - This function allows you to check a value to see if it follows a given pattern. You can use this
to check if the user entered a properly formatted email address in the input field and if they did not
show them a warning that a valid email is required. This function serves well for conditional format-
ting.
●● Distinct - This function allows you to return the unique values from a list of data, making it easier to
build dynamic dropdowns that show users only the valid values for the given field.
●● Math functions - Power Apps includes a range of math formulas for working with your data from the
simple such as Sum or Average to the complex such as Atan and Sin to work with radians.
This is a small sampling of the large library of Power Apps functions that are available. Also, remember
you can combine functions into one formula to solve complex problems. This is the power of the plat-
form. You start with simple formulas and then as your comfort grows you learn to combine them.
For a complete list of all of the functions available in Power Apps, check out the documentation here13. To
learn more about using formulas, check out the Microsoft Learning Path - Use basic formulas to make
better Power Apps canvas apps14.

Share an app
Now that you've created an app, you can share it with specific users, groups, or your whole organization.
When you share an app with other people, they can run it in a browser, or in the players for Apple iOS
and Google Android.
Even better, you can give someone permission to update the app.
Sharing your app your final steps as an app creator. You will want to share the
app to test the full functionality with some stakeholders. This will give them a
chance to provide feedback and help you become a better app creator.

13 https://docs.microsoft.com/powerapps/maker/canvas-apps/formula-reference#s
14 https://docs.microsoft.com/learn/paths/use-basic-formulas-powerapps-canvas-app/
54 Module 3 Get Started with Power Apps

Prepare to share an app


To complete the following steps, open the app that you want to share in Edit mode.
1. In Power Apps Studio, select the File menu and then select Save as and then select The cloud.
2. Click Save in the bottom right corner.
3. After the app is successfully saved click Share.
4. On the Share tab, specify the users or groups with whom you want to share the app. To add everyone
in your organization, type Everyone and select Everyone in Company Name. If you need to share
with a large group of users, a best practice is to share through an Azure Active Directory Security
Group.
By default, the user receives the User permission. If you want the user to also be able to edit the app,
then select the co-owner check box. The following is a description of both permissions:
●● Co-owner - Users can use, edit, and share the app, but can't delete or change the owner.
●● User - Users can view and use the app, but they can't change it.
5. Consider security groups.
●● If you share an app with a security group, existing members of that group and anyone who joins it
will have the permission that you specify for that group. Anyone who leaves the group loses that
permission unless they belong to a different group that has access or if you give them permission
as an individual.
●● Every member of a security group has the same permission for an app as the overall group does.
However, you can specify greater permissions for one or more members of that group to allow
them greater access. For example, you can give Security Group A permission to run an app, but
you can also give User B, who belongs to that group, Co-owner permission. Every member of the
security group can run the app, but only User B can edit it. If you give Security Group A Co-owner
permission and User B permission to run the app, User B can still edit the app.
6. To notify users by email, leave the Send an email invitation to new users check box selected.
If you elect to notify the users by email, everyone you shared the app with will receive an email
message that has a link to the app. People whom you granted Co-owner permission for the app will
also receive a link to Edit App in Power Apps Studio.
7. Click Share.
If you make and save changes to a shared app, the people whom you shared it with will see your
changes as soon as you publish them. This can be useful if you improve the app, but it can also
negatively affect users if you remove or significantly change features. Remember to create a notifica-
tion plan for alerting your users of major updates.

Permissions and licensing


There is some basic information about permissions and licensing of which you should be aware:
●● Users and contributors need permissions to any data connections and gateways that a shared app
uses.
●● Some permissions come implicitly with the app, but you must explicitly grant others.
●● If you create an app based on Common Data Service, you must also ensure that the users with whom
you share the app have the appropriate permissions for the entity or entities on which the app relies.
How to build a canvas app 55

Specifically, those users must belong to a security role that can perform tasks such as creating,
reading, writing, and deleting relevant records.
●● In many cases, you'll want to create one or more custom security roles with the exact permissions that
users need to run the app. You can then assign a role to each user as appropriate.
Sharing an app is simple, and it's a great way to make an app that you find useful available to people
across your organization.

Questions
Multiple choice
Your sales team is in desperate need of a mobile application that can display records living in a SharePoint
list. When displaying the records, multiple pieces of information about each record need to be visible to the
user. Which of the following Power Apps tools would you use when designing your app to achieve this
functionality?
†† Create a gallery to display the sales records.
†† Create a form to display the sales records.
†† Create an input control to display the sales records.

Multiple choice
You have been tasked with creating a Power App that can scan barcodes that will display the scanned item's
information on the screen. Out of the following control options, which one would the barcode scanner fall
under?
†† Galleries
†† Media
†† Forms

Multiple choice
You have a gallery control in your app for displaying all customer orders. Your manager says she would like
to see orders from the last 90 days in addition. How would you reduce the amount of data she sees?
†† You would modify the data source to purge out all orders older than 90 days.
†† Use the data filtering wizard.
†† Create a forumula for your gallery that uses Filter function.

Summary and resources


Power Apps allows you to build custom business apps to make powerful new solutions with the potential
to increase process efficiency in the areas of communication and data. Now that you have built your first
app, consider areas that could benefit from custom solutions at your business. Start by thinking of
processes that frustrate you and consider how you can leverage Power Apps to improve them for every-
one.
56 Module 3 Get Started with Power Apps

Now that you have reviewed this module, you should be able to:
●● Understand basic elements of Power Apps
●● Build a canvas app
●● Customize elements of your app
●● Share the app you have created

Key takeaways
Here are the three key takeaways:
1. Power Apps can reference elements within the app to create dynamic solutions and a friendly inter-
face.
2. With endless customization options, Power Apps can be used to enhance any business process.
3. Creating and managing apps are simple and easy to learn, even for those without a computer pro-
gramming background.

Resources
Use these resources to discover more.
Tip: To open a resource link, right-click and select “Open in a new tab or window”. That way, you can
check out the resource and easily return to the module.

Power Apps
●● Power Apps15
●● Power Apps Resources16

Further Learning
●● Navigation in a canvas app in Power Apps17
●● Customize a canvas app in Power Apps18
●● Manage Apps in Power Apps19

15 https://powerapps.microsoft.com/
16 https://powerapps.microsoft.com/blog/microsoft-powerapps-learning-resources/
17 https://docs.microsoft.com/learn/modules/navigation-canvas-app/
18 https://docs.microsoft.com/learn/modules/customize-apps-in-powerapps/
19 https://docs.microsoft.com/learn/modules/manage-apps-in-powerapps/index
How to build a model-driven app 57

How to build a model-driven app


Introduction to model-driven apps
Model-driven app design is an approach that focuses on adding dashboards, forms,
views, and charts to your apps. With little or no code, you can build apps that
are simple or very complex.
In canvas apps, the app maker has total control over the app layout. In
model-driven apps, on the other hand, much of the layout is determined by the
components you add. The emphasis is more on quickly viewing your business data
and making decisions instead of on intricate app design.
In this module, you will:
●● Learn what model-driven apps are and how they differ from canvas apps
●● Learn the building blocks of model-driven apps
●● Learn how to create and design model-driven apps
●● Learn how to change security and share model-driven apps

Model-driven apps
Model-driven app design is a component-focused approach to app development.
Model-driven app design does not require code, and the apps you make can be
simple or very complex. Unlike canvas app development, where the designer has
complete control over app layout, much of the layout is determined for you with
model-driven apps and largely designated by the components you add to the app.
58 Module 3 Get Started with Power Apps

The approach to making model-driven apps


Model-driven apps have three design phases:
1. Model your business data
2. Define your business processes
3. Build the app

Model your business data


Model-driven design uses metadata-driven architecture so that designers can
customize apps without writing code. To model business data, you determine what
data the app will need and how that data will relate to other data. Metadata
means data about data and defines the structure of the data stored in Common
Data Service.

Define your business processes


Defining and enforcing consistent business processes is a key aspect of
model-driven app design. Consistent processes help ensure that your app users
can focus on their work and not worry about having to remember to perform a set
of manual steps. Processes can be simple or complex, and they often change over
time.

Build the app


After modeling data and defining processes, you build your app by selecting and
setting up the components you need in the App Designer.

Building blocks of model-driven apps


A model-driven app consists of several components that you select by using the
App Designer. The components and component properties become the metadata. Let's
look more closely at these components.
How to build a model-driven app 59

Data
The table below shows the different data components that can make up a model-driven app which can
determine what data the app will be based upon. It also shows what designer is used to create or edit the
data component.

DATA
Component Description Designer
Entity Entities are items with properties Entity designer
that you track. Examples include
contacts and accounts. Many
standard entities are available.
You can customize a non-system
standard entity (or production
entity). You can also create a
custom entity from scratch.
Field Fields are properties that are Entity designer
associated with an entity and
help define that entity. A field is
defined by a data type, which
determines the type of data that
can be entered or selected.
Examples of data types include
text, number, date and time,
currency, and lookup (which
creates a relationship with
another entity). Fields are
typically used in forms, views,
and searches.
Relationship Relationships define how entities Entity designer
can be related to each other.
There are 1:N (one-to-many), N:1
(many-to-one), and N:N (many-
to-many) relationships. For
example, adding a lookup field
to an entity creates a new 1:N
relationship between the two
entities and lets you add that
lookup field to a form.
Option set field This type of field shows a control Entity designer
that lets the user select among
predefined options. Each option
has a number value and a label.
Option set fields can require
either a single value or multiple
values.

User interface
The table below shows the user interface components which determine how users will interact with the
app and what designer is used to create or edit the component.
60 Module 3 Get Started with Power Apps

USER INTERFACE
Component Description Designer
App Apps determine the app funda- App designer
mentals, like components,
properties, the client type, and
the URL.
Site map A site map specifies the naviga- Site map designer
tion for your app.
Form Forms include a set of data entry Form designer
fields for a given entity. This set
of data entry fields matches the
items that your organization
tracks for the entity. One
example is a set of data entry
fields where users enter relevant
information to track a customer's
previous orders together with
specific requested reorder dates.
View Views define how a list of View designer
records for a specific entity
appears in your app. A view
defines the columns shown, the
width of each column, the
sorting behavior, and the default
filters.
How to build a model-driven app 61

Logic
The logic components determine what business processes, rules, and automation
the app will have. Microsoft Power Apps makers use a designer that is specific
to the type of process or rule.

LOGIC
Type of logic Description Designer
Business process flow Business process flows walk Business process flow designer
users through a standard
business process. Use a business
process flow if you want every-
one to handle customer service
requests the same way. Or you
can use a business process flow
to require staff to gain approval
for an invoice before submitting
an order.
Workflow Workflows automate business Workflow designer
processes without a user inter-
face. Designers use workflows to
initiate automation that does not
require any user interaction.
Actions Actions are a type of process Process designer
that lets you manually invoke
behaviors, including custom
actions, directly from a workflow.
Business rule Business rules apply rules or Business rule designer
recommendation logic to a form
to set field requirements, hide or
show fields, validate data, and
more. App designers use a
simple interface to implement
and maintain fast-changing and
commonly used rules.
Flows Power Automate is a cloud- Power Automate
based service that lets you create
automated workflows between
apps and services to get notifica-
tions, sync files, collect data, and
more.

Visualization
The visualization components determine what type of data and reporting the app will show and have
available and which designer is used to create or edit that component.

VISUALIZATION
Component Description Designer
62 Module 3 Get Started with Power Apps

VISUALIZATION
Chart Charts are individual graphical Chart designer
visualizations that can appear in
a view or a form or that can be
added to a dashboard.
Dashboard Dashboards show one or more Dashboard designer
graphical visualizations in one
place that provide an overview
of actionable business data.
Embedded Microsoft Power BI Power BI adds embedded Power A combination of chart designer,
BI tiles and dashboards to your dashboard designer, and Power
app. Power BI is a cloud-based BI
service that provides business
intelligence (BI) insight.
Some examples of visualizations in a model-driven app:

Design of model-driven apps


Here is a quick look at the App Designer for an example Model-driven app called
“Fundraiser.” As you can see, there are two entities: Donation and Fundraiser. Each entity also contains
four assets:
●● Forms – Defining how users will see and interact with the data
●● Views – A list view of the records for each entity
●● Charts - Showing the data in a meaningful, visual representation
●● Dashboards – Providing an insightful, graphical overview of the data
How to build a model-driven app 63

By selecting the Play button in the top right, the app is put into Play mode.
You can see it then looks completely different and shows the data based
on the choices made in the design process.

Understand the needs of the user


With model-driven apps, the name says it all. Your primary design goal is to get
your Common Data Service data model in order. With that in place, you can
connect Power Apps, and a model-driven app will be created for you from that
model.
Model-driven apps are created using the App Designer. You will choose the
entities, dashboards, business process flows, forms, and other components that
64 Module 3 Get Started with Power Apps

you want to make available in your app, and then the app will be created for
you. This means you will need to spend more time understanding what your user
needs than how it is going to look.

Data Model
As you begin the data modeling process, there are a couple of important
questions to ask yourself:
●● What type of data will your solution be storing and or collecting?
●● How will this data relate or coincide with the other data you are working with?
These questions are important when designing a model-driven application because
of how model-driven applications function. Remember, model-driven applications
use a metadata-driven architecture. This means a large portion of the
model-driven app is based on how your data is modeled, and there is no need to
write custom code to alter the app design.
You can view the app metadata by reviewing the Entity in the Common Data
Service.

You can also view the app Play mode to see a preview of what the app will
look like.

In the example above, for the Fundraiser Entity, there are several pieces of
data being collected, such as:
●● Name
●● Fundraiser Goal
●● Owner
●● Total Donations
●● Created On
How to build a model-driven app 65

As you think about your data model, also think about field types. When adding
fields to your entity in the Common Data Service, the field type you choose will
determine how users enter and view that in your model-driven app. Option sets
show as dropdowns, currency shows with currency symbols, while decimal numbers
don’t. These little changes in the entity can have a profound effect on how your
user experiences your app.
The screenshot below shows examples of Fields and the different data types they
could have using the Fundraiser example again.

Important: If a field type needs to be changed to a different field type, (i.e. text field
to an option set), then you will need to delete that field and recreate with the
correct field type. This will cause you to lose any data associated with that
field.

Business Logic
When incorporating business logic in your app, there are two primary options
available. You can set Business Rules on your Common Data Service entities
or you can build Business Process Flows.
With Business Rules, you will define behaviors at the data layer. This is
great for setting conditions for when a field is required, setting a default
value, or even showing or hiding a field based on criteria. An example could be
an entity for tracking expenses. You could have a field for type of travel and
then build a business rule that dictates that if a user chooses automobile then
the mileage field is required, else it is optional. This gives you the power to
make sure you maintain data consistency in all scenarios.
Business process flows are used to guide users through using your app. These
workflows can provide visuals on next steps based on the status of the data and
facilitate other actions that you want to occur as the user uses the app.
Business Process Flows let you bring automation to your app and make it more of
a guided experience than just a place to enter data. If you would like to go more in-depth
with Business Process Flows check out this additional Microsoft Learn module:
66 Module 3 Get Started with Power Apps

https://docs.microsoft.com/en-us/learn/modules/work-with-business-process-flows-dynam-
ics-365/

Dashboards
A common output need for apps is to visualize the data. For this requirement,
you can implement Dashboards with custom filters and visual graphics to tie all
this data together right in your app. When creating your Dashboards, make sure
it’s simple for your users to consume without overwhelming them with all the
data. Provide high-level snapshots of your data and allow them to use filters to
dive deeper into the data if needed.

Additional third-party solutions and app accelerators


It is also important to know about the different App accelerators and
third-party solutions available to you. Depending on the industry you are in,
Health, Financial, Banking, Education, Non- Profit, Automotive, or Media,
Microsoft has released a number of accelerators or foundational components to
assist you with quickly standing up your solution. For more information,
see Industry accelerators
overview20.

Create a model-driven app


In this unit, you will create a model-driven app by using one of the standard
entities that is available in your Microsoft Power Apps environment.
1. Sign in to Power Apps21 by using your
organizational account.
2. Select the environment you want, or go to the Power Apps admin
center22 to create a new one.

20 https://docs.microsoft.com/en-us/common-data-model/industry-accelerators?azureportal=true
21 https://make.powerapps.com/
22 https://admin.powerapps.com/
How to build a model-driven app 67

3. On the Home page, select Model-driven app from blank.


4. Click Create.

5. On the Create a New App page, enter a name and description for the app.
6. Select Done. Your new app appears in the App Designer, and you can now
add components to it.

Add components to your app


You add components to your app by using the App Designer.
1. Select the Open the Site Map Designer pencil icon to open the site map
designer.

2. In the site map designer, select New Subarea, and then, in the right
pane on the Properties tab, select the following properties:
●● Type: Entity
●● Entity: Account
68 Module 3 Get Started with Power Apps

3. Select Save And Close.


4. In the App Designer, select Forms, and then, in the right pane
under Main Forms, select the Account form.

5. In the App Designer, select Views, then select the following properties:
●● Active Accounts
●● All Accounts
●● My Active Accounts
6. In the App Designer, select Charts, then select the Accounts by Industry chart.
How to build a model-driven app 69

7. On the App Designer toolbar, select Save.

Create a form
1. On the left navigation pane, expand Data, and then select Entities.
2. Select an entity, such as the account entity, and then select the Forms tab.
3. Select Add form, and then select one of the following
●● Main form
The contents of the new form are filled using the existing main form definition. If multiple main
forms exist, the form at the top of the list in the form order is used to fill the new form.
●● Quick create form
●● Quick view form
4. When you are done making changes to the form, select Save to save the form.

Edit a form
1. On the left navigation pane, expand Data, and then select Entities.
2. Select an entity, such as the account entity, and then select the Forms tab.
3. Select the form name that you want to edit.

●● You can also select the row for a form, and then in the command bar, select Edit form
●● Another alternative is to select ... next to the form name, and then in the menu, select Edit form.
4. When you are done making changes to the form, select Save to save the form.

Open and add a view in the app designer


The following steps explain how to open and add a view in the app designer.
1. In the app designer Entity View section, select Views.
●● In this example, we have selected Views from the Account entity.
70 Module 3 Get Started with Power Apps

2. To add a view, select it by using view types such as Public, Advanced Find, Associated, and Lookup.
The view is automatically added to the Views list.
Note: Views are displayed based on the entity that you have selected. For example, when you select
Account, views that are related to the Account entity are displayed.
For more information about the app designer visit Design custom business apps by using the app
designer23

Add a column to your view in app designer


Views display records in a table that contains rows and columns. Each row is a record, and the fields you
display from the record are determined by the columns you add to the view.
1. In app designer, select the entity view that you want and then on the right pane next to the view that
you want select edit (pencil button).
2. On the Components tab, select the Column Attributes list for either the Primary Entity or Related
Entity.

23 https://docs.microsoft.com/en-us/powerapps/maker/model-driven-apps/design-custom-business-apps-using-app-designer
How to build a model-driven app 71

3. From the list, select the attribute you want and drag it to the column heading. You can also add the
attribute by double-clicking it.
4. Repeat step 3 until you have added all the attributes you want to display in your view.
As you add attributes, you can drag them to any position among existing column headings. You can also
move columns around after you add them to your view.
For more detailed options on creating and editing views visit https://docs.microsoft.com/en-us/
powerapps/maker/model-driven-apps/create-edit-views-app-designer

Publish your app


On the App Designer toolbar, select Publish. After you publish the app, it
is ready for you to run or share with others.
Above My Active Accounts, select Show Chart.
If the sample data for your accounts does not have an Industry populated, go
into a few accounts and add an Industry. Once you have updated a few accounts
with an industry, the chart will update as well.

Control security and share model-driven apps


Microsoft Power Apps use role-based security for sharing. A security role
includes privileges that define a set of actions that can be performed in the
app. All app users must be assigned to one or more predefined or custom security
roles.
Roles can be assigned to individual users or to teams. When a user or a team is
assigned to a role, that user or all members of that team are granted the set of
privileges associated with the role.
72 Module 3 Get Started with Power Apps

To share an app, you must have the Environment Admin or System Admin role.

Create or set up a security role


The Power Apps environment includes predefined security roles. These roles
reflect common user tasks, and the access levels that are defined follow the
security best practice of providing access to the minimum amount of business
data that is required to use the app.
Apps can be based on a custom entity. Because
the entity is custom, privileges must be explicitly specified before users can
work in it. To do this, you can use either of the following approaches:
●● Expand an existing predefined security role so that it includes privileges
on records that are based on the custom entity.
●● Create a custom security role to manage privileges for users of the app.
Security roles control a user's access to data through a set of access levels
and permissions. The combination of access levels and permissions that are
included in a specific security role sets limits on the user's view of data and
interactions with that data.
One or more security roles must be assigned to the app. The apps that users can
use depend on the security roles they are assigned to.
The following predefined roles are available with a Power Apps environment.
Unless otherwise noted, all the privileges have global scope.

ABOUT PREDEFINED SECURITY


ROLES
Security role Privileges Description
Environment Maker None Users who have this role can
create new resources that are
associated with an environment,
including apps, connections,
custom application program-
ming interfaces (APIs), gateways,
and flows that use Microsoft
Flow. But these users can't access
the data in an environment. To
learn more about environments,
see Announcing Power Apps
environments (https://power-
apps.microsoft.com/blog/
powerapps-environments/).
How to build a model-driven app 73

ABOUT PREDEFINED SECURITY


ROLES
System Administrator Create, Read, Write, Delete, This role has full permission to
Customize customize or administer the
environment, including creating,
changing, and assigning security
roles. User who have this role
can view all data in the environ-
ment. To learn more, see Privi-
leges required for customiza-
tion (https://docs.microsoft.com/
en-us/dynamics365/customer-en-
gagement/customize/privileg-
es-required-customization).
System Customizer Create (self), Read (self), Write This role has full permission to
(self), Delete (self), Customiza- customize the environment. But
tions users who have this role can view
records only for environment
entities that they create. To learn
more, see Privileges required
for customization (https://docs.
microsoft.com/en-us/dynam-
ics365/customer-engagement/
customize/privileges-re-
quired-customization).
Common Data Service User Read, Create (self), write (self), Users who have this role can run
delete (self) an app in the environment and
perform common tasks for the
records they own.
Delegate Act on behalf of another user This role lets code run as or
impersonate another user. This
role is typically used with
another security role to provide
access to records. To learn more,
see Impersonate another user
(https://docs.microsoft.com/
en-us/dynamics365/customer-en-
gagement/developer/org-service/
impersonate-another-user).

Share the link to your app


Sharing a model-driven app involves two primary steps. First, associate one or
more security role(s) with the app then assign the security role(s) to users.
1. Visit https://make.powerapps.com24
2. Select a model-driven app and click Share.
3. Select the app then choose a security role from the list.

24 https://make.powerapps.com/
74 Module 3 Get Started with Power Apps

4. Search for a user


5. Select the user, then select a role from the list.

6. Click Share.
7. Share the link to your app by following the steps below.
Note: Unlike sharing canvas apps, sharing model-driven apps does not currently send an email with a
link to the app.
How to build a model-driven app 75

Get the direct link to an app:


1. Edit the app and click the Properties tab
2. Copy the Unified Interface URL.
3. Paste the app URL in a location so that your users can access it, such as by
posting it on a SharePoint site or sending via email.

Questions
Multiple choice
When building model-driven apps, which designer is used to define the navigation of your app?
†† App designer
†† View designer
†† Site map designer
†† Dashboard designer
76 Module 3 Get Started with Power Apps

Multiple choice
If you wanted to create a standard procedure or process for handling service requests, what type of logic
would be best to implement?
†† Business process flow
†† Business rule
†† Workflow
†† Flow

Multiple choice
When sharing a model-driven app, which of the following statements is true?
†† Users just need to be added to a predefined security role
†† Users just need to be added to a custom security role.
†† Model-driven apps do not need to be shared, they are accessible to anyone with the app link.
†† Users need to be added to a predefined or custom security role and one or more security roles need
to be associated with the app.

Summary
Model-driven app design is a component-focused approach to app development. Model-driven app
design does not require code, and the apps you make can be simple or very complex. Unlike canvas app
development, where the designer has complete control over app layout, with model-driven apps much of
the layout is determined for you and largely designated by the components you add to the app.
This module covered the following concepts:
●● What model-driven apps are and their differences from canvas apps
●● The building blocks of model-driven apps
●● How to design and create model-driven apps
●● How to change security and share model-driven apps
Introduction to Power Apps portals 77

Introduction to Power Apps portals


Introduction to Power Apps portals
Power Apps portals provide a great way to allow internal and external audiences
to view and interact with data from Common Data Service or Dynamics 365. Through
the Power Apps interface, you can build an anonymous or authenticated website
that provides them with a branded, personalized, self-service experience.
Power Apps portals come with a variety of preconfigured portal solutions that
target diverse audiences. Starter portals have many features that add value to
the Microsoft Dynamics 365 service apps.
In this module, you will:
●● Learn what are Power Apps portals and the business value they provide
●● Learn the core components for the content and data access
●● Learn how to create portals using a template
●● See some of the differences in portal behavior based on security

Power Apps portals and what they can do for


you
Power Apps portals give internal and external users secure access to your data
either anonymously or through commercial authentication providers like LinkedIn,
Microsoft, Facebook, and Google, or enterprise providers such as Azure AD B2C
and Okta. Portals also allow you to set authentication requirements, customize
data for each user, and allow users to submit their information privately with
straightforward admin controls.

Modern audience
Portal capabilities empower online consumers who prefer to find answers on their
own through self-service and community options. By using Power Apps portals, you
can provide them with a branded, personalized, self-service experience. Portals
help you provide an organized, searchable knowledge base to deliver consistent,
up-to-date answers and community experience for peer-to-peer support and direct
interaction with your subject matter experts. Additionally, portals provide
simple navigation with seamless transitions between self and assisted support.
Out-of-the-box mobile optimizations for portal and knowledge articles ensure
that customers can get the help that they need, any time and from any device.
●● The majority of global consumers now expect brands and organizations to
offer a self-service portal.
●● Nearly one-third of consumers keep in touch with brands they've done
business with to make sure that they are getting the most out of their
purchase.
78 Module 3 Get Started with Power Apps

●● Half of the consumers are using multiple channels to stay connected,


including web, mobile, telephone, social, and self-service channels. Often,
consumers use many channels for a single support experience.
Providing a web portal interface takes advantage of these user trends and brings
any type of engagement, including partner, group, and employee scenarios, that
directly accesses Common Data Service to create a modern connected experience
for external users and internal business operations.

Modern business
Consider a scenario where your business is already using Power Apps. The
following are additional capabilities that Power Apps portals can deliver:
●● Provide self-service support - When your business is growing, rather
than having to employ extra staff in call centers, you could use Power Apps
portals to add self-service capabilities to your website so that your
customers can search knowledge articles, engage with other customers, find
answers, and create support cases when needed (that go directly into
Dynamics 365 Customer Service), all without a single interaction from your
resources.
●● Build a sales pipeline - When a lead fills out a Contact Us form on
your company website, this information is recorded in Dynamics 365 Sales
where the record can become part of your sales pipeline automatically.
●● Empower employees - When an employee needs a new computer, they can fill
out an online form, where the information will be recorded in Common Data
Service so the helpdesk staff can immediately access and process this
information.
●● Engage mobile workforce - Empower agents on any device, wherever they
work. Field technicians can process and complete work orders in the field,
instantly updating Dynamics 365 Field Service.

Power Apps portals capabilities


Power Apps portals are built on top of Common Data Service. This architecture
comes with a major benefit. All the differentiating features of model-driven
Power Apps are the features of Power Apps portals as well, including:
●● Centralized management
●● Common Data Model
●● Roles and permissions
●● Forms and views
●● Business rules
●● Declarative workflows and actions
●● Plug-in architecture
●● Integration with other services
●● Common Data Service extensibility
Introduction to Power Apps portals 79

●● Audit
Power Apps portals deliver a complete content management system out of the box,
with all content stored in Common Data Service. As a result, content can be
edited through the Portals Studio and also directly by using the Portal
Management app. Additionally, the robust Common Data Service security model can
help secure the content.

Get started with portals


Businesses that have Dynamics 365 or a custom Common Data Service solution
already in place can quickly build portals that are more secure and build their
entire website, all without requiring developers.
A Power Apps portal is not automatically provisioned when a new Common Data
Service environment is created. You will need to provision a Power Apps portal
and determine the name, default URL, language, and template.
Important: To provision a portal, you must be assigned to the System Administrator role of the Common
Data Service environment that is selected for the portal.

Portal templates
When provisioning a Power Apps portal, the most important choices to consider
are the audience, workload, and choosing a specific portal template that would
best align with the business requirements.
Several portal templates are available that can be provisioned. These templates
will accelerate the configuration of portals based on the intended audience and
workload.
80 Module 3 Get Started with Power Apps

If you are building a custom business application by using Common Data Service
without Dynamics 365 apps enabled, your only choice is the Portal from
blank option.
If you are using Microsoft Dynamics 365 apps such as Dynamics 365 Sales or
Dynamics 365 Service, you have a choice of five additional portal templates:
●● Community portal
●● Customer self-service portal
●● Employee self-service portal
●● Partner portal
●● Customer portal (Dynamics 365 Supply Chain Management)
Note: Specific features and components from a specific starter portal can be added to another starter
portal, as required.
Make sure that you define the type of audience who will visit the new portal.
The audience will determine which options of portal you will be given.

PORTAL TEMPLATES
Portal template Audience Workload
Community Partner, Customer Choose this option to provision a
portal that is focused on an
online community. This portal
will contain features such as
forums, ideas, blogs, and case
management.
Customer self-service Partner, Customer This option provides the ability
for portal users to search
knowledge articles, submit cases,
and participate in discussion
forums to resolve issues.
Employee self-service Employee This portal allows employees to
access a centralized knowledge
article and to also submit cases.
Partner Partner Choose this option to build a
portal where external partners
can manage and collaborate on
accounts and opportunities.
Add-ons are available for
Dynamics 365 Field Service or
Dynamics 365 Project Service.
Customer portal Enterprise B2B The Dynamics 365 Supply Chain
Management Customer portal is
a template that provides portal
access to Dynamics 365 Supply
Chain Management data by
using dual-write Common Data
Service entities.
Introduction to Power Apps portals 81

PORTAL TEMPLATES
Portal from blank Other The Portal from blank option is
meant for unique line-of-busi-
ness scenarios where the other
templates are not a good fit. The
portal can be configured to
address a variety of require-
ments. If Portal from blank is
provisioned within a Common
Data Service environment with
Dynamics 365 apps enabled,
specific features from the other
portals can be incorporated into
the portal later.

Provision a portal
Only one Power Apps portals can be provisioned for each Common Data Service
environment.
The high-level steps to provision a starter portal are:
1. Go to https://make.powerapps.com25.
2. Select a target environment by using the environment selector in the upper-right corner.
3. On the left menu, select + Create.
4. Select Portal from blank. If you have Dynamics 365 apps deployed in your Common Data Service
environment, additional portal templates, such as Customer self-service, will be available.
5. Provide a name for the portal.
6. Provide a unique address (URL) for the portal.
7. Select the language.
8. Select Create to start the portal provisioning process. After portal provisioning has completed, the
portal will appear in the list as an app of type Portal.
9. Select the ellipsis (...) next to the portal app name and then select Browse to open the portal website.

Power Apps portals Studio


You can use Power Apps portals Studio to create and customize your website. It
contains various options to add and configure webpages, components, forms, and
lists. The anatomy of Power Apps portals Studio is as follows:

25 https://make.powerapps.com/
82 Module 3 Get Started with Power Apps

Power Apps portals Studio components:


1. Command bar - Allows you to:
●● Create a webpage.
●● Delete a component.
●● Sync Configuration - synchronizes the latest portal configuration
changes in Common Data Service database with your current Studio
session. For example, use Sync Configuration to reflect the changes in
Studio when using the Portal Management app to change the configuration
of pages, forms or any other objects.
●● Browse website - clears the portal cache and opens the current portal
page.
2. Toolbelt - Allows you to:
●● View and manage webpages
●● Add components
●● Edit templates
3. Canvas - Contains components that build a webpage.
4. Footer - Displays autosave status and allows you to open-source code editor.
5. Properties pane - Displays properties of webpage and selected components and lets you edit them
as required.

Webpages
Most of a portal's content is represented by webpages. A webpage is a document
that is identified by a unique URL in a website. Through parent and child relationships
to other webpages, webpages form the hierarchy of a website, that is, its site map.
Introduction to Power Apps portals 83

Webpages can be added and edited by using the Portal Studio, the portal front-side editor,
or directly in Common Data Service by using the Portal Management app.

Page templates
A webpage record does not define how the page looks when it is rendered on the
portal. Instead, it is linked to the Page template record that defines the
layout and the behavior. Think of the webpage as the exact URL and the Page
template as the blueprint for displaying the content.

Content snippets
Content snippets are reusable fragments of editable content that can be placed
within a web template. Using snippets allows for targeted editing of parts of a
page without affecting the overall content.
Content snippets can include plain text, HTML layout, or template processing
instructions, which helps enable dynamic content. In the example below, Mobile Header
is a content snippet that can be updated with your company’s logo to quickly and easily tailor the portal
to your needs.

Snippets can be edited by using Portal Studio and Common Data Service records by
using the Portal Management app. Here is where you would replace the image source in the Value field
with your company's logo.
84 Module 3 Get Started with Power Apps

Entity lists and entity forms


The strength of Power Apps portals is the ability to interact with information
and data that is stored in Common Data Service. Entity lists and entity forms are used
in Power Apps portals to define what data should render on the portal from Common Data Service,
such as a list of records from an entity or a form to capture and display data for a specific record.

A webpage record can be linked to an entity list or an entity form. The linked
list or form will be used by the template to render the page layout with data
Introduction to Power Apps portals 85

from Common Data Service, such as a list of all Active Contacts to form the above
Member Directory list. In the Properties pane on the right of the above example, you
see that this entity list was created to display the Active Contacts view
from the contacts entity.
Entity lists can include functionality like filtering and sorting and can also have
actions associated with them to enable Create/Edit/Read abilities and to trigger
workflows. With this, App Makers can determine what will happen when a user
opens a record from a list, such as taking them to a form displaying the details
of the selected record.

In the above example, the App Maker has dictated that the user will be taken to
the Entity Form if they want to create or view details for a specific record
from a list.

Using themes in portals


In Power Apps portals, the Enable basic theme feature is set to Off.
When you turn on this feature, you can use default themes called Presets.
You can also create copies of the preset themes for additional customization.
1. Sign in to Power Apps by navigating to make.powerapps.com
2. Select Apps from the left navigation pane, and then select your portal.
86 Module 3 Get Started with Power Apps

3. Select More Commands (...), and then select Edit.

4. Select Themes from the left navigation pane, and then turn on the Enable
basic theme toggle.
Introduction to Power Apps portals 87

Change theme for your portal


You can set any existing theme in your portal to the default theme.
1. Sign in to Power Apps by navigating to make.powerapps.com
2. Select Apps from the left navigation pane, and then select your portal.
3. Select More Commands (...), and then select Edit.
4. Select Theme from the components pane.

5. Select any default theme from the available presets (in this example, we
selected Green).
88 Module 3 Get Started with Power Apps

The selected theme is applied to your portal.

Create a new theme


1. Sign in to Power Apps by navigating to make.powerapps.com
2. Select Apps from the left navigation pane, and then select your portal.
3. Select More Commands (...), and then select Edit.
4. Select Theme from the components pane.
5. Select New Theme.
Introduction to Power Apps portals 89

Edit theme details


You can update theme name, description, color, and other typography settings in
Power Apps Studio.
1. Sign in to Power Apps by navigating to make.powerapps.com
2. Select Apps from the left navigation pane, and then select your portal.
3. Select More Commands (...), and then select Edit.
4. Select Theme from the components pane.
5. Select the theme that's currently applied or select a new theme from the
presets. Selecting a theme opens the details pane on the right side of your
workspace.
90 Module 3 Get Started with Power Apps

6. Edit theme details such as name, description, and color for different areas.
7. Save and publish the changes.

Overview of portals security


Users of Power Apps portals are tracked in Common Data Service as contacts.
The Portal Management model-driven app provides access to the contact entity and
has forms to manage passwords, view portal-specific contact information, and
provide registration and profile management forms for the portal.
Introduction to Power Apps portals 91

All interactions and actions that a portal user takes (for example, leaving a
comment on a page) are tied to their contact record in Common Data Service.

Authentication
Portal users can authenticate by using the following methods:
●● Local authentication - Basic authentication with usernames and passwords
are stored in the Common Data Service contact record internally.
●● External authentication - Credentials and password management are
handled by other identity providers. Supported authentication providers
include:
●● OAuth2 (Microsoft, Twitter, Facebook, Google, LinkedIn, Yahoo)
●● Open ID (Azure Active Directory, Azure Active Directory B2C)
●● WS-Federation and SAML 2.0 (used for integration
with on-premises Active Directory and other identity services)
Portal administrators can choose to enable or disable any combination of
authentication options through portal Authentication Settings.
92 Module 3 Get Started with Power Apps

Important: Azure Active Directory B2C is the recommended identity provider for
authentication. If another provider support is required, then it can be
configured in Azure Active Directory B2C.

Authorization
After the user is authenticated and associated with a contact, Power Apps
portals use numerous entities to define authorization, that is, what a user is
allowed to do. Selecting Share from the portal app options will provide
information on how to share the portal app with internal and external users.
Introduction to Power Apps portals 93

Web roles allow an administrator to control user access to portal content


and Common Data Service records.

A web role can be associated with the following records:


●● Website permissions - Define what (if any) front-side editing
permissions that a web role should have.
●● Webpage access rules - Define what pages are visible to a web role and
what actions can be taken.
●● Entity permissions - Define what access a web role has to individual
Common Data Service entities.
A portal contact might be assigned to one or more web roles at a time. Access
rules and permissions of individual roles are combined to determine the
resulting permissions set.
One of the web roles in the portal can be marked as Anonymous and all of the
others are Authenticated. These roles allow you to apply permissions and
94 Module 3 Get Started with Power Apps

access rules to all portal users based on whether they are signed in.
If a user is not signed in, they will view the portal with the Anonymous web role permissions,
which should be the most restrictive permissions.

Questions
Multiple choice
Which one of the following selections is a valid target audience for Power Apps portals?
†† Family members
†† Employees
†† Competitors

Multiple choice
What role is required to be able to provision Power Apps portals for an organization?
†† System Administrator
†† Office 365 Global administrator
†† System Customizer
†† Power Apps portal administrator

Multiple choice
Which of the following is the recommended authentication mechanism in Power Apps portals?
†† Social providers
†† Azure Active Directory B2C
†† Local authentication with username and password
†† Microsoft account

Summary
Power Apps portals extend Common Data Service access to external audiences such
as customers, employees, or partners. This access allows businesses to extend
and scale their operations as they reduce call center costs, manual processing,
and resolution times while simultaneously improving user satisfaction,
transparency, and scale of operations.
This module covered the following concepts:
●● How Power Apps portals can add value to customer Power Platform and Dynamics 365 solutions.
●● Core components for configuring a portal: webpages, templates, entity forms, content snippets, and
entity lists.
●● Using and creating themes in Power Apps portals
●● Fundamentals of portals security and which methods are used to control access to the content and
data.
Introduction to Power Apps portals 95

Answers
Multiple choice
You want to build a mobile app that allows you complete control over the user experience and design.
What type of Power Apps app should you build?
†† A Model-driven app
†† A Portal app
■■ A Canvas app
Explanation
With Canvas apps, you start with a blank canvas choosing your type of mobile or tablet. Then you can
design the app to meet your "pixel perfect" design.
Multiple choice
Your project requirements call for the ability to take a picture of a part and identify which model it is. You
are not a data scientist or developer. How can you add this to your app?
■■ Train and use an Object Detection model in your app with AI Builder.
†† This is not possible.
†† Add a camera control to your app.
Explanation
Power Apps makes available to you the ability to use artificial intelligence without writing code. This allows
you to do Form Processing, Object Detection, Prediction, and Text Classification all powered by Azure
services.
Multiple choice
How can data sources be used with Power Apps Canvas apps?
†† Power Apps can only use its internal data sources.
†† Power Apps uses only external data sources and does not have an internal data source.
■■ Power Apps can use multiple internal and external data sources in the same app.
Explanation
Power Apps allows you complete control of which data sources you use in your app. There are over 270 data
connectors available, and the ability to build a customer connector if one does not exist.
Multiple choice
Your sales team is in desperate need of a mobile application that can display records living in a Share-
Point list. When displaying the records, multiple pieces of information about each record need to be
visible to the user. Which of the following Power Apps tools would you use when designing your app to
achieve this functionality?
■■ Create a gallery to display the sales records.
†† Create a form to display the sales records.
†† Create an input control to display the sales records.
Explanation
Galleries are used to display tables of data from your data source. They are highly customizable, so you can
show whatever information about a particular record that is necessary. You could then use a Form to edit
individual records, if desired.
96 Module 3 Get Started with Power Apps

Multiple choice
You have been tasked with creating a Power App that can scan barcodes that will display the scanned
item's information on the screen. Out of the following control options, which one would the barcode
scanner fall under?
†† Galleries
■■ Media
†† Forms
Explanation
The barcode scanner control is a part of the Media category of controls. This control can be used to scan
barcodes of various types and pass information about the barcode to the Power App. Then, additional
Functions can use that barcode information to perform additional tasks.
Multiple choice
You have a gallery control in your app for displaying all customer orders. Your manager says she would
like to see orders from the last 90 days in addition. How would you reduce the amount of data she sees?
†† You would modify the data source to purge out all orders older than 90 days.
■■ Use the data filtering wizard.
†† Create a forumula for your gallery that uses Filter function.
Explanation
The Filter function allows you to apply logic tests to one or more columns in your data source. For this
scenario you could filter out data where the Order Date is less than 90 days ago.
Multiple choice
When building model-driven apps, which designer is used to define the navigation of your app?
†† App designer
†† View designer
■■ Site map designer
†† Dashboard designer
Explanation
The site map designer is used to define the navigation of your app by dragging components onto the design
canvas, previewing your work, and instantly publishing the site map. Administrators and any user with the
required privileges can quickly create site maps for apps.
Multiple choice
If you wanted to create a standard procedure or process for handling service requests, what type of logic
would be best to implement?
■■ Business process flow
†† Business rule
†† Workflow
†† Flow
Explanation
Business process flows can be used to define a set of steps for people to follow to take them to a desired
outcome.
Introduction to Power Apps portals 97

Multiple choice
When sharing a model-driven app, which of the following statements is true?
†† Users just need to be added to a predefined security role
†† Users just need to be added to a custom security role.
†† Model-driven apps do not need to be shared, they are accessible to anyone with the app link.
■■ Users need to be added to a predefined or custom security role and one or more security roles need
to be associated with the app.
Explanation
Users must have a security role that grants them the right to access the app for you to successfully share the
app.
Multiple choice
Which one of the following selections is a valid target audience for Power Apps portals?
†† Family members
■■ Employees
†† Competitors
Explanation
The target audience for Power Apps portals can be customers, employees, or donors.
Multiple choice
What role is required to be able to provision Power Apps portals for an organization?
■■ System Administrator
†† Office 365 Global administrator
†† System Customizer
†† Power Apps portal administrator
Explanation
A user must have System Administrator role to create a Power Apps portal.
Multiple choice
Which of the following is the recommended authentication mechanism in Power Apps portals?
†† Social providers
■■ Azure Active Directory B2C
†† Local authentication with username and password
†† Microsoft account
Explanation
Azure Active Directory B2C is the recommended identity provider for authentication.
Module 4 Get Started with Power Automate

Power Automate overview


Introduction to Power Automate
Power Automate is used to automate repetitive business processes. Beyond simple workflows, Power
Automate can send reminders on past due tasks, move business data between systems on a schedule,
talk to more than 275 data sources or any publicly available API, and can even automate tasks on your
local computer like computing data in Excel. All of this can be done by all skill levels from typical business
users to IT using Power Automate's no-code/low-code platform.
In this lesson, you will:
●● Learn how to describe the business value and features in Power Automate
●● See how Power Automate works and looks from the user's perspective
Note: You may have previously known Power Automate as Microsoft Flow. In October of 2019, Microsoft
Flow was renamed to Power Automate to better convey that the service is able to do more than just
create workflows. You will see that you still use Power Automate to create flows. This note is here as you
will see some confusion in legacy content around Microsoft Flow and flows. This module will use the
terms appropriately.

The value that Power Automate brings


Do you find yourself regularly downloading email attachments and then uploading the file to the data-
base? Power Automate can help. Does the process of getting a new purchase order approved involve you
taking a form from desk to desk to get sign off? Power Automate can help. Do you have to log into a
website every morning, find the daily numbers, and then save those into another system? Power Auto-
mate can help.
Power Automate is all about having computers manage repetitive tasks. Power Automate allows anyone
with knowledge of the business process to create a repeatable flow that when triggered, leaps into action
and performs the process.
100 Module 4 Get Started with Power Automate

Common scenarios and capabilities of Power Automate:


●● Automating of repetitive tasks like moving data from one system to another
●● Guiding a user through a process so they can complete the different stages
●● Connecting to external data sources via one of the hundreds of connectors or directly via an API
●● Automating desktop based processes with robotic process automation (RPA) capabilities

Example: a purchase order approval


Approvals are a great process to build in Power Automate. They are often defined yet manual. Check out
the following scenario for an example:
A user starts the process by going into a Power Apps app and creating a purchase order request. Once
they submit the request, the information is sent to a Power Automate flow.
The flow can be built to evaluate the request and then route the request based on criteria such as
submitting user and request amount. The first action could be to send the request to the user's manager.
The manager could be automatically retrieved from Azure AD, avoiding prompting for duplicate informa-
tion.
Here is the starting point of the flow.

After the manager receives the approval and approves, the flow can then provide conditional logic.
Typically, this might be something like: if the purchase order request is greater than $10,000, send it to
VP; if not, then automatically approve the purchase order.
Here is an example of what this flow may look like.
Power Automate overview 101

As you can see, even the business process has many decision points. Your flow easily handles the deci-
sions without you writing any code.

Work with your data where it lives


When building an app, access to your data is very important. Power Automate offers you choices;
through over 275 connectors you can easily connect to data and services across the web and even
on-premises. Some common data sources include:
●● Common Data Service
●● Salesforce
●● Dynamics 365
●● Google Drive
●● Office 365
You don't have to choose just one data source either. Power Platform easily supports multiple data
connections allowing you to bring data together from many platforms into a single automation.
Finally, if your data isn't retrievable by one of the 275 plus connectors, then Power Automate also allows
you to create custom connectors, letting you talk to any data source via a swagger file.

The three types of flows you can create with Power Auto-
mate
Power Automate works by creating flows, of which there are three types:
●● Event driven flows - These are flows that you build with a trigger and then one or more actions. There
are a multitude of triggers and actions available, thanks to the existing connectors. You will see these
as My flows and Team flows in Power Automate. The only difference between a My flow and a Team
flow is ownership. With a My flow you are the sole owner, while a Team flow has more than one
owner.
102 Module 4 Get Started with Power Automate

●● Business process flows - These flows are built to augment the experience when using Model-driven
apps and the Common Data Service. Use these to create a guided experience in your Model-driven
apps.
●● UI flows - These robotic process automation (RPA) flows allow you to record yourself performing
actions on your desktop or within a web browser. You can then trigger a flow to perform that process
for you. You can also pass data in or get data out of the process, letting you automate even “manual”
business processes.

Add artificial intelligence to your flow without writing


code
Before the Power Platform, adding functionality such as image or text processing required an advanced
computer or coding knowledge. There was code to write, data models to design and train, and a lot of
complicated logic. The Power Platform, however, has “democratized” artificial intelligence by providing a
wizard-based interface for building and training your model. This unlocks the power of Azure Machine
Learning and Cognitive services without writing a single line of code.
To take advantage of these AI capabilities you must first build a model. From https://make.PowerApps.
com a wizard guides you through building and training the model. Currently, there are four available AI
models available to build:
●● Form processor - This model extracts text from an uploaded image or taken photo.
●● Object detector - This model identifies objects from an uploaded image or taken photo and then
provides a count of the number objects present.
●● Prediction - This model predicts whether something will happen or not based on previous data
history. More details in the following section.
●● Text classification - This model categorizes text by its meaning, making it is easier to analyze.

The prediction model


The AI Builder prediction model allows you to create a model that can predict a yes or no outcome based
on historical data. You train the model by providing historical data which includes the yes/no outcome
and then artificial intelligence does the rest.
You can build prediction models to solve business problems such as:
●● Will your customer be satisfied with the project outcome?
●● Will a project be profitable?
●● Will a customer churn based on activity?
Once you have a trained model, then you can interact with the model in your flow to send and receive
information to the AI system. Unlocking business value previously out of grasp without complex code.

Security and Administration


To manage security for Power Automate log into https://admin.flow.microsoft.com/ From the Power
Platform admin center you have full access to Power Automate tenant wide. You have the ability to create
and manage environments, implement Data Loss Prevention policies, work with Data integrations,
manage user licenses, and quotas. The admin center gives you management capabilities across Power
Automate.
Power Automate overview 103

Power Automate also offers a full set of PowerShell cmdlets. These cmdlets allow you deeper controls and
to work better in large-scale scenarios. Using the cmdlets for auditing gives you more control and insight
on Power Automate's usage throughout your tenant.
In addition, because Power Automate is all about automation, there are built in flow actions for managing
both Power Automate and Power Apps. An example of a helpful flow is you could create one that runs
everyday at 8 AM to discover all of the flows and Power Apps that have been created and then add
someone from IT as a co-owner of each. That way IT has access and awareness of the solutions within the
organization. Just another way that Power Automate is helping to automate common business processes.

Driving business value


Power Automate flows are built with triggers and actions. Triggers determine what starts the flows, while
actions determine what happens. With Power Automate you even have the ability to specify the business
logic to determine the necessary conditions. For many businesses that means these automations do not
have to be driven from IT but instead directly from the business. The same way that the Sales department
builds its manual processes today by emailing spreadsheets between people, they can build their flow to
automate the process going forward.
If you are in IT or otherwise responsible for governance, Power Automate has plenty to offer for you. With
Power Automate there are many security, governance, and reporting capabilities to provide the necessary
oversight. You can even write a flow to manage all of the other flows. Also, Power Automate doesn't
circumvent security in any way. Users cannot build flows to do things they don't already have permission
to do today.
In the next unit, you'll learn about how TruGreen is using Power Automate to better run their business.

Customer case study


Now that you have an overview of Power Automate and how it drives business value, this unit will explore
how TruGreen is improving customer experience by incorporating chat bots, artificial intelligence, and the
Power Platform.

TruGreen embarks on an all-up digital transformation


As part of TruGreen's commitment to provide customers with, they need to “live life outside” they've
teamed up with Microsoft. One step toward that goal was incorporating the Power Platform, including
Power Automate to provide proactive and predictive services to their customers.
Below you can see an infographic of their digital transformation strategy:
104 Module 4 Get Started with Power Automate

To provide better services, they built a new artificial intelligence enabled virtual agent bot. The virtual
agent was built without writing any code and instead used Power Virtual Agents to facilitate handling
routine customer requests and to take action based on customer intent. To expose and interact with the
back-end data required they used Power Automate.
TruGreen used some of the hundreds of connectors available for the Power Platform to connect to
traditional data sources. Using these capabilities they had their first protype running in two days, once
again without a single line of code.
In addition, they had systems that didn't have APIs to be used by the connectors. For these systems, they
leveraged UI flows. With UI flows they were able to mimic onscreen actions that customer service associ-
ates used to perform manually via robotic process automation (RPA).
Now they have a fully functional virtual agent for interacting with their customers that can take action on
the customers' intent in a meaningful way. This is just the first step as they continue to drive better
customer experiences and more business value using these tools.
To read more about the virtual agents TruGreen has built and what they have planned next, see the full
case study here1.
In the next unit, you will get an overview of some of these solutions in Power Automate and learn how
you can get started with building your own flows.

Power Automate in action


Now that you have an overview of Power Automate and how TruGreen has leveraged this powerful
service, these demo videos shows a couple types of flows and how to get started with Power Automate
yourself.
Watch this video to see Power Automate in action.2

1 https://customers.microsoft.com/en-us/story/759484-trugreen-partner-professional-services-power-virtual-agents
2 https://www.microsoft.com/en-us/videoplayer/embed/RE4mERh
Power Automate overview 105

Questions
Multiple choice
To secure and administer Power Automate you can use what resources?
†† Download the Power Automate administrator application.
†† Power Automate is only administered via the web portal.
†† Power Automate can be administered on the web, via PowerShell, or even by building flows.

Multiple choice
Where do you find flow templates?
†† Directly from the Power Automate builder website.
†† You have to build and save templates yourself; there are no pre-built templates.
†† You need to download the template pack from the Microsoft Learn website.

Multiple choice
How can data sources be used with Power Automate?
†† Power Automate can only connect to Microsoft data sources such as Office 365 and Azure.
†† Power Automate requires you to build custom connectors to access external data.
†† Power Automate can connect to data sources using one of the 275+ plus prebuilt connectors or by
building your own custom connector.

Summary and resources


Microsoft Power Automate allows you to bring automation to your business processes. With a different
type of flow to cover different business processes plus the ability to connect to data from hundreds of
data source with a few clicks, Power Automate affords great flexibility. All it takes to get started is knowl-
edge of your business process.
Now that you have reviewed this module, you should be able to:
●● Explain the difference between the different types of flows and where they are used
●● Design flows that pull data from many data sources and include artificial intelligence
●● Build a Power Automate flow by starting from blank or a template

Key takeaways
Here are the four key takeaways:
1. Power Automate is a web-based service for automating your business processes.
2. Power Automate has different offerings to meet your needs. Event-driven flows, business process
flows, and UI flows each have their own unique properties.
3. Power Automate can connect to hundreds of data sources with the built-in connectors or you can
build your own custom connectors.
106 Module 4 Get Started with Power Automate

4. If you know your business process, you can bring automation to it with Power Automate and without
writing any traditional code.

Resources
Use these resources to discover more.
Tip: To open a resource link, right-click and select “Open in a new tab or window”. That way, you can
check out the resource and easily return to the module.

Get started with Power Automate


●● Build your own flow with Power Automate3
●● Power Automate Documentation4

3 https://flow.microsoft.com/
4 https://docs.microsoft.com/flow/
How to Build an Automated Solution 107

How to Build an Automated Solution


Introduction to automation
Gone are the days of walking a form from office to office for approvals and spending your time on
repetitive tasks. With Power Automate's hundreds of connectors and templates, you can easily write flows
and get back to spending your valuable time on the work you love. In this module, you will explore three
flows, each able to meet different business needs. Take the concepts you learn here to consider what
processes you can automate to save time in your business.
In this module, you will:
●● Create a flow from a template
●● Create a recurring flow on a schedule
●● Create a flow triggered by a button
●● Automate an approval request and discover the approval center
●● Create a business process flow

Create a flow from a template


With the hundreds of triggers, actions and connectors, sometimes the hardest part about Power Auto-
mate can be figuring out where to get started. To help you get started, there are countless flow templates
available to help you build a solution. To see all of the available templates you can sign into Power
Automate5, and select Templates from the left-hand menu.

From here, you can search by a specific word or phrase like “Common Data Service” or you can browse
based on category.
If you click on a specific template, you will see details about the template including the data sources it
will connect to.

5 https://ms.flow.microsoft.com/en-us/
108 Module 4 Get Started with Power Automate

Templates are great for getting started and support being customized. So you can take a template and
extend it to meet your business needs.

Create a flow to save email attachments to OneDrive for


Business
It can be time consuming to search for attachments through email at Contoso Manufacturing.
To alleviate those time consuming searches, you can build a flow that stores all of your email attachments
in a folder on your Microsoft OneDrive for Business account. Thankfully, there is a template to help you
get started.
1. From the list of templates search for “Save Office 365 email attachments to OneDrive for Business”
and then click on the template to start using it.
2. Click Create Flow at the bottom of the screen to create the flow.
How to Build an Automated Solution 109

Save Office 365 email attachments to OneDrive for Business is one of the one-click templates, in
which you can answer questions that are necessary to build the flow, so that you don't have to write a
line of code.
On the template graphic, there's a description of what the template does and what it needs to succeed.
You'll be asked to provide credentials for the Microsoft Office 365 Outlook and Microsoft OneDrive for
Business services. If you regularly use both services, you'll already be signed in.
●● The flow connects to your work email to get any attachments.
●● The flow will then create a folder on your OneDrive for Business account to automatically put every
attachment that's sent to your work email address in that folder.
Now that the flow is created, you can click Edit to see the details of what was created for you.
From the flow builder, you can now click through the trigger and the actions to see how this flow was
built for you. As you can see, there is no code and everything is accessible to customize or extend to
better meet your business needs.
For example, maybe try configuring the flow to only process for emails from your boss. Here is a hint:
Click on Show advanced options for the On new email trigger.
110 Module 4 Get Started with Power Automate

Now that you have seen how easy it is to start from a template, let's talk about a couple of key concepts.

Important concepts in Microsoft Power Automate


Keep these concepts in mind when building flows:
●● Every flow has two main parts: a trigger, and one or more actions.
●● You can think of the trigger as the starting action for the flow. The trigger can be something like a
new email arriving in your inbox or a new item being added to a SharePoint list.
●● Actions are what you want to happen when a trigger is invoked. For example, the new email trigger
will start the action of creating a new file on OneDrive for Business. Other examples of actions include
sending an email, posting a tweet, and starting an approval.
Some examples of types of actions you can have in a flow include:
●● Loops – Runs an action until conditions are met to move to the next step of
the flow
●● Switch – Identifies a single case to execute based on the evaluation of
input
●● Do Until – Executes a block of actions until a specified condition evaluates
to true
●● Apply to each – Executes a block of actions for each item in the input array
●● Expressions – underlying definition that describes the actual logic that
runs in your flow that can be manually written
You can also perform data operations in your flow, such as Compose, Create CSV table, Join, or Select.
These concepts will come into play later when you build your own flows from scratch.

Trigger or run the flow


With Power Automate, you do not think of running a flow the same way as you do
with running a Power Apps app. Instead, you perform the activity that triggers
the flow to run. In the case of the previous flow, instead of periodically
running the flow manually, it would automatically run every time a new email is
received with an attachment. This is because the flow has the trigger that
determines when it should run.
When defining triggers, there are a few different types:
●● When something changes: These are triggers that run when data is changed. It
could be a new item created in SharePoint, a lead is updated in Dynamics, or
when an event has been deleted from Outlook for example. The previous flow
is an example of a flow that runs when something changes.
●● On a schedule: You can set up a flow to be triggered at a certain time of a
day and with a recurrence. This allows for processes such as checking every
day at 8 AM to see if there are account renewals pending and if so, sending
an email to the necessary people.
●● On a button press: This trigger takes shape in many ways. This can be when a
flow virtual button is run through the mobile app, or a physical button is
clicked with 3rd party options, or even when a button is pressed inside of
How to Build an Automated Solution 111

Power Apps. This gives you and/or the users control to “run” a flow on
demand.

Build a recurring flow


You can create a flow that performs one or more tasks (for example, sending a
report by email) on a specific schedule:
●● Once a day, an hour, or a minute
●● On a date that you specify
●● After a number of days, hours, or minutes that you specify

Create the flow


1. Launch Power Automate6 and sign in using your organizational account.
2. In the left pane, select My flows.
3. Select New, and then select Scheduled–from blank.
4. In the dialog box, specify the flow's name and how often the flow should run.
For example, if you want the flow to run every two weeks, enter 2 in
the Interval field, and select Week in the Frequency field. You
can also specify the day of the week your flow should run. The text at the
bottom of the dialog box explains your inputs in plain language.

5. Once you are satisfied with your inputs, select Create.

6 https://flow.microsoft.com/
112 Module 4 Get Started with Power Automate

Specify advanced options


1. Once your flow is created, select the title of the Recurrence card to expand it. Select Edit and then
Show advanced options.
Note: The advanced options vary, depending on the value of the Interval and Frequency fields. If the
dialog box that you see does not match the graphic that follows, make sure that the Interval and
Frequency fields are set to the same values that are shown in the graphic.
2. Here you can specify a time zone to reflect the local time zone, Universal
Coordinated Time (UTC), or another time zone.
3. Specify the day or days of the week when the flow should run, and the time
or times of day when the flow should run.
For example, set up the flow as shown in the following graphic to start it no earlier than noon (Pacific
time) on Monday, January 1, 2018, and to run it every two weeks, at 5:30 PM (Pacific time) on Tuesday.

Use the compose action


Use the Data Operation - Compose (compose) action to save yourself from
entering identical data multiple times when you are designing a flow. For
example, if you need to enter an array of digits: [0,1,2,3,4,5,6,7,8,9] several
times while you design your flow, you could use the compose action to save the
array like this:
1. Search for Compose, and then select the Data Operation -
Compose (compose) action.
How to Build an Automated Solution 113

2. Enter the array into the Inputs box you want to reference later:

Tip: For easier reference later, rename the Compose card by clicking on the text “Compose” on the
title bar of the Compose card.
When you need to access the contents of the compose action, do so via the Output token on the
Add dynamic content from the apps and connectors used in this flow list by following these
steps:
3. Add an action such as Data Operation – Join.
4. Select the control to which you would like to add the contents you saved in
the compose action.
The Add dynamic content from the apps and connectors used in this
flow opens.
5. On the Add dynamic content from the apps and connectors used in this
flow, select the Outputs token that’s under the Compose category
of the Dynamic content tab.
114 Module 4 Get Started with Power Automate

6. Next Save the flow in the top right corner

7. Then select the back arrow in the top left corner next to the name of the
Flow

8. Finally, you can Run the flow from the command bar at the top

Build a button flow


Of course we have an app – the Power Automate mobile app! From this app, you
can access these features:
●● Activity Feed
●● Browsing
●● Buttons
●● Managing Flows
First, you'll need to download and install the Power Automate mobile app from
your app store.
After it's installed, start it and sign in.
When you first start the app, you'll see the Activity Feed. The Activity Feed is
the place to see what's happening with your flows. It won't be the full
experience you'd expect from your PC, but it will show you useful details.
For example, you'll see a flow's last activity. You can see whether the flow
succeeded or failed. If it failed, you'll see which step it failed on.
How to Build an Automated Solution 115

Create a button flow


Buttons are flows that are started through a manual action. For example, you can
create a button to send a Working from home today email to your manager. If
you live far from your workplace, you can then use this button on days when the
traffic is a mess!
●● Select Buttons to use some of these flows.
●● Select Browse to check out templates for more button flows that you can
add to your collection.
To show you how you can use buttons, we'll use the Send myself a reminder in
10 minutes button template.
1. Select Browse.
2. Select the Send myself a reminder in 10 minutes button flow.

3. Select Use this template.


116 Module 4 Get Started with Power Automate

4. Select Create, and then select Done.


How to Build an Automated Solution 117

The flow is saved.

5. Select Buttons to see the new flow.


118 Module 4 Get Started with Power Automate

6. Select the flow. In 10 minutes, you will get a reminder.

Build an approval request


In this unit, you'll learn how to build a business-friendly scenario that uses approvals.
In this scenario, anyone who has access to the Microsoft SharePoint list can contribute tweets without
knowing anything about Twitter. The social media team can then approve or reject those tweets. There-
fore, that team remains in control of the account and the content that goes out to customers.

Create a SharePoint list for tweets


You'll use a template that starts an approval process whenever a new item is created in a specific list. If
the item is approved, a tweet is posted to Twitter. For this unit, you'll change the process by adding steps
that update a SharePoint list with the approval response, indicate whether the item was approved, and
add any comments that the approver added to the proposed tweet.
First, let's create the SharePoint list.
1. On your SharePoint site, create a SharePoint list named ContosoTweets.
2. Open the list, and select Add column.
3. Select + Add column to add the following columns. Select Save after you create each column.
●● Add a column of the Multiple lines of text type that's named TweetContent. This column will hold
the content of the tweets that will be approved later.
●● Add a column of the Date and Time type that's named TweetDate. To select the Date and Time
type, select More.
●● Add a column of the Yes/No type that's named ApprovalStatus. The approver can then select Yes or
No to approve or reject the tweet.
●● Add a column of the Single line of text type that's named ApproverComments. The approver can
then add a comment about the approval status.

4. Copy the URL of the SharePoint list. You'll use it when you create the flow.

Create an approval request flow


1. Sign in to Power Automate7, and then select Approvals.
2. Select Create approval flow, and then scroll down and select the Post list items to Twitter after
approval template.

7 https://ms.flow.microsoft.com/en-us/
How to Build an Automated Solution 119

3. Make sure that your account credentials for SharePoint, Approvals, and Twitter are correct, and then
select Continue.

4. Back in Microsoft Flow, in the When a new item is created action, enter the following values:
●● Site Address: Enter the URL of your team's SharePoint site.
●● List Name: Select ContosoTweets.

5. In the Start an approval action, select Edit to show all the fields.
120 Module 4 Get Started with Power Automate

6. In the Title field, enter New tweet for, and then select Title in the dynamic content list.

7. In the Assigned to field, enter and select either your name or the name of a test user.

8. In the Details field, remove the default items, and add TweetContent, TweetDate, and Created by
DisplayName from the dynamic content list. Add the words on and by to make the content more
readable, as shown here.
How to Build an Automated Solution 121

9. In the Item Link field, paste the URL of your SharePoint list, which you copied in the previous proce-
dure. In the Item Link Description field, enter Contoso Tweet List.

10. In the Condition action, hover over the IF YES box, select the plus sign (+), and then select Add an
action.

11. Search for update item, select the SharePoint connector, and then select the SharePoint – Update
item action.
122 Module 4 Get Started with Power Automate

12. In the Site Address, enter the URL of the team's SharePoint site again. In the List Name field, select
ContosoTweets again. In the Id field, add ID from the dynamic content list. The Id field is used to
match the actual tweet request in the SharePoint list.

13. Select the Title field, and then, in the dynamic content list, search for title. Add Title from the When a
new item is created action.
How to Build an Automated Solution 123

14. In the ApprovalStatus field, select Yes. Then select the ApproverComments field, and add Com-
ments from the dynamic content list.

15. Near the bottom of the IF NO, DO NOTHING box, select Add an action.

16. Repeat steps 11 through 14 to create a SharePoint – Update item action. Set the same values that
you set for the IF YES condition. The only difference is that you set the ApprovalStatus field to No
this time.
124 Module 4 Get Started with Power Automate

17. Select the Post a tweet action, and select Edit. Then select the Tweet text field, and add TweetCon-
tent from the dynamic content list. This step will create the actual tweet and then post it to Twitter
when it's approved.

18. Select Save.


Congratulations! You just created your first approval flow.
This unit showed another way that Power Automate can empower your team to be more productive. Your
team can contribute ideas, relevant news, or product guidance, but you maintain control over what's
tweeted out to customers.

Use the approval center


Power Automate helps users to manage their approvals through the approval center. Choose Approvals
under Actions on the left-hand menu. Here you will be able to see any approvals you have sent or
received and your approval history. Click on the item you just sent to see the details. As you can see,
Power Automate displays the details of the request including the requestor, approver, and outcome. You
can approve or reject requests directly in your email, or you can come to the approval center and do so
directly. Test out the approval center by sending off a few more requests and coming back to explore its
functionality.
How to Build an Automated Solution 125

Export the flow


Now that you have built a flow, you can also export the flow. When exporting a flow, you can either
export to a package or a Logic Apps template. Both options are available from the flow details page.
When you export to a package you can then send the resulting zip file to a co-worker in the same tenant
to import or to someone in another tenant. The wizard will then walk them through importing the
package and connecting it to their specific data sources.
When you export to a Logic Apps template, you can go to Azure Logic Apps and import the template.
Logic Apps can then be used to run the logic you created in the flow or can be used to extend the
logic using Azure Logic Apps specific functionality. Azure Logic Apps is the engine that Power Automate
flows are built upon. You can read more about exporting your flows to Logic Apps here:
https://docs.microsoft.com/en-us/azure/logic-apps/export-from-microsoft-flow-logic-app-tem-
plate

Understand business process flows


Business process flows are used to guide a user through the steps of your business process when working
with Model-driven apps and the Common Data Service. The example below will guide you through the
process and decisions you need to make when building a business process flow.

Create a business process flow


1. Launch Power Automate and sign in using your organizational account.
2. In the left pane, select Flows.
3. On the top bar, select Business process flows.
4. On the right, select Create from Blank.
5. In the Create business process flow pane, fill in the required fields:
●● Flow Name: The display name of the process doesn't have to be unique, but it should be mean-
ingful for people who must choose a process. You can change this name later.
●● Name: A unique name that's based on the display name. You can change the name when you
create the process, but you can't change it after the process has been created.
●● Common Data Service entity: Select the entity to base the process on.
●● The entity that you select affects the fields that are available for steps that can be added to the
first stage of the process flow. You can't change the entity after you save the process.
6. Select OK.
The new process is created, and the business process flow designer is started. The designer page has
three sections:
●● On the left, a single stage named Account New Stage has already been created for you.
●● Beneath this stage is the mini map, which lets you see the whole process or quickly go to a part of
the process.
●● On the right are components that you can drag to the designer. You can also set properties to
create a business process flow.
126 Module 4 Get Started with Power Automate

7. Add stages, so that users can proceed from one business stage to another in the process:
●● Drag the Stage component from the Components tab to the plus sign (+) in the designer.

●● Select the stage, and then, on the Properties tab on the right, set the properties:
●● Enter a display name.
●● Optional: Select a category for the stage (for example, Identify or Research). This category
appears as a chevron on the process bar.

●● When you've finished setting the properties, select Apply.


How to Build an Automated Solution 127

8. Add steps to each stage:


●● Drag the Step component from the Components tab to the stage.

●● Select the step, and then, on the Properties tab, set the properties:
●● Enter a display name for the step.
●● If users should be able to enter data to finish a step, select the appropriate field in the
drop-down list.
●● If users must fill in the selected field to finish the step before they can proceed to the next
stage of the process, select Required.
●● When you've finished, select Apply.
9. Add a branch (condition) to the process:
●● Drag the Condition component from the Components tab to the plus sign (+) between two
stages.

●● Select the condition, and then, on the Properties tab, set the properties. When you've finished,
select Apply.
10. Add a workflow to the process:
●● Drag the Workflow component from the Components tab to either a specific stage or the Global
Workflow item:
●● Drag the Workflow component to a specific stage if the workflow should be triggered when
the process enters or exits that stage. The Workflow component must be based on the same
primary entity as the stage.
●● Drag the Workflow component to the Global Workflow item if the workflow should be
triggered when the process is activated or archived (that is, when the status changes to
Completed or Abandoned). The Workflow component must be based on the same primary
entity as the process.
●● Select the condition, and then, on the Properties tab, set the properties:
●● Enter a display name.
●● Select when the workflow should be triggered.
●● Search for an existing on-demand active workflow that matches the stage entity, or create a
workflow by selecting New.
●● When you've finished, select Apply.
11. To validate the business process flow, select Validate on the action bar.
12. To save the process as a draft while you continue to work on it, select Save on the action bar.
128 Module 4 Get Started with Power Automate

13. To activate the process and make it available to your team, select Activate on the action bar.
14. To define who has privileges to create, read, update, or delete the business process flow instance,
select Edit Security Roles on the action bar. For example, for service-related processes, you might
give customer service reps full access to change the business process flow instance. But you might
give sales reps just read-only access to the instance, so that they can monitor post-sales activities for
their customers.
●● In the Security Roles pane, select the name of a role to open the details page for that role.
●● On the Business Process Flows tab, select options to assign the role appropriate privileges for the
business process flow.

●● Select Save.

Edit a business process flow


You can edit the business process flow after it has been created.
1. On the Power Apps main page, select Flows in the left pane.
2. In the list of processes, select the business process flow that you created, and then select the Edit
button.
Keep the following points in mind when you edit the stages of a business process flow:
●● Business process flows can have up to 30 stages.
●● You can add or change the following properties of a stage:
●● Stage Name: You can change the stage name after you create the stage.
●● Entity: You can change the entity for any stage except the first one.
●● Stage Category: A category lets you group stages by the type of action. It's useful for reports that
will group records by the stage that they're in. The options for the stage category come from the
Stage Category global option set. You can add more options to this global option set and change
the labels of existing options. You can also delete options, but we recommend that you keep the
existing options. If you delete an option, you won't be able to add it back later. If you don't want
an option to be used, change the label to Do not use.
●● Relationship: Enter a relationship when the preceding stage in the process is based on a different
entity than the current stage. For the current stage, select Select relationships, and then specify
How to Build an Automated Solution 129

the relationship that should be used when the flow moves between the two stages. We recom-
mend that you specify relationships, because they provide the following benefits:
●● Attribute maps are often defined for relationships. These attribute maps automatically carry
over data between records. Therefore, they help minimize the amount data entry that's re-
quired.
●● When you select Next Stage on the process bar for a record, any records that use the relation-
ship are listed in the process flow. Therefore, the reuse of records in the process is promoted.
In addition, you can use workflows to automate the creation of records. Users then just have to
select the workflow instead of creating a record. Therefore, the process is streamlined.
●● Set Process Flow Order: If you have more than one business process flow for an entity (record
type), you must specify which process is automatically assigned to new records. On the action bar,
select Order Process Flow. For new records or records that don't already have a process flow
associated with them, the first business process flow that a user has access to will be used.
●● Enable Security Roles: A user's access to a business process flow depends on the privileges that
are defined for the business process flow in the security role that's assigned to the user. By default,
only the System Administrator and System Customizer security roles can view a new business
process flow.
Now you have seen firsthand the process and options for creating a business process flow. You can now
apply these lessons to your own business process flow and continue to refine your flow by adding
conditions, for example. Business process flows offer multiple levels of customizations to help facilitate
working with your business data.

Questions
Multiple choice
One of your colleagues would like to set up a Flow to write an item to a SharePoint list when they receive an
email from their boss. Which of the following would get them started?
†† Create an "Instant" Flow and set the trigger to be "When an email is received", then add an action for
creating the SharePoint item.
†† Create an "Automated" Flow with only one action: create an item in SharePoint.
†† See if any templates are available for this scenario. If one exists, use that, otherwise create a blank
Flow with a "When an email is received" trigger.

Multiple choice
Your department would like to set up an approval system for items that are being written to a SharePoint
list. You have been assigned the task of creating the system. Using Flow, what's the best approach?
†† Create an Automated Flow from Blank and add a trigger for "When a new item is created" in Share-
Point, and actions for the approvals.
†† Set up a blank Flow to send approval emails to the department manager when a new item is created
in the SharePoint List.
†† Generate an Approval Flow from the built-in SharePoint Approvals functionality on your SharePoint
list.
130 Module 4 Get Started with Power Automate

Multiple choice
Your organization has started using lots of Approval Flows, and users are complaining that they have too
many approvals to keep track of. They don’t know what is approved and what is still pending their approval.
What is the easiest way for them to check?
†† Have the users navigate to the Approval Center in Power Automate.
†† Have the users set up Outlook rules to catch approvals so they are more visible.
†† Send the users to the SharePoint list, which holds the records being approved to review which ones
are approved and which ones are not.

Multiple choice
One of your colleagues would like to post information about SharePoint items that have been approved to
Twitter. Is this possible? If so, how would he do it?
†† No, it's not possible. SharePoint lists don't connect to Twitter directly, so there's no way to Tweet
about approved items.
†† Yes, it's possible. He can create a Flow to monitor his SharePoint list for approved items, then notify
him so he can Tweet the details manually.
†† Yes, it's possible. He can create a Flow to monitor his SharePoint list for approved items, then Tweet
the details.

Summary and resources


In a world of increasing distraction, it is more important than ever to alleviate repetitive or menial tasks to
better focus on the important work at hand. Power Automate allows businesses to do just that by
leveraging hundreds of connectors, templates, triggers and actions to allow beginners and advanced
developers alike to craft powerful workflows and increase business efficiency.
Now that you have reviewed this module, you should be able to:
●● Create a flow from a template
●● Create a recurring flow on a schedule
●● Create a flow triggered by a button
●● Create an approval request flow and utilize the approval center
●● Create a business process flow

Key takeaways
Here are the four key takeaways:
1. Power Automate has hundreds of connectors to ensure you can create useful solutions that integrate
with all your business programs.
2. Power Automate has hundreds of templates that combine actions and triggers from connectors to
create workflows useful for any business scenario.
3. Automation can save your business time and energy spent on repetitive tasks and make your business
run more smoothly.
How to Build an Automated Solution 131

4. Power Automate's approval center allows users to easily see and manage approvals from a variety of
flows to ensure ease of use and efficiency.

Resources
Use these resources to discover more.
Tip: To open a resource link, right-click and select “Open in a new tab or window”. That way, you can
check out the resource and easily return to the module.

Review additional Power Automate documentation


●● Power Automate Documentation8

Additional Learn Modules


●● Get started with Power Automate9
●● Build more complex flows with Power Automate10

8 https://docs.microsoft.com/flow/
9 https://docs.microsoft.com/learn/modules/get-started-with-flow/
10 https://docs.microsoft.com/learn/modules/build-more-flows/
132 Module 4 Get Started with Power Automate

Answers
Multiple choice
To secure and administer Power Automate you can use what resources?
†† Download the Power Automate administrator application.
†† Power Automate is only administered via the web portal.
■■ Power Automate can be administered on the web, via PowerShell, or even by building flows.
Explanation
Power Automate provides the online admin portal, PowerShell cmdlets, and flow actions for managing
Power Automate. This give you complete flexibilty for your Power Platform administration.
Multiple choice
Where do you find flow templates?
■■ Directly from the Power Automate builder website.
†† You have to build and save templates yourself; there are no pre-built templates.
†† You need to download the template pack from the Microsoft Learn website.
Explanation
When you create a flow, you can choose to start from a template. There you can browse for templates or
use search to find just the right template to begin your project.
Multiple choice
How can data sources be used with Power Automate?
†† Power Automate can only connect to Microsoft data sources such as Office 365 and Azure.
†† Power Automate requires you to build custom connectors to access external data.
■■ Power Automate can connect to data sources using one of the 275+ plus prebuilt connectors or by
building your own custom connector.
Explanation
Power Automate allows you to automate business processes wherever your data lives.
Multiple choice
One of your colleagues would like to set up a Flow to write an item to a SharePoint list when they receive
an email from their boss. Which of the following would get them started?
†† Create an "Instant" Flow and set the trigger to be "When an email is received", then add an action for
creating the SharePoint item.
†† Create an "Automated" Flow with only one action: create an item in SharePoint.
■■ See if any templates are available for this scenario. If one exists, use that, otherwise create a blank
Flow with a "When an email is received" trigger.
Explanation
Don't discount the template store in Power Automate; more often than not, someone has already solved this
problem before. However, if they haven't, you can just create a new Flow and use the appropriate Trigger to
achieve your goal.
How to Build an Automated Solution 133

Multiple choice
Your department would like to set up an approval system for items that are being written to a SharePoint
list. You have been assigned the task of creating the system. Using Flow, what's the best approach?
†† Create an Automated Flow from Blank and add a trigger for "When a new item is created" in Share-
Point, and actions for the approvals.
†† Set up a blank Flow to send approval emails to the department manager when a new item is created
in the SharePoint List.
■■ Generate an Approval Flow from the built-in SharePoint Approvals functionality on your SharePoint
list.
Explanation
Why re-invent the wheel? SharePoint's built-in Approvals Flows are great, and using the information in this
module you can set them up quickly and easily.
Multiple choice
Your organization has started using lots of Approval Flows, and users are complaining that they have too
many approvals to keep track of. They don’t know what is approved and what is still pending their
approval. What is the easiest way for them to check?
■■ Have the users navigate to the Approval Center in Power Automate.
†† Have the users set up Outlook rules to catch approvals so they are more visible.
†† Send the users to the SharePoint list, which holds the records being approved to review which ones
are approved and which ones are not.
Explanation
In the Approval Center, users will be able to view their outstanding approvals as well as their approval
history in a much easier-to-read platform. All of the approvals that require that user's interaction will be
available through the Approval Center.
Multiple choice
One of your colleagues would like to post information about SharePoint items that have been approved
to Twitter. Is this possible? If so, how would he do it?
†† No, it's not possible. SharePoint lists don't connect to Twitter directly, so there's no way to Tweet
about approved items.
†† Yes, it's possible. He can create a Flow to monitor his SharePoint list for approved items, then notify
him so he can Tweet the details manually.
■■ Yes, it's possible. He can create a Flow to monitor his SharePoint list for approved items, then Tweet
the details.
Explanation
It's definitely possible! This was covered in this module, so you can refer back to earlier in the module to see
how he could achieve it.
Module 5 Get Started with Power BI

Power BI overview
Introduction to Power BI
The business world is increasingly data driven. Small and large businesses alike use data to make deci-
sions about sales, hiring, goals, and all areas for which they have data. While most businesses have access
to data of one type or another, it can be intimidating to try to understand without a background in data
analytics or statistics. Even if you do understand the data, a challenge may arise in displaying the data in
an easy to understand way and communicating it to other relevant people. Power BI takes the intimida-
tion and hassle out of data analysis and visualization. By connecting to one or more of the hundreds of
existing data sources and using a secure, easy to understand interface, you can quickly and simply
interact with and understand your data to influence all business systems.
In this lesson, you will:
●● Describe the business value and features of Power BI
●● See how Power BI works and looks from the user’s perspective

What is Power BI
From customer and employee data, metrics for company goals, to sales and acquisitions, business are
drowning in data, but this data is only as good as your ability to interpret and communicate its meaning.
That's where Power BI (Business Intelligence) comes into play.
Microsoft Power BI is a collection of software services, apps, and connectors that work together to turn
your unrelated sources of data into coherent, visually immersive, and interactive insights. Whether your
data is a simple Microsoft Excel workbook, or a collection of cloud-based and on-premises hybrid data
warehouses, Power BI lets you easily connect to your data sources, clean, and model your data without
affecting the underlying source, visualize (or discover) what's important, and share that with anyone or
everyone you want.
136 Module 5 Get Started with Power BI

The parts of Power BI


Power BI consists of a Microsoft Windows desktop application called Power BI Desktop, an online SaaS
(Software as a Service) service called the Power BI service, and mobile Power BI apps that are available on
phones and tablets.

These three elements — Desktop, the service, and Mobile apps—are designed to let people create, share,
and consume business insights in the way that serves them, or their role, most effectively.

Power BI concepts
The major building blocks of Power BI are: datasets, reports, and dashboards.
They are all organized into workspaces, and they are created on capacities.

Capacities
Capacities are a core Power BI concept representing a set of resources used to host and deliver your
Power BI content.
Capacities are either shared or dedicated. A shared capacity is shared with
other Microsoft customers, while a dedicated capacity is fully committed to a
Power BI overview 137

single customer. Dedicated capacities require a subscription. By default,


workspaces are created on a shared capacity.

Workspaces
Workspaces are containers for dashboards, reports, datasets, and
dataflows in Power BI. There are two types of workspaces: My
workspace and workspaces.
●● My workspace is the personal workspace for any Power BI customer to work
with your own content. Only you have access to your My workspace. You can
share dashboards and reports from your My Workspace. If you want to
collaborate on dashboards and reports, or create an app, then you want to
work in a workspace.
●● Workspaces are used to collaborate and share content with colleagues. You
can add colleagues to your workspaces and collaborate on dashboards,
reports, and datasets. With one exception, all workspace members
need Power BI Pro licenses.
Workspaces are also the places where you create, publish, and
manage apps for your organization. Think of workspaces as staging areas
and containers for the content that will make up a Power BI app. So what is
an app? An app is a collection of dashboards and reports built to deliver
key metrics to the Power BI consumers in your organization. Apps are
interactive, but consumers cannot edit them. App consumers, the colleagues
who have access to the apps, do not necessarily need Pro licenses.

Datasets
A dataset is a collection of data that you import or connect to. Power BI
lets you connect to and import all sorts of datasets and bring all of it
together in one place. Datasets can also source data from dataflows.
Datasets are associated with workspaces and a single dataset can be part of
many workspaces. When you open a workspace, the associated datasets are listed
under the Datasets tab. Each listed dataset represents a single source of
data, for example, an Excel workbook on OneDrive, or an on-premises SSAS tabular
dataset, or a Salesforce dataset. There are many different data sources
supported. Datasets added by one
workspace member are available to the other workspace members with
an admin, member, or contributor role.

Shared Datasets
Business intelligence is a collaborative activity. It's important to establish
standardized datasets that can be the ‘one source of truth.’ Discovering
and reusing those standardized datasets is key. When expert data modelers in
your organization create and share optimized datasets, report creators can start
with those datasets to build accurate reports. Your organization can have
consistent data for making decisions, and a healthy data culture.
To consume these shared datasets just
choose Power BI datasets when creating your Power BI report.
138 Module 5 Get Started with Power BI

Reports
A Power BI report is one or more pages of visualizations such as line charts,
maps, and treemaps. Visualizations are also called visuals. You can create
reports from scratch within Power BI, import them with dashboards that
colleagues share with you, or Power BI can create them when you connect to
datasets from Excel, Power BI Desktop, databases, and SaaS applications. For
example, when you connect to an Excel workbook that contains Power View sheets,
Power BI creates a report based on those sheets. And when you connect to a SaaS
application, Power BI imports a pre-built report.
There are two modes to view and interact with reports: Reading view and Editing view. When you open
a report, it opens in Reading view. If
you have edit permissions, then you see Edit report in the upper-left
corner, and you can view the report in Editing view. If a report is in a
workspace, everyone with an admin, member, or contributor role can edit it.
They have access to all the exploring, designing, building, and sharing
capabilities of Editing view for that report. The people they share the report
with can explore and interact with the report in Reading view.
When you open a workspace, the associated reports are listed under
the Reports tab. Each listed report represents one or more pages of
visualizations based on only one of the underlying datasets. To open a report,
select it.
When you open an app, you are presented with a dashboard. To access an
underlying report, select a dashboard tile (more on tiles later) that was pinned
from a report. Keep in mind that not all tiles are pinned from reports, so you
may have to click a few tiles to find a report.

By default, the report opens in Reading view. Just select Edit report to
open it in Editing view (if you have the necessary permissions).
Power BI overview 139

Dashboards
A dashboard is something you create in the Power BI service or something a
colleague creates in the Power BI service and shares with you. It is a
single canvas that contains zero or more tiles and widgets. Each tile pinned
from a report or from Q&A displays a single visualization that was created from
a dataset and pinned to the dashboard. Entire report pages can also be pinned to
a dashboard as a single tile. There are many ways to add tiles to your
dashboard; too many to be covered in this overview topic.
Why do people create dashboards? Here are just some of the reasons:
●● to see, in one glance, all the information needed to make decisions.
●● to monitor the most-important information about your business.
●● to ensure all colleagues are on the same page, viewing and using the same
information.
●● to monitor the health of a business or product or business unit or marketing
campaign, etc.
●● to create a personalized view of a larger dashboard and show all the metrics
that matter to them.
When you open a workspace, the associated dashboards are listed under
the Dashboards tab. To open a dashboard, select it. When you open an app,
you will be presented with a dashboard. If you own the dashboard, you will also
have edit access to the underlying dataset(s) and reports. If the dashboard was
shared with you, you will be able to interact with the dashboard and any
underlying reports but will not be able to save any changes.

Template Apps
The new Power BI template apps enable Power BI partners to build Power BI apps
with little or no coding and deploy them to any Power BI customer. As a Power BI
partner, you create a set of out-of-the-box content for your customers and
publish it yourself.
140 Module 5 Get Started with Power BI

You can build template apps that allow your customers to connect within their own accounts.
As domain experts, they can unlock the data in a way that is easy for their business users to consume.
Template apps are submitted to the Partner center to become publicly available in the Power BI Apps
marketplace1 and on Microsoft
AppSource2. If you're
interested in creating template apps yourself for distribution outside your
organization, see Create a template app in Power
BI3.

Install a template app


1. In the nav pane in the Power BI service, select Apps > Get apps.

2. In the Power BI apps marketplace that appears, select Template apps. All
the template apps available in AppSource will be shown. Browse to find the
template app you're looking for, or get a filtered selection by using the
search box.

1 https://app.powerbi.com/getdata/services
2 https://appsource.microsoft.com/?product=power-bi
3 https://docs.microsoft.com/en-us/power-bi/connect-data/service-template-apps-create
Power BI overview 141

3. When you find the template app you're looking for, click it. The template app offer will display. Click
GET IT NOW.

4. In the dialog box that appears, select Install.


142 Module 5 Get Started with Power BI

The app is installed, along with a workspace of the same name that has all
the artifacts needed for
further customization4.
Note: If you use an installation link for an app that isn't listed on AppSource, a
validation dialog box will ask you to confirm your choice.
To be able to install a template app that is not listed on AppSource, you
need to request the relevant permissions from your admin. See the Template
app settings5 in
Power BI admin portal for details.
When the installation finishes successfully, a notification tells you that
your new app is ready.

Data modeling and visualizations


When you launch Power BI Desktop, the Getting Started dialog box will
appear, which provides useful links to forums, blogs, and introductory videos.
In Power BI Desktop, you will begin to build reports in the Report view. You
will be working in five main areas:

4 https://docs.microsoft.com/en-us/power-bi/connect-data/service-template-apps-install-distribute#customize-and-share-the-app
5 https://docs.microsoft.com/en-us/power-bi/admin/service-admin-portal#template-apps-settings
Power BI overview 143

1. Ribbon - Displays common tasks that are associated with reports and
visualizations.
2. Report view, or canvas - Where visualizations are created and arranged.
1. The Data view allows you to view all of your data available in your
report. This is an easy way to quickly check data types and validate
data.
2. The Model view allows you to visually set the relationship between
tables or elements. A relationship is where two or more tables are
linked together because they contain related data. This enables users to
run queries for related data across multiple tables.
3. Pages tab - Located along the bottom of the page, this area is where you
would select or add a report page.
4. Visualizations pane - Where you can change visualizations, customize
colors or axes, apply filters, drag fields, and more.
5. Fields pane - Where query elements and filters can be dragged onto
the Report view or dragged to the Filters area of the Visualizations
pane.

Types of visualizations available in Power BI


Below are just some of the many different types of visualizations that can be added to Power BI reports,
specified in Q&A, and
pinned to dashboards.

Area charts: Basic (Layered) and Stacked


The Basic Area chart is based on the line chart with the area between the axis
and line filled in.
144 Module 5 Get Started with Power BI

Bar and column charts


Bar charts are the standard for looking at a specific value across different
categories.
Power BI overview 145

Cards: Multi row

Cards: Single number

Donut charts
Donut charts are similar to pie charts. They show the relationship of parts
to a whole.
146 Module 5 Get Started with Power BI

Gauge charts
Displays current status in the context of a goal.

KPIs
Displays progress toward a measurable goal.
Power BI overview 147

Line charts
Emphasize the overall shape of an entire series of values, usually over time.

Maps: Basic maps


Used to associate both categorical and quantitative information with spatial
locations.

Matrix
A table supports two dimensions, but a matrix makes it easier to display
data meaningfully across multiple dimensions – it supports a stepped layout.
The matrix automatically aggregates the data and enables drill down.
148 Module 5 Get Started with Power BI

Pie charts
Pie charts show the relationship of parts to a whole.

Q&A visual
The Q&A visual lets you ask questions about your data using natural language.

Tables
Work well with quantitative comparisons among items where there are many
categories.

Treemaps
Are charts of colored rectangles, with size representing value. They can be
hierarchical, with rectangles nested within the main rectangles.
Power BI overview 149

Waterfall charts
Waterfall charts show a running total as values are added or subtracted.

These are some of the out-of-the-box Power BI visuals available from the
visualization pane in Power BI Desktop and Power BI Service. However, sometimes
you need a more custom visual and these can be found in AppSource for Power BI.

Custom visuals

AppSource Power BI visuals


Microsoft and community members contribute Power BI visuals for public benefit,
and publish them to
the AppSource6.
You can download these visuals and add them to your Power BI reports. Microsoft
has tested and approved these Power BI visuals for functionality and quality.
Note: By using Power BI visuals created with our SDK, you may be importing data
from, or sending data to, third party or other services located outside of
your Power BI tenant’s geographic area, compliance boundary, or national
cloud instance.
Power BI certified visuals are visuals in the AppSource that were
additionally tested to check that the visual does not access external
services or resources.
Once Power BI visuals from AppSource are imported, visuals may be updated
automatically without any additional notice.

6 https://appsource.microsoft.com/marketplace/apps?product=power-bi-visuals
150 Module 5 Get Started with Power BI

What is AppSource?
AppSource7 is
the place for apps, add-ins, and extensions for your Microsoft software.
AppSource connects millions of users of products such as Microsoft 365, Azure,
Dynamics 365, Cortana, and Power BI, to solutions that help them get work done
more efficiently and insightfully than before.

Certified Power BI visuals


Certified Power BI visuals are visuals
in AppSource8 that
meet certain specified code requirements that the Microsoft Power BI team has
tested and approved. The tests are designed to check that the visual doesn't
access external services or resources.

Filter data with Power BI


Data is the core of Power BI. As you explore reports, each visual draws its
underlying data from sources that often contain far more data than you need.
Power BI offers several ways to filter and highlight reports. Knowing how to
filter data is the key to finding the right information.
Note: Filtering only applies to reports, not to dashboards.

Note: When you filter a visual like a bar chart, you are just changing the view of the data in that visual.
You are not modifying the source data in any way.

Slicers
A simple type of filtering that you can use directly on the report page is
called a slicer. Slicers provide cues to ways you can filter the results in

7 https://appsource.microsoft.com/marketplace/apps?product=power-bi-visuals
8 https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fappsource.microsoft.com%2Fen-us%2Fmarketplace%2Fapps%3Fpa
ge%3D1%26product%3Dpower-bi-visuals&data=02%7C01%7CKesem.Sharabi%40microsoft.com%7C6d9286afacb3468d4cde08d740b7669
4%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637049028749147718&sdata=igWm0e1vXdgGcbyvngQBrHQVAkahPnxPC1ZhU
PntGI8%3D&reserved=0
Power BI overview 151

the visuals on a report page. There are several different types of slicers:
numeric, categorical, and date. Slicers make it easy to filter all the visuals
on the page at once.

If you want to select more than one field, hold the Ctrl key and click
additional fields.

Explore the Filters pane


Another way to filter data is by opening and modifying filters in the Filters
pane. The Filters pane contains filters that were added to the report by the
report designer. As a consumer, you can interact with the filters and save your
changes but cannot add new filters.
The four types of filters are:
●● Report – Applies to all pages in the report.
●● Page – Applies to all the visuals on the current report page.
●● Visual – Applies to a single visual on a report page. You only see
visual level filters if you have selected a visual on the report canvas.
●● Drillthrough – Allows you to explore successively more detailed views
within a single visual.

Use buttons in Power BI


Using buttons in Power BI lets you create reports that behave like apps, and
thereby, create an engaging environment so users can hover, click, and further
interact with Power BI content. You can add buttons to reports in Power BI
Desktop and in the Power BI service. When you share your reports in the
Power BI service, they provide an app-like experience for your users.
To create a button in Power BI Desktop, on the Insert ribbon,
select Buttons and a drop-down menu appears, where you can select the button
you want from a collection of options, as shown in the following image.
152 Module 5 Get Started with Power BI

Transform data
Sometimes, your data might contain extra data or have data in the wrong format.
Power BI Desktop includes the Power Query Editor tool, which can help you
shape and transform data so that it's ready for your models and visualizations.

Launch Power Query Editor


To begin, select Edit from the Navigator window to launch Power Query
Editor. You can also launch Power Query Editor directly from Power BI Desktop by
using the Edit Queries button on the Home ribbon.
Power BI overview 153

After loading your data into Power Query Editor, you'll see the following
screen:

1. In the ribbon, the active buttons enable you to interact with the data in
the query.
2. On the left pane, queries (one for each table, or entity) are listed and
available for selecting, viewing, and shaping.
3. On the center pane, data from the selected query is displayed and available
for shaping.
4. The Query Settings window lists the query’s properties and applied
steps.

How to transform data


On the center pane, right-clicking a column displays the available
transformations. Examples of the available transformations include removing a
column from the table, duplicating the column under a new name, or replacing
values. From this menu, you can also split text columns into multiples by common
delimiters.
154 Module 5 Get Started with Power BI

The Power Query Editor ribbon contains additional tools that can help you change
the data type of columns, add scientific notation, or extract elements from
dates, such as day of the week.
Tip: If you make a mistake, you can undo any step from the Applied Steps list.
As you apply transformations, each step appears in the Applied Steps list on
the Query Settings pane. You can use this list to undo or review specific
changes, or even change the name of a step. To save your transformations,
select Close & Apply on the Home tab.

After you select Close & Apply, Power Query Editor applies the query changes
and applies them to Power BI Desktop.
For more information, see Quickstart: Using Power Query in Power BI Desktop9.

Clean data
While Power BI can import your data from almost any source, its visualization
and modeling tools work best with columnar data. Sometimes, your data won't be
formatted in simple columns, which is often the case with Excel spreadsheets.
In this unit, you will clean columnar data with Power Query Editor.

9 https://docs.microsoft.com/en-us/power-query/power-query-quickstart-using-power-bi/
Power BI overview 155

A table layout that looks good to the human eye might not be optimal for
automated queries. For example, the following spreadsheet has headers that span
multiple columns.

How to clean data


Fortunately, Power Query Editor has tools to help you quickly transform
multi-column tables into datasets that you can use.

Transpose data
By using Transpose in Power Query Editor, you can swap rows into columns to
better format the data.
156 Module 5 Get Started with Power BI

Format data
You might need to format data so that Power BI can properly categorize and
identify that data. With some transformations, you'll cleanse data into a
dataset that you can use in Power BI. Examples of powerful transformations
include promoting rows into headers, using Fill to replace null values,
and Unpivot Columns.
With Power BI, you can experiment with transformations and determine which will
transform your data into the most usable columnar format. Remember,
the Applied Steps section of Power Query Editor records all your actions. If
a transformation doesn't work the way that you intended, select the X next
to the step, and then undo it.

After you've cleaned your data into a usable format, you can begin to create
powerful visuals in Power BI.
For more information, see Tutorial: Combine sales data from Excel and an OData
feed 10.

Work with aggregates in the Power BI service

What is an aggregate?
Sometimes you want to mathematically combine values in your data. The
mathematical operation could be sum, average, maximum, count, and so on. When
you combine values in your data, it's called aggregating. The result of that
mathematical operation is an aggregate.
When Power BI service and Power BI Desktop create visualizations, they may
aggregate your data. Often the aggregate is just what you need, but other times
you may want to aggregate the values in a different way. For example, a sum
versus an average. There are several different ways to manage and change the
aggregate Power BI uses in a visualization.
First, let's take a look at data types because the type of data determines
how, and whether, Power BI can aggregate it.

10 https://docs.microsoft.com/en-us/power-bi/desktop-tutorial-analyzing-sales-data-from-excel-and-an-odata-feed/
Power BI overview 157

Types of data
Most datasets have more than one type of data. At the most basic level, the data
is either numeric or it isn't. Power BI can aggregate numeric data using a sum,
average, count, minimum, variance, and much more. The service can even aggregate
textual data, often called categorical data. If you try to aggregate a
categorical field by placing it in a numeric-only bucket
like Values or Tooltips, Power BI will count the occurrences of each
category or count the distinct occurrences of each category. Special types of
data, like dates, have a few of their own aggregate options: earliest, latest,
first, and last.
In the example below:
●● Units Sold and Manufacturing Price are columns that contain numeric
data
●● Segment, Country, Product, Month, and Month Name contain
categorical data

When creating a visualization in Power BI, the service will aggregate numeric
fields (the default is sum) over some categorical field. For example, "Units
Sold by Product", “Units Sold by Month” and "Manufacturing Price by
Segment". Power BI refers to some numeric fields as measures. It's easy to
identify measures in the Power BI report editor – The Fields list shows
measures with the ∑ symbol next to them. See The report editor… take a
tour11 for
more info.

11 https://docs.microsoft.com/en-us/power-bi/create-reports/service-the-report-editor-take-a-tour
158 Module 5 Get Started with Power BI

Why don't aggregates work the way I want them to?


Working with aggregates in Power BI service can be confusing. Maybe you have a
numeric field and Power BI won't let you change the aggregation. Or maybe you
have a field, like a year, and you don't want to aggregate it, you just want to
count the number of occurrences.
Typically, the underlying issue is the field definition in the dataset. Maybe
the dataset owner defined the field as text and that explains why Power BI can't
sum or average it. Unfortunately, only the dataset owner can change the way a
field is
categorized12.
So if you have owner permissions to the dataset, either in Desktop or the
program used to create the dataset (for example, Excel), you can fix this
problem. Otherwise, you'll need to contact the dataset owner for help.

Change how a numeric field is aggregated


Say you have a chart that sums the units sold for different products, but you'd
rather have the average.
1. Create a Clustered column chart that uses a measure and a category. In
this example, we're using Units Sold by Product. By default, Power BI
creates a chart that sums the units sold (drag the measure into
the Value well) for each product (drag the category into
the Axis well).

12 https://docs.microsoft.com/en-us/power-bi/transform-model/desktop-data-categorization
Power BI overview 159

2. In the Visualizations pane, right-click the measure, and select the


aggregate type you need. In this case, we're selecting Average.

Note: The options available in the drop-down list will vary depending on 1) the
field selected and 2) the way the dataset owner categorized that field.
3. Your visualization is now using aggregated by average.
160 Module 5 Get Started with Power BI

Ways to aggregate your data


Some of the options that may be available for aggregating a field:
●● Do Not Summarize. With this option chosen, Power BI treats each value in
that field separately and doesn't summarize them. Use this option if you
have a numeric ID column that the service shouldn't sum.
●● Sum. Adds all the values in that field up.
●● Average. Takes an arithmetic mean of the values.
●● Minimum. Shows the smallest value.
●● Maximum. Shows the largest value.
●● Count (Not Blanks). Counts the number of values in that field that
aren't blank.
●● Count (Distinct). Counts the number of different values in that field.
●● Standard deviation.
●● Variance.
●● Median. Shows the median (middle) value. This value has the same number of items above and
below. If there are two medians, Power BI averages them.

Security and administration


Security is at the forefront of data concerns. Administration is at the forefront of business concerns.
Thankfully, Power BI's structure and capabilities make both simple to business users and administrators to
provide peace of mind.

Security
Similar to many Microsoft services, Power BI is built on Azure. This is Microsoft's cloud computing
infrastructure and platform, which ensures the same level of security for Power BI as other Microsoft
services. Users sign in with their credentials held in Azure Active Directory and control the level of sharing
for every report, data or dashboard, determining whether recipients can edit or only view items.
Power BI overview 161

It's important to note that users are responsible for the data they share. If a user connects to data sources
using their credentials, they can share a report (or dashboard, or dataset) based on that data. Users with
whom the dashboard is shared aren't authenticated against the original data source and will be granted
access to the report. This is beneficial to allow users to share reports and dashboards they have created
but does require responsibility on the user's part.
For more in-depth information on Power BI security, be sure to check out the resources of this module in
the last unit.

Administration
Power BI administration is the management of a Power BI tenant, including the configuration of govern-
ance policies, usage monitoring, and provisioning of licenses, capacities, and organizational resources.

Power BI is designed for self-service business intelligence. The administrator is the guardian of data,
processes, and policies in the Power BI tenant. A Power BI administrator is a key member of a team that
includes BI developers, analysts, and other roles. The administrator can help support an organization to
make sure that critical goals are met.
You can find more information on Power BI administration including roles, tasks and tools by accessing
the links in the resources unit at the end of this module.

Customer case study


While it's accepted that data can improve business processes and increase revenue, a real-world example
helps to unite the concepts that we've already covered and allows you to see the potential of Power BI in
action. One such case is that of Miami heat, whose Power BI adoption is 70% across the organization.
Miami Heat leveraged the powerful analysis and visualization features to completely transform their
customer interactions and business operations.

Miami Heat boosts season ticket sales by 30% and saves


approximately $1 million on operations
Basketball is about far more than watching the skill of players. There's a sentiment and a bonding over
shared experiences that come forth in the viewing and participation of sports so Miami Heat wanted to
162 Module 5 Get Started with Power BI

better understand the family of customers that enter their arena or interact with their many online
platforms. But how does one truly understand a customer when there are so many of them? This is where
Microsoft technologies come into play, Power BI chief among them.
Watch this video to see how Miami Heat leveraged Power BI to transform their business.13
By analyzing their data in Power BI, the Miami Heat operations team has been able to increase revenue,
but also improve the allocation of resources by predicting customer behavior.
“Using Power BI and the entire Azure data platform, we can predict attendance for all 44 games of the
season within hours of the schedule being released,” says Edson Crevecoeur, Vice President of Strategy
and Data Analytics for the Miami Heat. “Last season, we got within 4 percent of the actual numbers for
the whole season, two months before any games had been played. This puts us in a better position to
identify opportunities, mitigate risks, and manage our resources in a more efficient fashion. Ultimately
helping all areas of our business focus on enhancing the fan experience.”
As Miami heat effectively demonstrates, leveraging Power BI and other Microsoft technologies can lead
to significant returns for not only revenue, but your business users' ability to make beneficial decisions.

Power BI in action
Now that you have an overview of Power BI and seen how the Miami Heat has leveraged this powerful
service, this video will showcase a simple product walkthrough. The video demo a couple of reports and
then shows you how to get started with Power BI.
Watch this video to see how to get started with Power BI.14

Questions
Multiple choice
Power BI helps with which of the following business processes?
†† Notifying users when a SharePoint list item has changed.
†† Generating an approval.
†† Analyzing and displaying data.

Multiple choice
Which of the below is a way in which Power BI can help you effectively leverage your data?
†† Analyze sales data to better allocate resources and place orders, optimizing operations.
†† Analyze customer data to better target and promote specific items to specific customers.
†† All of the above.

13 https://www.microsoft.com/en-us/videoplayer/embed/RE4miHj
14 https://www.microsoft.com/en-us/videoplayer/embed/RE4mERi
Power BI overview 163

Multiple choice
What are the three elements of Power BI designed to let people create, share, and consume business insights
in the way that serves them, or their role, most effectively?
†† Desktop, service, and Mobile apps.
†† Tiles, visualizations, and dashboards.
†† Reports, dashboards, and tiles.

Summary and resources


Microsoft Power BI helps business analyze existing data to receive insights and make better decisions.
With the power of security backed by Azure and an intuitive interface, any skill level of user can make
powerful reports and dashboards to use across the organization.
Now that you have reviewed this module, you should be able to:
●● Understand what Power BI is and the business value it creates
●● Know how one business leverages Power BI
●● Know how to get started with Power BI

Key takeaways
Here are the three key takeaways:
1. Microsoft Power BI is a collection of software services, apps, and connectors that work together to
turn your unrelated sources of data into coherent, visually immersive, and interactive insights.
2. Leveraging Power BI and other Microsoft technologies can lead to significant returns in terms of not
only revenue, but your business users' ability to make beneficial decisions.
3. Power BI is built on Azure, Microsoft's cloud computing infrastructure and platform, ensuring your
data is secure and only accessible by authenticated users.

Resources
Use these resources to discover more.
Tip: To open a resource link, right-click and select “Open in a new tab or window”. That way, you can
check out the resource and easily return to the module tab to unlock your achievement when done.

Security & Administration


●● Security Documentation15
●● Power BI Security Whitepaper16
●● Administration Documentation17

15 https://docs.microsoft.com/power-bi/service-admin-power-bi-security
16 https://docs.microsoft.com/power-bi/whitepaper-powerbi-security
17 https://docs.microsoft.com/power-bi/service-admin-administering-power-bi-in-your-organization
164 Module 5 Get Started with Power BI

Case Study
●● More on Miami Heat Case Study18

More on Power BI
●● Power BI Documentation19

18 https://customers.microsoft.com/story/761660-miami-heat-media-and-entertainment-dynamics-365
19 https://docs.microsoft.com/power-bi/
How to Build a Simple Dashboard 165

How to Build a Simple Dashboard


Introduction to building dashboards
We all live in a data culture where business decisions are based on facts, not opinions. We need data to
help us make these decisions. Power BI Desktop is a free application for PCs that lets you gather, trans-
form, and visualize your data. Power BI Desktop and the Power BI Service work together. You can create
your reports and dashboards in Power BI Desktop and then publish them to the Power BI Service for
others to consume.
In this lesson, you will:
●● Learn to connect to data in Power BI desktop
●● Transform and model the data you import
●● Build basic visualizations
●● Create and share a dashboard
●● Discover how to collaborate in Power BI

Connect to data
Power BI Desktop connects to many types of data sources, including local databases, worksheets, and
data on cloud services. Sometimes when you gather data, it's not quite as structured, or clean, as you
want it to be. To structure data, you can transform it, meaning that you can split and rename columns,
change data types, and create relationships between columns.
You can connect Power BI Desktop to many types of data sources, including on-premises databases,
Microsoft Excel workbooks, and cloud services. Currently, there are over 110 Power BI-specific connectors
to cloud services such as GitHub and Marketo. You can also connect to generic sources through XML,
CSV, text, and ODBC. Power BI will even extract tabular data directly from a website URL.
In this module, we will build out a dashboard for Contoso Manufacturing displaying their sales data for
various products. To follow along with the next steps, visit https://docs.microsoft.com/power-bi/
sample-financial-download and download the financial sample workbook to your local files or One
Drive. If this is your first time using Power BI Desktop, please visit https://docs.microsoft.com/en-us/
power-bi/fundamentals/desktop-get-the-desktop for download instructions.
1. Start Power BI Desktop, and choose Get Data from the ribbon on the Home tab.
2. Choose Excel and press Connect.
3. Find the financial sample workbook which you downloaded and saved locally or to your OneDrive.
Select the file and click Open.
4. A dialogue box with the tables in your data should open. Click the box next to the financials table. You
will see a preview of the data displayed. Select Load.
You can now see that the fields have populated on the farthest right pane. You are currently in the report
building tab. Select the data tab to see a preview of your data.
166 Module 5 Get Started with Power BI

Now you have loaded your data and will shortly be ready to build visuals, but first, let's transform our
data into exactly what we want.

Transform data
Data doesn't always come into your report clean, or ready to use. You may need additional columns or to
rename or hide existing columns. You may have multiple data sources and need to define a relationship
between them. All of these tasks are known as data transformation. While we will go over a couple of
tasks here, you can explore this topic further Model Data in Power BI20.

Calculated Columns
Although we are working with clean data already, let's make a new calculated column so you know how
to in the future.
1. Click on the Edit Queries button on the Home tab of the editing pane.

2. Select the Add Column tab and click Custom Column.

20 https://docs.microsoft.com/learn/modules/model-data-power-bi/
How to Build a Simple Dashboard 167

3. A dialogue box will open. Rename your column “Test Column” and double click on Units Sold in the
available columns.
4. Type an asterisk (*), and then click the column Manufacturing Price and the Insert button.
5. Click OK.

6. On the Home tab of the Edit Queries dialogue box, click Close & Apply.
168 Module 5 Get Started with Power BI

You have successfully created a calculated column. Although we won't be using this test column for
visuals, you will need this skill to transform your data in the future.
Note: For more information on calculated columns, including the use of IF statements, see Tutorial:
Create calculated columns in Power BI Desktop21.

Model Data
Now we that we have created a column that we don't need, let's hide it so that it doesn't get in the way
of creating our visuals. There are many actions you can perform to transform your data in the Report
building tab without going into Edit Queries.
1. On the fields pane, right click the newly created Test Column.

2. The callout displays many actions you can perform. Select Hide in report view.

21 https://docs.microsoft.com/power-bi/desktop-tutorial-create-calculated-columns?
How to Build a Simple Dashboard 169

We've explored Edit Queries and the Report building tab, but there are many ways to transform and
model your data. The Data tab allows you to see a preview of your data and perform simple functions
without entering the Edit Queries dialogue.
170 Module 5 Get Started with Power BI

The Relationships tab is used for defining relationships between multiple tables or data sources. Relation-
ships allow visuals to understand how data from multiple tables work together.

Visualize data
Now that you have connected and cleaned up your data, it's time to create visuals. Visuals allow you to
present data in a compelling and insightful way and help you to highlight the important components.
Power BI has many compelling visuals and many more are released frequently.
1. Navigate back to the Reports tab and click on the Key Influencers in the Visualizations pane.
How to Build a Simple Dashboard 171

2. Click and drag Profit from the Fields pane to Analyze By in the Visualizations pane.
3. Click on the box beside the following columns to add them to your visual: Product, Discounts,
Segment, and Units Sold.
4. Drag the corner of your visual to make it larger and click on the first item “Discounts is more than
55387.5”

The visual you just built, key influencers, works to analyze a set of data to explain variations in a field
against others. It automatically builds out charts and graphs to demonstrate these variations. You can see
here what influences Profit to increase or decrease by changing the selection in the top of the visual. Take
a moment to play around with the options in this visual and learn from the data.
Now let's build a more classic visual.
5. Select the yellow + at the bottom of your report to create a new page.
6. Select the Line and clustered column chart visual from the Visualizations pane.
172 Module 5 Get Started with Power BI

7. Click on the box beside the following columns in the following order to select them: Product, Manu-
facturing Price, Sales Prices, Profit.
8. Note that Power BI automatically assigns each column to an appropriate field of the visual. In this
case, however, we want to click and drag Profit from Column Values to Line Values.
9. Lastly, drag out the corner of your visual so you can better see the information being displayed.

Two ways to create a new visualization in Power BI Desktop are:


●● Drag field names from the Fields pane and then drop them on the report canvas. By default, your
visualization appears as a table of data.
●● In the Visualizations pane, select the type of visualization that you want to create. With this method,
the default visual is a blank placeholder that resembles the type of visual that you selected.
Now that we've learned how to craft simple visuals, go ahead and create a few more to test your new
skills and better learn how Power BI works. Finally, save your report locally and select Publish on the
Home tab. You can publish this to My Workspace, which is the default for all new accounts. This step is
necessary in order to create a dashboard. Once you have published your report, you will have the option
to open your report in Power BI, go ahead and do so.
How to Build a Simple Dashboard 173

Build a dashboard
Up to this point we have been working in Power BI Desktop. Dashboards in Power BI are one-page
collections of visualizations that are created from within the Power BI service (online). You can create
dashboards by pinning visuals from reports.
If you clicked on the link from publishing your report, your report should now be open in your browser.
Let's use this report to create a dashboard.
1. Visit Page 2 of your report. Hover over the clustered column chart and a small push pin will appear in
the upper right corner of your visual.
2. Press the pin.

3. In the dialogue box, make sure New Dashboard is selected. For the dashboard name, type “Contoso
Manufacturing Sales”. Select PIN.
174 Module 5 Get Started with Power BI

4. Go to the first page of your report.


5. You may notice that Key Influencers does not have the option to pin the visual when you hover over it.
Instead, press the Pin a Live Page button at the top of your report.

6. In the dialogue box, make sure Existing Dashboard is selected. Ensure the dropdown shows “Conto-
so Manufacturing Sales”. Select Pin Live.
How to Build a Simple Dashboard 175

7. A message will pop up with the option to Go to Dashboard. Click it.

8. You should now see the tile and live page you pinned. You can think of a dashboard like a cork board.
All of your pinned visuals exist in a one-page scrollable platform from which you can collaborate.
Hover over the column chart tile and select the ellipses in the upper right corner.
9. Select Add a Comment. From here you can type specific comments and even call out individuals in
your company by using the @ symbol.
176 Module 5 Get Started with Power BI

10. Type a comment and then close the comments pane. You will notice that a small text bubble symbol
has appeared by the title of the visual. Press it to see your comment appear.

11. Close the comment pane again and select Add Tile.
12. Select Text Box.
13. Select Next.
How to Build a Simple Dashboard 177

14. Scroll down and add text. You can increase the font size or format the style. Select Apply.
178 Module 5 Get Started with Power BI

15. The tile you just added is at the bottom of the report. Click and drag it to the top beside the column
chart.
16. Hover over the visual and you will see two small lines at the bottom right corner. Click and drag them
to resize the tile to be smaller (About a quarter the size of the column chart tile).
17. Click on the section Ask a question about your data.
How to Build a Simple Dashboard 179

18. A new pane will open over your dashboard where you can ask questions in real language of your data.
Type “What is the largest gross sale”. The resulting visual is known as a data card.
19. Select Pin Visual, and click Pin.
20. Exit Q&A.

21. The visual you created from the Q&A is at the bottom of your dashboard. Drag it up and resize it as
you did with the text tile.
22. Select Web View in the top right and switch to Phone View.
180 Module 5 Get Started with Power BI

23. Here you can change the size and order of tiles to view them better on mobile. Pin the text tile and
data card tile to the mobile view and drag them to the top.
24. Unpin the live page tile and drag the column chart tile to be longer.

Now you have your very first dashboard with both web and mobile view. The only remaining step is
sharing your dashboard with others.

Collaborate and share


Power BI service makes it easy to share your datasets, dashboards, and reports with your colleagues.
Power BI simplifies collaboration and improves the outcome by allowing you and your colleagues to work
How to Build a Simple Dashboard 181

simultaneously on the same dashboards and reports. And, while you and your colleagues explore the
data and make changes to the reports and dashboards, the underlying data is not affected.
1. Click My Workspace on the left side Navigation pane. If you have multiple workspaces, you can click
on Workspaces and make the appropriate selection from the dropdown.
2. Click the share button by the Contoso Manufacturing Sales dashboard.

3. Type in the names or emails of those you wish to share your dashboard with and set the options to
determine the user permissions.
4. Select Share.
Tip: If you are unable to share with a colleague, it might be because of the type of Power BI license that
you or your colleague have. Check with your Power BI administrator for help.

Questions
Multiple choice
What is a dashboard?
†† One-page collection of visualizations that is created from within the Power BI service (online).
†† Data which is ready to be used for building visuals.
†† An application for PCs that lets you gather, transform, and visualize your data.

Multiple choice
Which statement is true regarding adding comments to a dashboard?
†† You can use the “@” symbol to mention a colleague in a comment.
†† Comments can be added to an entire dashboard but not to individual visualizations on that dash-
board.
†† Before a comment is published, it must be approved by the dashboard designer.
182 Module 5 Get Started with Power BI

Multiple choice
What is one method for creating a visual?
†† Drag a field from the Fields list onto the Model view canvas.
†† Drag a field from the Fields list onto the Visualizations pane.
†† Drag a field from the Fields list onto the Report view canvas.

Summary and resources


As you can see, Power BI allows you to easily analyze, visualize, and collaborate on data. Now you can get
started leveraging these capabilities to make better business decisions.
Now that you have reviewed this module, you should be able to:
●● Connect to data in Power BI desktop
●● Transform and model the data you import
●● Build basic visualizations
●● Create and share a dashboard
●● Collaborate in Power BI

Key takeaways
Here are the 3 key takeaways:
1. Power BI Desktop is a free application for PCs that lets you gather, transform, and visualize your data.
2. Power BI Desktop connects to many types of data sources, including local databases, worksheets, and
data on cloud services.
3. Power BI simplifies collaboration and improves the outcome by allowing you and your colleagues to
work simultaneously on the same dashboards and reports.

Resources
Use these resources to discover more.
Tip: To open a resource link, right-click and select “Open in a new tab or window”. That way, you can
check out the resource and easily return to the module.

Learn more about transforming data by visiting the follow-


ing links:
●● Tutorial: Create calculated columns in Power BI Desktop22
●● Sort by column in Power BI Desktop23
●● Model Data in Power BI24

22 https://docs.microsoft.com/power-bi/desktop-tutorial-create-calculated-columns?
23 https://docs.microsoft.com/power-bi/desktop-sort-by-column?
24 https://docs.microsoft.com/learn/modules/model-data-power-bi/
How to Build a Simple Dashboard 183

Review all Power BI


●● Power BI Documentation25

Additional Modules on Power BI


●● Explore what Power BI can do for you26
●● Use visuals in Power BI27
●● Get data with Power BI Desktop28
●● Get started building with Power BI29

25 https://docs.microsoft.com/power-bi/
26 https://docs.microsoft.com/learn/modules/explore-power-bi-service/
27 https://docs.microsoft.com/learn/modules/visuals-in-power-bi/
28 https://docs.microsoft.com/learn/modules/get-data-power-bi/
29 https://docs.microsoft.com/learn/modules/get-started-with-power-bi/
184 Module 5 Get Started with Power BI

Answers
Multiple choice
Power BI helps with which of the following business processes?
†† Notifying users when a SharePoint list item has changed.
†† Generating an approval.
■■ Analyzing and displaying data.
Explanation
By analyzing and displaying your data, Power BI empowers business users to make beneficial decisions.
Multiple choice
Which of the below is a way in which Power BI can help you effectively leverage your data?
†† Analyze sales data to better allocate resources and place orders, optimizing operations.
†† Analyze customer data to better target and promote specific items to specific customers.
■■ All of the above.
Explanation
Power BI can analyze all types of data you may have to assist in your business efficiency and decision
making efficacy.
Multiple choice
What are the three elements of Power BI designed to let people create, share, and consume business
insights in the way that serves them, or their role, most effectively?
■■ Desktop, service, and Mobile apps.
†† Tiles, visualizations, and dashboards.
†† Reports, dashboards, and tiles.
Explanation
Power BI consists of a Microsoft Windows desktop application called Power BI Desktop, an online SaaS
service called the Power BI service, and mobile Power BI apps that are available on phones and tablets.
Multiple choice
What is a dashboard?
■■ One-page collection of visualizations that is created from within the Power BI service (online).
†† Data which is ready to be used for building visuals.
†† An application for PCs that lets you gather, transform, and visualize your data.
Explanation
A dashboard is a collection of data displays. Power BI makes creating dashboards simple and easy so you
can view all your important data on one page.
How to Build a Simple Dashboard 185

Multiple choice
Which statement is true regarding adding comments to a dashboard?
■■ You can use the “@” symbol to mention a colleague in a comment.
†† Comments can be added to an entire dashboard but not to individual visualizations on that dash-
board.
†† Before a comment is published, it must be approved by the dashboard designer.
Explanation
Comments can be added to an entire dashboard or to individual visualizations on a dashboard. Add a
general comment or a comment targeted at specific colleagues. Also, comments can be added to a dash-
board using Power BI or Power BI Mobile apps.
Multiple choice
What is one method for creating a visual?
†† Drag a field from the Fields list onto the Model view canvas.
†† Drag a field from the Fields list onto the Visualizations pane.
■■ Drag a field from the Fields list onto the Report view canvas.
Explanation
Dragging any field from the Fields list onto the open white space of the canvas will automatically create a
default visual for that data type.
Module 6 Get Started with Power Virtual
Agents

Power Virtual Agents overview


Introduction
Power Virtual Agents are adaptable Artificial Intelligence (AI) chatbots, at
your service. They can solve common customer and internal-facing issues
automatically, freeing up staff to focus on complex requests and high-value
interactions. You can easily create your own virtual agents, powerful chatbots,
without the need for developers or data scientists, by using a guided, no-code
graphical interface. Integrate Power Virtual Agents with the products and
services you use every day using hundreds of prebuilt connectors, by building
custom workflows using Power Automate, or creating complex scenarios with
Microsoft Bot Framework. Monitor and continuously improve chatbot performance
using AI- and data-driven insights available in an easy-to-read dashboard.
In this module, you will:
●● Learn how to describe the business value and features of Power Virtual Agents
●● Learn essential components that make up Power Virtual Agents and chatbots

What is Power Virtual Agents and what can it do


for you
Power Virtual Agents empowers teams to easily create powerful chatbots using a
guided, no-code graphical interface without the need for data scientists or
developers. Power Virtual Agents addresses many of the major issues with bot
building in the industry today. It eliminates the gap between the subject matter
experts and the development teams building the bots, and the long latency
between teams recognizing an issue and updating the bot to address it. It
removes the complexity of exposing teams to the nuances of conversational AI and
188 Module 6 Get Started with Power Virtual Agents

the need to write complex code. Also, it minimizes the IT effort required to
deploy and maintain a custom conversational solution.
Check out this video for a brief overview of Power Virtual Agents:
https://youtu.be/J5i7h4Uzju4
Using Power Virtual Agents, you can:
●● Empower your teams by allowing them to easily build chatbots themselves
without needing intermediaries, coding, or AI expertise.
●● Reduce costs by easily automating common inquiries and freeing human
agent time to deal with more complex issues.
●● Improve customer satisfaction by allowing customers to self-help and
resolve issues quickly, 24/7 using rich personalized bot conversations.

Highlights of Power Virtual Agents


1. Get started in seconds. Power Virtual Agents is a software-as-a-service
(SaaS) offering. It allows you to easily sign up, create your chatbot, and
embed it into your website with just a few clicks. There is no
infrastructure to maintain or complex systems to deploy.
2. Empower your subject matter experts. Using Power Virtual Agents, you are
in the driver's seat. Your SMEs can create chatbots quickly and easily using
a novel, intuitive, code-free graphical interface, eliminating the need
for AI expertise or teams of developers.

3. Enable rich, natural conversations. Microsoft’s powerful conversational


AI capabilities enable your end users to have rich multi-turn conversations
that quickly guide them to the right solution. And, unlike most products on
the market, there is no need to retrain AI models. Simply provide a few
short examples of the topic you want the chatbot to handle, build the
Power Virtual Agents overview 189

conversation using the graphical editor, and your chatbot is ready to handle
customer requests. You can even try out your changes in real-time in the
test pane!

4. Enable chatbots to take action. Chatbots that can chat with your users
are great, but chatbots that can act on their behalf are even better. With
Power Virtual Agents, you can easily integrate with services and back-end
systems out-of-the-box or through hundreds of easy-to-add custom connectors
using Power Automate. This makes it simple to create a chatbot that not only
responds to the user, but also acts on their behalf.
190 Module 6 Get Started with Power Virtual Agents

5. Monitor and improve chatbot performance. Power Virtual Agents lets you
keep an eye on how your chatbots are performing using powerful metrics and
AI-driven dashboards. Easily see which topics are doing well and where the
chatbot can improve, and quickly make adjustments to improve performance.

6. Better together. Power Virtual Agents works hand-in-hand with Dynamics 365
Customer Service Insights to provide a holistic view of your customer service
operations. You can use Customer Service Insights and Power Virtual Agents
together to determine which topics are trending or consuming support resources,
and then easily automate them.

Power Virtual Agents components


When you create chatbots with Power Virtual Agents, you author and edit topics.
Topics are discrete conversation paths that, when used together within a single
chatbot, allow for users to have a conversation with a chatbot that feels
natural and flows appropriately. Creating a chatbot with Power Virtual Agents is
easy to do with the no-code authoring canvas, and there are a number of ways you
can manage how topics interact, how you want the conversation to flow, and what
it should feel like. It is also easy to test the chatbot without having to fully
deploy the chatbot whenever you make a small change. There are also lesson
topics that guide you through topic authoring - from simple to complex
scenarios, as well as default system topics. You can also choose what language
you want your chatbot to use.

Topics
In Power Virtual Agents, a topic defines how a chatbot conversation plays out.
You can author topics by customizing provided templates, create new topics from
scratch, or get suggestions from existing help sites.
Power Virtual Agents overview 191

A topic has trigger phrases—these are phrases, keywords, or questions that a


user is likely to type that is related to a specific issue—and conversation
nodes—these are what you use to define how a chatbot should respond and what it
should do.
The AI uses natural language understanding to parse what a customer actually
types and find the most appropriate trigger phrase or node.
For example, a user might type “Open hours” into your chatbot—the AI will be
able to match that to the Store hours topic and begin a conversation that
asks which store the customer is interested in, and then display the hours the
store is open.
You can see how the chatbot conversation works in practice by testing it in
the Test chatbot pane. This lets you fine-tune the topic until you are ready
to deploy it without having to exit the Power Virtual Agents portal.

Use system and sample topics


When you create a chatbot, a number of topics will be automatically created for
you.
192 Module 6 Get Started with Power Virtual Agents

These are:
●● Four prepopulated User Topics that are titled as lessons. These lesson
topics can be used to help understand simple to complex ways of using nodes
to create chatbot conversations.
●● A number of System Topics. These are prepopulated topics that you are
likely to need during a chatbot conversation. We recommend you keep these
and use them until you are comfortable with creating an end-to-end chatbot
conversation.
You can edit both of these topic types in the same manner as for topics you
create; however, you cannot delete them.

Entities
A big part of chatbot conversations in Power Virtual Agents is natural language
understanding, which is the ability for the AI to understand a user's intent.
For example, natural language understanding is involved when a user might say “I
tried to use my gift card but it doesn't work” and the chatbot is able to route
the user to the topic related to gift cards not working—even if that exact
phrase isn't listed as a trigger phrase.
One fundamental aspect of natural language understanding is to
identify entities in a user dialog. An entity can be viewed as an information
unit that represents a certain type of a real-world subject, like a phone
number, zip code, city, or even a person's name.

Prebuilt entities
Out of the box, Power Virtual Agents comes with a set of prebuilt entities,
which represent the most commonly used information in real-world dialogs, such
as age, colors, numbers, and names.
With the knowledge granted by entities, a chatbot can smartly recognize the
relevant information from a user input and save it for later use.

Custom entities
The prebuilt entities cover commonly used information types, but on some
occasions, such as when building a chatbot that serves a specific purpose, you
will need to teach the chatbot's language understanding model some
domain-specific knowledge.

Actions
You can enable your chatbot to perform an action by calling a Microsoft Power
Automate flow. Flows can help you automate activities or call backend systems.
For example, you can use flows with end-user authentication to retrieve
information about a user after they sign in.
You can call flows from within topics, as a discrete Call an action node.
You can utilize flows that have already been created in your Power Apps
Power Virtual Agents overview 193

environment, or you can create a flow from within the Power Virtual
Agents authoring canvas.
Note: A flow can only be called from a topic located in the same Common Data Service environment
as your chatbot. Flows must also be in a solution in Power Automate. You can move flows into solu-
tions, so they are listed in the authoring canvas.
Flows typically use variables to input and output information. The variables can
then be used in other nodes within the topic.

Publishing
With Power Virtual Agents, you can publish chatbots to engage with your
customers on multiple platforms or channels. These include live websites, mobile
apps, and messaging platforms like Microsoft Teams and Facebook.
After you have published at least once, you can connect your chatbot to
additional channels.
Each time you want to update your chatbot, you publish it again from within the
Power Virtual Agents app itself. This will update the chatbot across all the
channels where you've inserted or connected your chatbot.
You can also configure a Power Virtual Agents chatbot to provide authentication
capabilities, so users can sign in with any OAuth2 identity provider, such as
Azure Active Directory (Azure AD), a Microsoft account, or Facebook.

Questions
Multiple choice
What is a benefit to using Power Virtual Agents?
†† Improve customer satisfaction
†† Requires more time than regular customer chat
†† Doesn't use AI to understand user's intent

Multiple choice
What defines how a chatbot conversation plays out?
†† Publishing
†† Topics
†† Entities
†† Common Data services
194 Module 6 Get Started with Power Virtual Agents

Multiple choice
Where can you NOT publish a chatbot?
†† Microsoft Teams
†† Facebook
†† Mobile Apps
†† YouTube

Summary
Power Virtual Agents empowers teams to easily create powerful chatbots using a
guided, no-code graphical interface without the need for data scientists or
developers. It eliminates the gap between the subject matter experts and the
development teams building the chatbots, and the long latency between teams
recognizing an issue and updating the chatbot to address it. It removes the
complexity of exposing teams to the nuances of conversational AI and the need to
write complex code. And, it minimizes the IT effort required to deploy and
maintain a custom conversational solution.
This module covered the following concepts:
●● How Power Virtual Agents provides value to your company
●● What essential components make up Power Virtual Agents and chatbots
●● Where you can publish Power Virtual Agents chatbots
How to build a basic chatbot 195

How to build a basic chatbot


Introduction
Power Virtual Agents empowers teams to quickly and easily create powerful bots
using a guided, no-code graphical experience—all without the need for data
scientists or developers.
In this module, you will:
●● Create a bot for the first time
●● Add topics to your bot
●● Test content changes in real time
●● Deploy your bot to a test page
●● Analyze the performance of your bot after it has been deployed

Create a chatbot
If you do not have a Power Virtual Agents set up already, go
to https://aka.ms/TryPVA in your browser to begin. Supported browsers include
Microsoft Edge, Chrome, and Firefox. On the website, select Start Free, and
then sign in with your work email address. Note that personal Microsoft accounts
are not currently supported.
1. Next, you’ll choose a name for your chatbot. This can be something generic
to your company or specific to the scenario you are tailoring your chatbot
to.
Your chatbot is created in the default Power Apps environment that was
created for you when you signed up. For most users, this is sufficient.
However, if you want to specify a custom Power Apps environment for your
Power Virtual Agents, you can do so by expanding the More options menu
and selecting a different environment.
Note: Power Virtual Agents is supported only in the locations listed in the supported data locations1
topic, with data stored in respective data centers. If your company is located outside of the supported
data locations, you need to create a custom environment with Region set to a supported data
location before you can create your chatbot.

1 https://docs.microsoft.com/power-virtual-agents/data-location
196 Module 6 Get Started with Power Virtual Agents

2. Once you select Create, the process of creating the first chatbot within
a new environment can take up to 15 minutes. Subsequent bots will be created
much faster.
3. After a few minutes, you’ll land on the home page and have an opportunity to
play around with the chatbot in read-only mode. You can't save any edits
during this time, but you can explore the overall user interface, look at
the topics, experiment with the preloaded User Topics and System Topics, and
interact with your chatbot using the Test Canvas.
4. When the chatbot creation process completes, the banner changes. You now
have full functionality in the chatbot and can modify any User or System
topic, test out your content changes, or deploy your bot.

Create additional chatbots


If you have already created a chatbot, you can create a new chatbot by selecting the
icon on the title bar to open the Bots pane and then selecting New bot.
How to build a basic chatbot 197

Delete a chatbot
You can delete chatbots to remove them from your environment.
1. Select the chatbot icon on the top menu bar, and then select the chatbot you
want to delete.
2. Select the Settings icon on the top menu bar, then select General settings.

3. Select Delete bot.


You'll be asked to confirm the deletion of the bot, after which all chatbot content is immediately
deleted.
If your license has expired, you can delete your chatbot(s) by
selecting Permanently delete your bots.

Create and work with topics


As mentioned earlier, a topic defines how a chatbot conversation plays out in Power Virtual Agents.
198 Module 6 Get Started with Power Virtual Agents

Create a topic
1. Go to the Topics tab on the side navigation pane to open the Topics
page.

2. On the topics page, select New topic.


3. Specify a name, description, and one or more trigger phrases for the topic.
A trigger phrase is a phrase that a customer enters in the chat window to
start a conversation with the bot. Once the conversation is started, the
conversation follows the path you define. You can specify more than one
trigger phrase for a topic. You can include punctuation in a trigger phrase,
but it is best to use short phrases rather than long sentences.

4. Select Save topic to add the topic to the topics list.


How to build a basic chatbot 199

Design the topic's conversation path


1. In the topic details for the topic you want to edit, select Go to
authoring canvas.

2. Power Virtual Agents opens the topic in the authoring canvas and displays
the topic's trigger phrases. The authoring canvas is where you define the
conversation path between a customer and the bot.
3. For existing or system topics, a number of nodes will automatically be
created. You can edit these nodes just as you can for other nodes.
4. When you create a new topic, the Trigger phrases node and a
blank Message node are inserted for you.
5. You can add additional nodes by selecting the Plus (+) icon on the
line or branch between or after a node.

Insert nodes
When adding a node, you can choose from five options. Each option has a specific
node or nodes that will be inserted into the conversation path.
You can:
●● Ask a question
●● Call an action
●● Show a message
200 Module 6 Get Started with Power Virtual Agents

●● Go to another topic
●● End the conversation

Additionally, you can Branch based on a condition when inserting a node


between existing nodes:

Ask a question:
1. To have the chatbot ask a question and get a response from the user,
select + to add a node, and then Ask a question to add a
new Question node.
How to build a basic chatbot 201

2. Enter the question phrase in the first text box, Ask a question.
3. You can choose from several options for the user’s response in
the Identify field.
These options determine what the chatbot should be listening for in the
user's response.
For example, they could be multiple choice options, a number, or a specific
string.
Choose Multiple choice options.
4. Depending on what you choose in the Identify field, you can enter what
options the user should have.
For example, since you selected Multiple choice options, you can then enter
the options the user can specify in the Options for user field. Each
option is presented as a multiple choice button to the user, but users can
also type in their answer in the bot.
The conversation editor creates separate paths in the conversation,
depending on the customer's response. The conversation path leads the
customer to the appropriate resolution for each user response. You can add
additional nodes to create branching logic and specify what the chatbot
should respond with for each variable.
5. You can save the user response in a variable to be used later.
202 Module 6 Get Started with Power Virtual Agents

Call an action
You can call Power Automate flows by selecting Call an action.
Note: Power Virtual Agents also enables you to extend your chatbot using Azure Bot Framework Skills. If
you have already built and deployed bots in your organization (using Bot Framework pro-code tools) for
specific scenarios, you can convert bots to a Skill and embed the Skill within a Power Virtual Agents bot.

Show a message
1. To specify a response from the bot, select + to add a node, and
then Show a message to add a new Message node.
2. Enter what you want the chatbot to say in the text box. You can apply some
basic formatting, such as bold, italics, and numbering.
You can also use variables that you have defined elsewhere in your chatbot
conversation.

Go to another topic
1. To automatically have the chatbot move to a separate topic, select + to
add a node, and then Go to another topic.
2. In the flyout menu, select the topic the chatbot should divert to. For
example, you might want to send the user to a specific topic about the
closure of a store if they ask about store hours for that store.

End the conversation


When you end the conversation, you can have a survey appear that asks the user
if their question or issue was answered or resolved correctly. This information
is collected under the customer satisfaction analytics page.
How to build a basic chatbot 203

You can also have the conversation handed over to a live agent if you're using a
suitable customer service portal, such as Omnichannel for Customer Service.
1. At the end of a response that resolves the user's issue or answers the
question, select End the conversation.

2. To end with a customer satisfaction survey, select End with survey.

3. Select Transfer To Agent to insert a hand-off node that will link with
your configured hand-off
product2.
You can also enter a private message to the agent.

Branch based on a condition


1. To add branching logic based
on variables3,
select + to add a node, and then Add a condition and Branch based
on a condition.
2. Choose the variable you want to use to determine if the chatbot conversation
should branch at this point. For example, if you have set up end-user
authentication4,

2 https://docs.microsoft.com/en-us/power-virtual-agents/configuration-hand-off-omnichannel
3 https://docs.microsoft.com/en-us/power-virtual-agents/authoring-variables
4 https://docs.microsoft.com/en-us/power-virtual-agents/advanced-end-user-authentication
204 Module 6 Get Started with Power Virtual Agents

then you might want to specify a different message if the user is signed on
(which may have happened earlier in the conversation).

Delete nodes
1. Select the menu icon on the top of the node's title.
2. Select Delete.

Testing a chatbot
As you design your chatbot in Power Virtual Agents for Customer Service, you can
use the Test bot pane to see how the chatbot leads a customer through the
chatbot conversation.
To help you find and fix unexpected behavior, you can enable tracking between
topics to take you through the chatbot conversation step-by-step, and go to the
corresponding node in the authoring canvas.

Test a topic in the Test bot pane


1. If the Test bot pane is hidden, open it by selecting Test your bot.
How to build a basic chatbot 205

2. It's a good idea to select Reset at the top of the Test bot pane to
clear previous conversations. Clearing previous conversations makes it
easier to see the flow of the topic you want to see without getting confused
by previous conversations.

3. At the Type your message prompt at the bottom of the Test bot pane,
enter a trigger phrase for the topic.
The trigger phrase starts the topic's conversation and the Test bot pane
displays the chatbot responses and user response choices you specified.
4. Continue the conversation, testing that it flows as designed in the topic.
5. Select a response in the Test bot pane, which will take you to the
response in the conversation editor for that topic. The authoring canvas
displays highlighted nodes in green.
206 Module 6 Get Started with Power Virtual Agents

You can return to the authoring canvas for the topic at any time to revise its
conversation path. The Test chat pane will automatically refresh itself when
you save changes to a topic.

Track through the topic's conversation path


As you fine-tune your bot, it can be useful to enable tracking between topics so
you can follow through the conversation path step by step.
1. If the Test bot pane is hidden, open it by selecting Test your bot.
How to build a basic chatbot 207

2. At the top of the Test bot pane, set Track between topics to On.

3. Enter a trigger phrase for the topic you want to check, and then continue
testing the conversation.
4. As you move through the conversation in the Test bot pane, the authoring
canvas highlights the current place in the conversation path. The authoring
canvas displays highlighted nodes in green.
5. To navigate to an earlier place in the conversation path in the authoring
canvas, select it in the Test bot pane.
If the conversation path in the Test your bot pane moves from one topic to
another topic, the authoring canvas refreshes and moves between topics to the
appropriate highlighted nodes.

Publish a chatbot
With Power Virtual Agents, you can publish chatbots to engage with your
customers on multiple platforms or channels. These include live websites, mobile
apps, and messaging platforms like Microsoft Teams and Facebook.
After you have published at least once, you can connect your chatbot to
additional channels.
208 Module 6 Get Started with Power Virtual Agents

Each time you want to update your chatbot, you publish it again from within the
Power Virtual Agents app itself. This will update the chatbot across all the
channels where you have inserted or connected your chatbot.

Publish the latest chatbot content


You need to publish the chatbot at least once before your customers can interact
with it or you can share it with your teammates.
After the first publish, you can do subsequent publishes whenever you would like
your customers to engage with the latest chatbot content.
1. Go to the Publish tab on the side navigation pane.
2. Select Publish to make the latest chatbot content available to your customers. The publishing process
will check for errors in the latest chatbot content.

Publication should take less than a few minutes and, when successful, you can
view the bot in action and share it with your team by selecting the demo
website link. This is useful to gather feedback from stakeholders involved in
the bot. The link will open a new tab and display a prebuilt demo website where
you and your team can interact with the bot.
Tip:What's the difference between the test chat and the demo website? The demo website lets you share a
URL with other members of your team, or other stakeholders who want to try out the bot. It's not
intended for production uses (for example, you shouldn't use it directly with customers). The test chat is
intended for bot authors to test how conversation nodes flow and if there are errors when they are
creating and testing their bot.

Configure channels
After publishing your bot at least once, you can add channels to make the bot
reachable by your customers. You can see what channels we currently support by
How to build a basic chatbot 209

selecting Manage and going to the Channels tab in the side navigation
pane.

Each channel requires different steps and configurations.

Channel experience reference table


Different channels have different end-user experiences. The following table
shows a high-level overview of the experiences for each channel. You can take
the channel experiences into account when optimizing your bot content for
specific channels.

CHANNEL EXPERIENCE
REFERENCE TABLE
Experience Website Microsoft Teams Facebook
Customer satisfaction Adaptive card Text-only Text-only
survey (https://docs.
microsoft.com/en-us/
power-virtual-agents/
authoring-create-ed-
it-topics#insert-nodes)
Multiple-choice Supported Supported up to 6 Supported up to 13
options (https://docs. (https://docs.microsoft. (https://developers.
microsoft.com/en-us/ com/en-us/microsoft- facebook.com/docs/
power-virtual-agents/ teams/platform/ messenger-platform/
authoring-create-ed- concepts/cards/ send-messages/quick-re-
it-topics#insert-nodes) cards-reference#he- plies/)
ro-card)
Markdown (https:// Supported Supported Partially supported
daringfireball.net/ (https://www.facebook.
projects/markdown/)
210 Module 6 Get Started with Power Virtual Agents

CHANNEL EXPERIENCE
REFERENCE TABLE
Welcome message Supported Supported Not supported
(https://docs.microsoft.
com/en-us/power-virtu-
al-agents/authoring-cre-
ate-edit-topics#in-
sert-nodes)

Analyzing a chatbot
Power Virtual Agents has a comprehensive set of analytics that show you the key
performance indicators for your bot.
Multiple charts show you trends and usage for your chatbot's topics. These charts
use AI to highlight the topics that have the greatest impact on your chatbot's
performance.

Analytics in Power Virtual Agents


The analytics section is divided into a number of pages to give you multiple
ways to understand bot performance.
Note: Although transcripts are available immediately, the analytics dashboards are
updated every hour, so there will be some delay before you see all data.

View analytics
●● In Power Virtual Agents, select Analytics on the side navigation pane.

The Summary page gives you a broad overview of your bot's performance. It uses
artificial intelligence (AI) technology to show you which topics are having the
greatest impact on escalation rate, abandon rate, and resolution rate (see the
table under Summary charts for more information on these metrics).
How to build a basic chatbot 211

The Summary page includes a variety of charts with graphical views of your bot's
key performance indicators. For information about each chart, see:
●● Summary charts5
●● Engagement over time chart6
●● Session outcomes over time chart7
●● Resolution rate drivers chart8
●● Escalation rate drivers chart9
●● Abandon rate drivers chart10

The Engagement Rate Drivers, Abandon Rate Drivers, and Resolution Rate Drivers
charts use natural language understanding to group issues as topics. These
charts show you the topics that are having the most impact on the performance of
your bot.
By default, the page shows you key performance indicators for the last seven
days. To change the time period to the last 30 days, select Last 30
days from the drop-down list at the top of the page.

5 https://docs.microsoft.com/power-virtual-agents/analytics-summary#summary-charts
6 https://docs.microsoft.com/power-virtual-agents/analytics-summary#engagement-over-time-chart
7 https://docs.microsoft.com/power-virtual-agents/analytics-summary#session-outcomes-over-time-chart
8 https://docs.microsoft.com/power-virtual-agents/analytics-summary#resolution-rate-drivers-chart
9 https://docs.microsoft.com/power-virtual-agents/analytics-summary#escalation-rate-drivers-chart
10 https://docs.microsoft.com/power-virtual-agents/analytics-summary#abandon-rate-drivers-chart
212 Module 6 Get Started with Power Virtual Agents

View billed sessions for Power Virtual Agents


When you purchase a Power Virtual Agents license, you gain capacity for the specified number of billed
sessions. Power Virtual Agents pools this capacity across the entire tenant.
The consumption of the capacity isn't reported at the tenant level, but can be seen for each individual
bot.

Definition of a billed session


A billed session is an interaction between a customer and a bot, and represents one unit of consumption.
The billed session begins when a user topic is triggered. More information: Use system and sample
topics section11
A session ends for one of the following reasons:
●● The user ends the chat session.
When the bot doesn't receive a new message for more than 30 minutes, the session is considered
closed.
●● The session is longer than 60 minutes.
The first message that occurs after 60 minutes starts a new session.
●● The session has more than 100 turns. A turn is defined as one exchange between a user and the bot.
The one-hundred-and-first turn starts a new session.

Find the number of billed sessions for your bot


1. In Power Virtual Agents, select Analytics from the side navigation pane.
2. Go to the Billing tab.

You can change the date range to filter the Total billed sessions over time chart. You can also see the
total billed sessions and trend percentage next to the chart.

11 https://docs.microsoft.com/en-us/power-virtual-agents/teams/authoring-create-edit-topics-teams
How to build a basic chatbot 213

Questions
Multiple choice
You can have up to how many topics in a chatbot?
†† 100
†† 500
†† 1000
†† 2000

Multiple choice
When testing your chatbot, what would best help you find and fix unexpected behavior?
†† Selecting the same response
†† Enabling tracking between topics
†† Creating new topics
†† Resetting the bot

Multiple choice
Which of the following is a valid reason for a chatbot session to end?
†† The session has more than 100 turns
†† The session is longer than 90 minutes
†† The session has more than 50 turns

Summary
Power Virtual Agents empowers teams to quickly and easily create powerful
chatbots using a guided no-code graphical experience—all without the need for
data scientists or developers.
This module covered the following concepts:
●● How to create a chatbot for the first time
●● How to add topics to your chatbot
●● How to test content changes in real time
●● How to publish your chatbot
●● How to analyze the performance of your chatbot
214 Module 6 Get Started with Power Virtual Agents

Answers
Multiple choice
What is a benefit to using Power Virtual Agents?
■■ Improve customer satisfaction
†† Requires more time than regular customer chat
†† Doesn't use AI to understand user's intent
Explanation
Power Virtual Agents can improve customer satisfaction by allowing customers to self-help and resolve
issues quickly, 24/7 using rich personalized chatbot conversations.
Multiple choice
What defines how a chatbot conversation plays out?
†† Publishing
■■ Topics
†† Entities
†† Common Data services
Explanation
In Power Virtual Agents, topics have trigger phrases and conversation nodes to define how a chatbot should
respond and what it should do.
Multiple choice
Where can you NOT publish a chatbot?
†† Microsoft Teams
†† Facebook
†† Mobile Apps
■■ YouTube
Explanation
You can publish chatbots to engage with your customers on Microsoft Teams, Facebook, and Mobile Apps.
Multiple choice
You can have up to how many topics in a chatbot?
†† 100
†† 500
■■ 1000
†† 2000
Explanation
You can have up to 1000 topics in a chatbot.
How to build a basic chatbot 215

Multiple choice
When testing your chatbot, what would best help you find and fix unexpected behavior?
†† Selecting the same response
■■ Enabling tracking between topics
†† Creating new topics
†† Resetting the bot
Explanation
As you fine-tune your chatbot, it can be useful to enable tracking between topics so you can follow through
the conversation path step by step.
Multiple choice
Which of the following is a valid reason for a chatbot session to end?
■■ The session has more than 100 turns
†† The session is longer than 90 minutes
†† The session has more than 50 turns
Explanation
Chatbot sessions can end if a session has more than 100 turns.

You might also like