Building Business Solutions with Power Apps and Flow is an intensive 3-day training class designed for people who have already attended the Microsoft App-in-a-Day (AIID) training and are ready to move their PowerApps and Flow skills to the next level. Students will learn best practices for building canvas apps and flows to update and manage content in Azure SQL, SharePoint Online, Excel workbooks and OneDrive for Business.
After providing a foundation for building canvas apps and flows, this course teaches students how to build business solutions with the Common Data Service for Apps (CDSA) by creating custom entities and model-driven apps. The class also examines advanced techniques required in real-word PowerApps scenarios such as creating custom connectors and conducting application lifecycle management (ALM) using managed solutions and multiple environments for development, UAT and production.
Module 01: Getting Started with the Power Platform
This module introduces students to the Microsoft Power platform and explains the role of canvas apps, connectors and flows in building business solutions. The module introduces the Common Data Service for Apps (CDSA) and explains how it provides support for creating custom entities and building model-driven apps. Students will create canvas apps with PowerApps Studio and learn to write advanced expressions for screen and control properties. The module examines connectors and data binding and demonstrates using the Start with Data template. Along the way students will learn to build a canvas app for mobile devices that reads and writes customer data to a table inside an Excel workbook in OneDrive for Business.
Module 02: Building Data-driven Canvas Apps
This module teaches students the best practices for building data-driven canvas apps using connections, galleries, item templates, forms and data cards. Students will learn best practices for tracking application state using global variables, context variables and collections. The module introduces students to the principles of delegation and explains how to filter, sort and search through a large Azure SQL database tables and a large SharePoint lists without compromising performance. Students will learn how to build a user experience to add and update data using edit forms and data cards. The module concludes with an examination of the PowerApps integration feature with SharePoint Online which makes it possible to customize the SharePoint list forms to provide business users with an enhanced user experience for editing content in a SharePoint Online.
Module 03: Building a Canvas App with a Shopping Cart
This module examines building a canvas app which allows users to browse a set of products and to add products into a shopping cart tracked using a local collection. Students will learn how to implement the required data access behavior for writing the shopping cart data out to an Azure SQL database or to a SharePoint list. The module examines techniques required to update data across two tables at once for scenarios where adding an Order record also requires adding multiple OrderDetail records with the primary key of the parent Order record. The module concludes with an examination of using PowerApps Studio to create Reusable Components which can be exported and shared across multiple canvas apps.
Module 04: Getting Started with Microsoft Flow
This module introduces the fundamental concepts of Microsoft Flow and gets students started building flows and testing flows in the Microsoft Flow design editor. Students will learn how to use flow triggers to build flows that can be scheduled, executed in response to external events or run on demand using a button on a mobile device. The module explains how data within a flow is propagated from step to step and discusses how to use control-of-flow actions to author advanced business logic. Students will learn the syntax for writing advanced expressions in Workflow Definition Language (WDL) to retrieve dynamic content, to perform type conversion and to design flows using loops, variables, arrays and custom objects.
Module 05: Building Flows to Manage Content and Approvals
This modules focuses on using Microsoft Flow to update, manage and transform content in SharePoint Online and OneDrive for Business. The module demonstrates how to build a scheduled flow to enumerate the items in a SharePoint list to clean up and validate the data entered by business users. Students will learn build flows that upload documents and images to SharePoint Online and OneDrive for Business and to convert document content between common file formats such as JSON, XML, HTML and CSV. The module demonstrates building flows to automate the generation of Word documents and PDF files using the using the Word Online connector. This module examines the support in Microsoft Flow for automating an approval process using the Start an Approval action. Students will learn how to build flows to automate an approval process including document approval in SharePoint Online.
Module 06: Getting Started with the Common Data Service
This module introduces the Common Data Service for Apps (CDSA) and explains how it provides a standardized database schema for business data used by PowerApps, Flow and Dynamics 365. Student will learn how to import external data into the CDSA and how to build canvas apps to read and write records for standard entities such as accounts, contacts and activities. The module teaches students will learn how to customize standard entities as well as how to create custom entities to accommodate specific business scenarios.
Module 07: Building Model-driven Apps
This module builds on the CDSA fundamentals covered in the previous module to explain the purpose and the techniques used build model-driven apps. Students will learn how to configure a sitemap for a model-driven app to provide read/write access to CDSA entity data such as accounts and contacts. The module demonstrates how to customize the user interface for a model-driven app by customizing the views and forms associated with CDSA entities. The module also explains how to extend a CDSA entity using business rules and business process flows to provide a structured process which enables users to manage content as it moves through the stages of its lifetime.
Module 08: Integrating PowerApps with Power BI
This module examines the points of integration between Power BI, PowerApps and Flow. Students will learn how to embed Power BI dashboard content in PowerApps using the Power BI tile control. The module also explains how to embed PowerApps in Power BI reports using the PowerApps custom visual. Students will learn how to pass data from a Power BI report to an embedded PowerApps app using a design that allows the app to respond to filtering changes in the report. The module examines how to build real-time dashboards in Power BI by designing flows that push rows of data into Power BI automatically triggering updates to dashboard tiles. Students will practice what they learned in the lecture by building a real-time dashboard to monitor Twitter and to display tweets containing specific keywords.
Module 09: Integrating PowerApps with External Systems
This module examines how to integrate data from external systems and on-premises data sources. Student will learn to build flows with the HTTP action to call external web services and to parse JSON from an HTTP response. The module also explains how to build flows with HTTP triggers which can be used to process forms and surveys created using Microsoft Forms. The module explains the purpose of custom connectors and examines real-world scenarios in which they are required. The module introduces students to swagger file definitions and and demonstrates using the PowerApps portal to create a custom connector to communicate with a custom web service. The module demonstrates creating custom connectors which can handle OAuth2-style authentication with web services protected by Azure AD such as the Microsoft Graph API and the Power BI Service API. The module concludes with a discussion of how to install and configure an On-premises Data Gateway which makes it possible for canvas apps and flows to read and write data from on-premises data sources such as SQL Server and local SharePoint farms.
Module 10: PowerApps ALM using Managed Solutions
The final module examines the challenges and best practices for application lifecycle management (ALM) with PowerApps and the Power platform. Students will first learn the simplest style of ALM which includes publishing, sharing and versioning apps within a single environment. Next, the module demonstrates how to individually export and import canvas apps and flows to move business solutions between development environments, UAT environment and product environment. The modules concludes with an examination of the core PowerApps concepts of publishers and managed solutions and explains the best practices packaging, distributing and version business solutions built on the PowerApps platform.
Students should already be familiar with Microsoft Excel, Office 365 and SharePoint Online.