Bringing in Power Apps application Data in your ALM work flows


The suggested best practice to backing up and recovering or ALM deployments of Power Apps is to use solutions.

Unfortunately exporting and importing a solution doesn’t bring the application data with the entity(Table) definitions.

I have been playing with the ALM workflows and wanted to share how you can automate data retrieval when importing your solutions.

The first step is to use Power Apps solutions for your application.

The next step is to extract the schema and data that your application relies on to run. (If you don’t have a solution that uses data skip this step)

While you can also automate this (see below the Power shell automation process) I did it manually with the DataMigrationUtility that comes with the

Download tools from NuGet (Developer Guide for Dynamics 365 Customer Engagement) | Microsoft Docs

(DataMigrationUtility tool)

The next step is to import your solution into a new environment. If you don’t have a solution to play with I have created a solution a for the App in a Day training that contain tables for the Devices and Manufactures.

You can find that here: <link>

But like I mentioned above the application is imported with out the data it needs to work. To populate those entities (Tables) we could do it manually using the DatamigrationUIlity Tool like I did to export the data but since we will likely want to automate this let’s use Pwower shell:


$cred = Get-Credential

$crmConn = Get-CrmConnection -OrganizationName ContosoEnviroment -OnLineType Office365 -Credential $cred

Import-CrmDataFile -CrmConnection app -Datafile “” -Verbose







Finding and using the Power Apps Sample Templates

In addition to the over 500 community samples a lot of people don’t realize the product comes with a plethora (in case you ever wondered how many is a “Plethora”: in this case it is 34<g>) of amazing samples and templates.

To use the built-in samples and templates, log into

Then from the home screen select “All Templates”.

Note: This the same selecting “Create” on the left most navigation.

Scroll about 1/3 of the way down and you will find the built in application templates.

If you are looking for a suggestion/starting point the training template is hard to beat!

Note: this does not include the Project Oakdale templates!

Those are even easier to locate and use as they are called out in the documentation here!


Remember if you have need training on Power Apps you can find that here:

Getting Started with Power Apps from Bare Metal

In the case of wanting to learn Power Apps or teach a class on Power Apps it is very likely you will need a clean environment in which to start.

This document will walk through a solution for creating a new trial Microsoft Office tenant, starting a Power Apps trial and creating a Trial environment for you to either go through training content self paced or deliver that content.


  1. To get started with most Power Apps training you will need an organizational ID and a Tenant that will allow you to create an environment. One of the easiest ways to get a new Organizational ID and Tenant you have permissions to is create an Office Developer Tenant. To this Navigate to: and click JOIN NOW

  1. Fill out the requested information about yourself

  1. Fill out the requested information about your interests

  1. Close the Introduction Dialog

  1. Now that you have a Developer Account we can create an Office trial Tenant…with full E5 services!

  1. Fill out the information about yourself. Note this information is used to create the Tenant and information you will be using regularly.

  1. The activation requires an MFA handshake…supply this information for your own phone.

  1. TADA You know have an E5 Office Tenant for 90 days!

  1. Inside this same browser session Navigate to and select “Try Free”. Either from the middle of the page or the menu at the top right.


  1. Login using the credentials you supplied in step 6 above.


  1. Supply Geography information for the Power Apps trial

  1. Accept the introduction dialog.



  1. At this point you are now ready for any of the self-paced training found at:


Note: While this Tenant came with 25 users this tenant did not come with any Common Data Service capacity. So while the first user will be able to create a trial environment, additional users will need to use that same environment.



Power Platform Community Experts (Mockup Only)

The Power Platform has an amazing community that make themselves available day or night and go out of their way to help their fellow App Makers using the Power Platform.

The Power Platform Community Experts is a recognition program focused on recognizing the most proficient and active in their respective fields and geography. While the awards are called for a particular area be assured these community experts span both technology and interaction experiences.

The leaders have been selected by a committee of Microsoft Product Engineering managers, Power Platform executive leadership and community managers.



While the area of Oceania may have fewer people than areas like Asia, the Americas and Europe its impact is amazing and this section it to recognize those Community Experts from this amazingly active are of the planet.

Dynamics365 Instructor Lead Training

Lisa Crosbie

Delivering a staggering 50 Application in a Day and Dynamics365 classes per year it is a wonder Lisa has any time to do anything else but that is not the case she is regular all the Power Platform Community events, User Groups even has time to help Microsoft update the Power Virtual Agents in a day training. In Lisa’s own words: “I am genuinely excited about what low code application development means for organisations, and how it can transform the lives and work of so many people. I work as an evangelist for Power Platform and Dynamics 365, which means I get to spend my day talking to people about this awesome technology, what the possibilities are, and how it can help them in their organisations. I am a blogger, trainer, speaker, podcaster and YouTuber. You’ll find me presenting at and participating in all kinds of virtual events, training sessions and webinars, big and small – wherever there are people who want to learn about Power Platform.”


Dynamics365 User Group Delivery

Amey Holden

Delivering a session at one User Group is to be respected, doing User Group sessions at country level is to be applauded; Amey has taken this an entire new level by not just regularly delivering sessions across globe but has created and championed an application that bring those members together. Amey is a proud Microsoft Most Valuable Professional and dedicated ABC (Anything But Code) enthusiast. I am passionate about extending and improving Dynamics Customer Engagement & Marketing with the mighty Power Platform.

Power BI Book Author

Reza Rad

In 2019 Reza Rad was on the road delivering community events an amazing 4 months flying over 120K miles somehow during this time Reza has managed to create an encyclopedia of Power BI information that he makes freely available to the community called: From Rookie to Rock Star. About Reza Rad is an author, trainer, speaker, and consultant. He has been a Microsoft Data Platform MVP for six years, specializing in Microsoft Business Intelligence and data movement. Reza has worked with Microsoft BI technologies more than 15 years. He is an MCP, an MCT, and co-leader of the New Zealand Business Intelligence Users Group.

Reza is author of the books SQL Server Integration ServicesMicrosoft SQL Server 2014/16 BI, and the Power BI online book From Rookie to Rock Star and is author of Channel 9 SSIS tutorial video series. You can find his technical articles on his blog at .


Power Automate Video Content

Elaiza Benitez

Elaiza Benitez is a Senior Consultant at Theta. Elaiza started her career as a Sales administrator in 2009 before progressing to the consultancy path both in New Zealand and in Australia where she lived for 6+ years before travelling the world and meeting the Microsoft community. She has worked with Dynamics 365 since version 4 and is competent in Power Apps Portals and Power Automate.

In 2018 she was awarded with the ARN Women In ICT – Technology for Australia. The Technical award recognizes the candidate who has excelled in the technical and engineering segment of the ICT industry, demonstrating a proven depth of knowledge and abilities. The candidate has demonstrated excellence in problem-solving and decision-making skills, and an exemplary level of accomplishment in job performance.

Elaiza Benitez is an international speaker, a YouTuber known for her What the Flow Series, a blogger and an advocate in the global Microsoft community.

AI Builder Conferences

Leila Etaati

Leila is Data Scientist, PhD, MVP, and BI Consultant, and Speaker. She has over 10 years’ experience working with databases and software systems. She was involved in many large-scale projects for big sized companies. Leila has PhD of Information System department, University of Auckland, MS and BS in computer science. She worked in Industries including banking financial, power and utility, manufacturing … She is a lecturer and trainer in Business intelligence and data base design course in University of Auckland. Leila speaks in international SQL Server and BI conferences such as Microsoft Ignite, PASS Summit, PASS Business Analytics, PASS Rally, and many SQL Saturdays in USA, Europe, Australia, and New Zealand on Machine Learning and Analytics topics.


<in process>


<in process>


Power Apps Video Content

Shane Young

With over 150 videos it is little surprise Shane has been recognized as leader of top Power Apps Video content. Shane has been a Microsoft MVP for the last 14 years. This is a direct reflection of his love of all things community. His favorite technologies right now are PowerApps and Flow. Power to the people. HA! Speaking, writing, and answering questions in forums and on Twitter are all things that drive him. On Twitter, you can find him @ShanesCows or if you like to learn then check out his YouTube channel for the best PowerApps learning videos around.

Power Apps Instructor Lead Training

Reza Dorrani

Reza is a Microsoft Business Applications MVP & Principal consultant at Catapult Systems.   He is a Microsoft Power Apps & Microsoft Power Automate community dual super user.  He was awarded the Microsoft Flow All Star award by the community.  He is also the founder and leader of the Houston Power Apps and Power Automate User Group


Power BI Book Author

Ken Puls

Ken’s book is the number #selling book in the world on the M Language shared by Excel, Power BI, Azure Data Factory and the rest of the Power Platform family.

Chartered Professional Accountant (FCPA, FCMA) in Canada, and the president of Excelguru Consulting Inc.  I’m a blogger, author and trainer with over 20 years of business and financial modelling experience. My passion lies in exploring tools to turn data into information, and teaching others how to benefit from them.  I’ve held the Microsoft MVP distinction since 2006, have been recognized as a Fellow of my accounting organization and as one of the “Top 20 under 40” business & community leaders on Vancouver Island and currently leading the PowerBI Usergroup in sunny Vancouver Canada.  My website can be found at, and holds many code samples for working with Excel and other MS Office apps, as well as my blog and a free help forum.



World Leaders





Power Apps Community Call Oct 21st: Charting Components, Custom Apps in Teams and an enhanced SharePoint web part

October brings us a Very special community call as we are going to unveil /announce a new community offering from Canviz.

Canviz has been working on Power Apps charting components for much of 2019 and have graciously decided to give them to the community. This component will include nine of the most commonly requested charting visuals (i.e. Scatter, solid gauge, Radar, Candlestick, funnel, and Gannt!). This month’s community call will then proceed with a walk through of a Power Apps Expense Application built with Oakdale (so fully integrated with Microsoft Teams) by Reza Dorrani. The demos will conclude with April Dunnam and Hugo Bernier walking us through an ENHANCED Power Apps SharePoint web part built by our very own community start and MVP Hugo Bernier!



  • Introductions
  • Announcing Canviz Power Apps Charting Components
  • Project Oakdale My Expenses Power App
  • Power Apps Web Part
  • News and Community Contributions


When: October 21, 2020 8AM Pacific Time


Our Presenters:

April Dunnam

Thank you for visiting my blog! My name is April Dunnam.  I’m a Microsoft Business Applications MVP and lead consultant/co-owner of ThriveFast, a Microsoft Partner located in Tulsa, Oklahoma.  I love using technologies like Office 365, SharePoint, Teams, Azure, Flow and PowerApps to help businesses create a thriving automated, collaborative environment. On top of blogging, I speak at local tech events and run the local PowerApps and Flow User Group.  When I’m not working I love going to karaoke or trivia night at the local brewery.


Hugo Bernier

Hugo is someone organizations call when their Office 365, SharePoint, and Dynamics 365 projects are doomed to fail and need help to get things back on track. As the self-proclaimed “World’s Laziest Developer” and a certified SCRUM Master, he teaches organizations how to successfully deliver their Microsoft 365 engagements while minimizing efforts and increased user adoption. Hugo has worked in Canada, the United States, Germany, Finland, Singapore, Hungary, France, and the United Kingdom. He is an active member of the SharePoint Development Community and has created several PnP reusable controls, property controls, and many sample web parts and extensions. Hugo is also a proud member of the Microsoft 365 Patterns and Practices (PnP) Team. The PnP team is a group of Microsoft employees and MVPs who coordinate the various open-source activities across GitHub and other social media channels, focused on helping the community on how to best use of Microsoft products, like Microsoft Teams, OneDrive, SharePoint or API layer like Microsoft Graph.


Reza Dorrani

Reza is a Microsoft Business Applications MVP & Principal consultant at Catapult Systems.   He is a Microsoft Power Apps & Microsoft Power Automate community dual super user.  He was awarded the Microsoft Flow All Star award by the community.  He is also the founder and leader of the Houston Power Apps and Power Automate User Group


Matt Schuessler


Matt has a passion for Power Apps, is an avid community member, not afraid to speak his mind about politics, loves collaboration technologies and is a Microsoft Power Platform Consultant specializing in Microsoft PowerApps and Power Automate at CANVIZ. At CANVIZ he is definitely a jack of all trades and has a proven track record on all the following the areas…including projects for Microsoft!

• Solution Architecture / Engineering
• Business Process Optimization
• IT Project Management
• Business Analysis
• Cloud Solutions
• Development
• Migration


Todd Baginski

A graduate from the University of Cincinnati Carl H. Lindner College of Business, Todd helps grow the business and leads the technical teams at Canviz. Todd is an 11-time Microsoft MVP with over 20 years of experience in software development. He consistently keeps Canviz on the cutting edge of web, mobile, desktop, and cloud technologies. He leads the technical teams at Canviz with a passion for sharing knowledge and attention to detail. In his free time, Todd gives back to his local community by coaching and growing youth sports teams.

Oct Power Apps User Group (virtual) Meetup: Getting Started with Power Apps and Creating Custom Connectors


For October, the Vancouver Power Apps User Group has two often requested topics.

  • How to get started (from bare metal) creating applications with Power Apps
  • 3 ways to create Power Apps custom connectors


How to get started (from bare metal) creating applications with Power Apps

This may seem like a strange topic, a year into running this user group but with the incredible growth of Power Apps there is a lot of people looking to onboard and even for companies that have been using Power Apps for a while it is a common need to create “sand box” tenants for doing things like testing, using admin features you typically don’t have access to or in the most common scenario: Training.

This session will start from creating a new Office Tenant, creating new Users in bulk and where to find training to get your entire company up to speed.


3 ways to create Power Apps custom connectors


This presentation Power Apps MVP Danish Naglekar, will walk us through 3 ways to create your custom connectors. First will create a custom connector from scratch, second using Postman Collection and last will be using Open API file. For more information about this session please see his video on this topic:


When: Thursday, October 22, 2020
6:00 PM to 8:00 PM PDT

Every 4th Thursday of the month

Add to calendar



(The meetup site can be found here: )




Danish Naglekar

Danish is a full-stack developer, mostly working with D365 CE, Power Platform, Azure, AI, Machine Learning & IoT. He is passionate about technology and likes to learn new things as they are released. Most of his blogs are about his experiences in the technical space that he likes to share with the Dynamics community. He is a firm believer of open-source and community driven projects. He has created multiple open source projects; most renowned one is the “PCF Builder” an XrmToolbox plugin and VS Code extension to help speed the development of PCF controls.

Danish Naglekar | Power Maverick
MVP Business Applications

Blogs | LinkedIn | Twitter | GitHub | YouTube


Ali Sharifi
With a rich background in business applications Ali Sharifi came to Microsoft from the Microsoft partner channel, where as a Lead Solution Architect he delivered solutions based on Microsoft technologies to many customers in various industries form commercial to public sector. He is now Power Platform Technical Specialist in the Cloud and Enterprise team and lives the Microsoft mission to empower every person and every organization on the planet to achieve more. Microsoft Power Platform, Microsoft 365 and Dynamics 365 with underlying Azure cloud services can accelerate digital transformation of any organization to build tomorrow’s business and IT solutions.

Charles Sterling
Came to Microsoft from being a marine biologist working for United States National Marine Fisheries doing marine mammal research on the Bering Sea. He started out at Microsoft supporting Excel and moved through a couple of support teams to being an escalation engineer for Microsoft SQL Server. Taking his love for customers (and diving), Chuck moved to Australia as a product manager and developer evangelist for the .NET Framework. In 2008 he moved back to Redmond as a Visual Studio program manager then joined the Power Platform group focusing on Power BI and now continues his community passion and looking after the PowerApps influencers and MVPs.

Presentation skills Brown Bag in a virtual world

Pre-Covid I regularly held presentation skills brown bags

In those brown bags I had the attendees do different activities to help improve their presentation skills…but most of those assumed a physical interaction.

Last week I was asked to redeliver one of my brown bags…but in a VIRTUAL SETTING???!

Begging the question what the heck activities do I have them do to optimize for a virtual experience?

Looking at my last blog post on this topic let’s see if I could translate these to activities to a set of virtual activities….

Here is my first run at those activities!

  • Share the stage
    • Bring a friend!
    • Today
      • “Um master”
      • “Time master”

  • Be the story
    • Blur Background
    • Stock Background

  • Engage your audience
    • Physical Activity > Now becomes Camera Framing
    • Eye Contact Activity would use erasers in the room > Post its behind the screen

  • LOUDER equals better
    • Mute your audience

  • Emphasize appropriately
    • Voting


Power Apps Training FAQ (For Power Virtual Agents)

Table of Contents:


Where can I find Hands-on Labs?

For Power Apps we have: App in a Day. If you prefer a video of this you can find it here: App in a Day -Virtual edition. For Power Automate you there is Flow in a Day. For Power Administrators we have PowerApps Admin in a Day lab. If you wanted to integrate AI there is AI Builder In a Day, Object Detection with AI Builder, AI Builder Forms Processing. Additionally we have App in an hour and App in two hours. In the process in we have Integrating Application Insights with Power Apps (NEW) and Power Platform Tour in a Day (NEW /Rough Draft)


Where can I find Step-by-Step Guides?

You can find step by step guides here:

Where can I find Videos?



Where can I find Samples?

Microsoft Learning Paths?

In addition to the amazing community content, Microsoft has also created a set of learning paths to help you get up to speed with PowerApps and the rest of the Power Platform.  You can see the entire list of PowerApps learning content here and included below:

Creating a send-smile-component for Power Apps using Power BI and Application Insights

In process and still a draft…will remove this line when finished!

Early February we released an exciting new feature that enables you to add telemetry logging to your application using Application Insights.

That blog post can be found here:

This blog post is a walk through for getting that running specifically for creating a send a smile experience from your Power Apps.

You can also find a video of this walk through here:

The walk through steps:

  1. Log into your Azure Subscription.

    While this walk through requires an Azure subscription, that subscription does not have to be in the same directory in your Power Apps tenant

  1. Create an Application Insights resource

  1. Name your resource instance. If you don’t already have a resource group you can create one.

  1. Create the resource Instance

  1. Copy the instrumentation Key

3. Create a new Power Apps application

4. Set the Instrumentation key

4. Navigate to Components

  1. Create a new component

  1. Resize the component screen

  1. Add a smile and frown Icon to the component.

  1. Select the frown icons and add the following code:

    Trace(“SendASmile”, TraceSeverity.Information,{ChucksappName : “Blog App”, Satvalue: “-1“, AppUser: User().FullName })

  1. Select the smiley face and insert the following code in on the OnSelect event

Trace(“SendASmile”, TraceSeverity.Information,{ChucksappName : “Blog App”, Satvalue: “1“, AppUser: User().FullName })

  1. Rename the component. You can do this by double clicking or right clicking on the component name > Rename

  1. Navigate back to Screens

  1. Navigate to Custom and insert our component SendASmile

  1. Go to file Save and Save your application.

  1. To find the play URL. Navigate to File > Settings and select Edit App Name

  1. Navigate to the Web Link. This is required as the telemetry is only collected in “play” mode rather than design mode.

  1. Run the application and click on your icons a couple of times

  1. Navigate back tot the Azure Portal and Application Insights.

In Application Insights choose the application you create

  1. In about 5 minutes you should be able to see your telemetry start coming through.

Exporting your Application Insights resource data to Power BI

Now that you have your Power Apps application connected to Application Insights you can configure Power BI to automatically import log data from Azure Monitor to take advantage of these additional visualizations.

  1. In your query window remove the limit line so the entire query is simply “traces”. Select Export > Export to Power BI. This will export the M Query that you can use in Power BI desktop.

  1. Open Power BI Desktop. Select Get Data > Blank Query > Connect

  1. In the Power Query Editor, select the Advanced Editor option. In the advanced editor erase the default query and paste in the query downloaded from the Export step above.

  1. Here is an image of this in a completed state. Select “Done”

  1. Transform the customDimensions column to JSON

  1. Select the customDeminsions column and select the columns you are interested. Note: you will almost certainly need to click “Load More” to see all the values.

  1. Select the customDeminsions column and select the columns you are intereste in.

  1. Remove Errors. As we expanded a column that doesn’t have all the values there will be errors in the dataset. If you do not do this you will get the error:

Failed to save modifications to the server. Error returned: ‘OLE DB or ODBC error: [Expression.Error] The parameter is expected to be of type Text.Type or Binary.Type.. ‘

  1. Change the data type of our SatValuue to whole number. Note: In later releases you will be able to pass in numbers from Power Apps and this step won’t be needed.

  1. Select Close and Apply. Note if you get errors from other columns you can either ignore them remove them by repeating the remove error step as shown above for the other columns.

  1. You can now work with this dataset as any other Power BI Dataset….In this case a card is displaying the average Satvalue. Note since this dynamically retrieving data from Application Insights you would likely want to use a DataFlow to persist the data over time.

App in a Day + AI Builder, Portal and Virtual Agents

Application Introduction: End to end employee hardware ordering solution  

This solution simulates how a large organization might supply their employee’s hardware needs. This offering consists of a secure application that enables comparing and ordering company confidential configurations and pricing and can run on mobile devices yet offers support that takes advantage of global/public facing locations and knowledge bases.

The business requirements for the application are:


  1. Securely displays only organization IT approved devices and prices
  2. Runs on both web and mobile devices
  3. Friction free and intuitive device identification
  4. Streamlined order and approval process
  5. Self Service and serviced hardware support options that leverage AI and global support learning
  6. Built by the internal IT group who does not have traditional development resources


Technologies utilized to achieve the business requirements.

  1. Common Data Service (CDS): Make it easier to bring your data together and quickly create powerful apps using a compliant and scalable data service and app platform that’s integrated into PowerApps.
  2. PowerApps: A software as a service application platform that enables power users in line of business roles to easily build and deploy custom business apps. You will learn how to build both Canvas and Model-driven style of apps.
  3. AI Builder Object Detection: To enable easier identification and to find specific device AI Builder will enable uploading an image or photo of a specific device.
  4. Power Virtual Agents bots: To offer a self-serviced support offering that leverages the entire customer installed base learning a Power Virtual Agents bot will be offered that can offer fixes, updates and replacement options at the closest stores.
  5. PowerApps Portal: low-code, responsive websites which allow external users to interact with the data stored in the Common Data Service. While the ordering application must be internal facing due to confidential pricing and configurations the support Portal will leverage global public facing support options and knowledgebases



  1. Create a new environment with a common Data Service Database.
    1. Use the solution to create the entity, bring in components and enable “take home” options for students
    2. Start the Portals provisioning
    3. Start the Power Virtual Agents provisioning
    4. Import Data from web-based data source and creating entities into Common Data Service
  2. Create a Power Apps canvas-based application with components
  3. Use AI Builder to enhance the existing paper-based system.
  4. Use Power Automate to request a device via approvals
  5. Create a Power Virtual Agents support bot
  6. Create a Power Apps Portals to host the support bot


  1. Integrate Power BI Tiles to show store location

Pre-requisites: Before starting the hands-on lab

Task 1: Download the Power Apps Solution file


Setting up the environment and data

This application will be created in a dedicated environment that enables architectural, security and organization separation and geographic specificity.


  1. Navigate To and log in with an account and Password supplied by the instructor.

    The lab directions assume accounts supplied by the instructor. You can use your own accounts but forewarning these labs require permissions to create Common Data Service databases, will be starting trials that will start their expiration countdown and creating Portals that do have external visibility, so it is not recommended. If you are not in a formal class you may provision a free Office365 demo tenant at and use the demo tenant credentials to sign up for a Power Apps Trial


  1. Click on the gear in the upper right corner and navigate to the Power platform Admin Center


  1. Create a new environment with a Common Data Service database (no need to change any other of the defaults)


  1. After provisioning is complete navigate back to (likely the first tab in your browser) to this new environment.

  1. Adding the App in a Day Solution.

    To enable moving your application across environments, using components and custom entities created earlier, this lab leverages a solution you can find here:

  1. Import the App in a day Solution.

    Navigate to and download this file to your hard drive then select Import in the Solution home to bring this solution into your Power Apps environment.


  1. Publish customizations to push the Device Order custom entity definition into this environment.

  1. Brining in the Application Data

    These steps will create new entities in Common Data Service with the standard configuration information.

    Navigate to the Data panel, select Entities and choose Get Data. (note: you can see the Device Order entity underlined in orange that was brought in with the solution).

  1. Select the Text/CSV data source


  1. Reference the Manufactures data source:

  1. Name the entity Manufactures and select next

  1. Load this data into a new entity, set the data type of the ManufactureName from Multiline text to Text and set the primary field mapping key field ManufactureName

  1. Create the Manufactures entity with manual refresh.

  1. Repeating the same steps above for the Devices entity:     

  1. Select the Text/CSV data source

  1. Reference the Devices data source:

  1. Names the Devices entity

  1. Load the devices data into a new entity, set the data type and field mapping for the primary key.

  1. Create the Devices entity with manual refresh.

(note this will take a couple of minutes)

  1. Navigate to the solutions view and open the Device Order Solution

  1. Add those new entities to the Solution

Congratulations badge: “Importing Common Data Service data”


  1. Start the Portal creation process.

    Portals will take 30 minutes to provision. As this runs asynchronously the lab will get this started now so it is completed when needed.

  1. Supply Portal creation information. Please keep in mind these sites default to anonymous access and are publicly visible.

CREATE BOT HERE TOO!!!!!!!!!!!!!!!!!!!!!!!

Congratulations you are now ready to start making some applications!!


Building the Device Ordering Power Apps Canvas App

Do not proceed before going through the lab pre-requisite steps

This lab will create new Device ordering application to replace an existing paper and email-based system.

Power Apps Canvas Studio Layout

Power Apps Canvas Studio is available as a web application ( that you can use in any modern browser.

Power Apps Studio is designed to have a user interface familiar to users of the Office suite. It has three panes and a ribbon that make app creation feel like building a slide deck in PowerPoint. Formulas are entered within a function bar that is like Excel. Studio components:

  1. Left navigation bar, which shows all the screens, data sources, and controls in your app
  2. Middle pane, which contains the app screen you are working on
  3. Right-hand pane, where you configure properties for controls, bind to data, create rules, and set additional advanced settings
  4. Property drop-down list, where you select the property for the selected control that you want to configure
  5. Formula bar, where you add formulas (like in Excel) that define the behavior of a selected control
  6. Ribbon, where you perform common actions including customizing design elements
  7. Additional items, here you will find your environment selection, app checker, and the preview app functionality.

Goals for this lab



After this lesson you will be able to:

  1. Create a Canvas App
  2. Add screen to your app
  3. Use formulas in your app
  4. Navigate between screens
  5. Customize galleries on your screens
  6. Capture a collection from your app




The time to complete this lab is [60] minutes.


When you are done with this first portion of the lab, your app will look like this:



Locale-specific difference in formulas


Before you begin, please note that if your computer has its regional settings set to use the comma ‘,’ for its decimal separator (like in much of Europe) your formulas will need to use a semicolon ‘;’ instead of a comma in your formulas. For example:


Filter(Machines, OEMsGallery.Selected.MFR=MFR)


Filter(Machines; OEMsGallery.Selected.MFR=MFR)


These localized formats are indicated with the symbol throughout the document. If you are in the en-us locale, you can ignore any of the formulas indicated by the locale symbol.


Exercise 1: Create the app in Power Apps

Before creating an app, ensure you are in the new environment that you created above. Click the Environment drop-down in the top right of the screen to switch to the new environment. (If your environment doesn’t show up, try logging out and logging in again)

  1. Navigate to the solutions view and open the Device Order Solution

  1. Add a new App of type Canvas with a Tablet form factor

  1. Rename the screen

In this task, you will rename Screen1 to MainScreen

  1. Select the screen by clicking the Screen1 tile in the Tree view.
  2. Click “…” next to Screen1 (or right click Screen1) and select the Rename option.


  1. Change the name to MainScreen.

Note: You can also rename the screen by clicking on the screen name in the right pane and selected the edit icon, or double clicking on it.

Tip: It is a good practice to rename screens and controls as you create them, so they are easier to locate as you work with formulas that reference different controls. In this lab, you will be prompted to rename screens and some of the controls. For the others, you may rename them as you please on your own.


Using Components

In this section you add a component to act as your header containing the app name and logged in user’s name

  1. In the tree view select “Components” under the ellipses select “Import Components”. If you don’t see the components you may need to exit and re-log in.

  1. Select the App titled “Device Ordering App Component”

  1. Here is the view of the component


  1. Navigate back to the MainScreen, select the custom menu and add the Header component.

    You will want to resize the component to the width of your screen.

    Are you ahead of schedule?

    Bonus: Build your own component that enables you to set the font color and have responsive sizing!


In the application settings page, you can:

  1. Change your app name
  2. Customize the app icon – choose a background color and icon
    1. Save your application “Device Ordering”


  1. Under settings, Select the Screen Size + Orientation tab to view the available screen orientation and aspect ratio settings. For this app, we will leave it at the default setting of Landscape with 16:9 aspect ratio.

  1. Click Save in the left navigation.
  2. Select The Cloud and click Save.

  1. After the app is saved, click the Back arrow in the top left to get back to the studio.


Tip: In Power Apps when you save a version of your app the first version is published by default and available to everyone you share the app with. Subsequent saves are only visible to the app maker in the studio. You must explicitly publish it for all app users to get the update. For more details on saving, publishing and sharing apps, see:

Exercise 2: Add Device Gallery and Connect to Data Source

In this exercise, you will add a gallery of all available devices making it easy for users to browse the list and get a quick overview of the devices available.

Task 1: Add device gallery

  1. With MainScreen selected, select the Insert tab.
  2. Click Gallery and select Horizontal.

This will add a gallery called Gallery1 onto the screen. Notice the control tree view on the left displays this gallery with three controls within it – two labels and an image. A data pane will pop up on the right.

  1. Under search or the drop down select the “Manufactures” entity.


  1. Select Gallery1 and notice the Items property is set to Devices. Notice the gallery is populated with data.

  1. Rename the Gallery1 to DeviceGallery.


Tips on working with galleries:

Galleries provide a powerful way to visualize tabular data in Power Apps. It is important to become familiar with customizing a gallery. Key components of a gallery: the gallery control, the template cell (first cell), and controls within the template cell.

To select the entire gallery – click on the gallery in the tree view on the left or click on the second or third cell. Clicking any cell that is not the first cell of the gallery will select the entire gallery. Now you can specify properties that apply to the entire gallery, such as the Items property, which is the data source, the gallery fill color, borders, etc.

To customize how each item is displayed in the gallery, you will customize the template cell. Select the template by clicking in the first cell of the gallery or click on the pencil icon in the top left corner when the entire gallery is selected.

You can now add, remove and customize the controls within the template cell. These changes will then repeat across each item or row in the table.

Go ahead and select the device image in the template cell and change its size. Notice how the size of the image changes in all the cells.

You can also test your gallery right on the canvas by holding down the Alt key to activate.

You will customize the device gallery in subsequent steps.

Don’t worry about making the gallery pixel perfect, the purpose of this exercise is to get your app working with a good enough UX. You can always repeat these labs to practice your pixel perfect skills.


Task 2: Arrange the device gallery

  1. Resize and reposition the gallery. You can drag and drop the gallery or use the gallery properties pane on the right.

  1. Select the DeviceGallery and click the Edit (pencil) icon in the top left to edit the template cell.

  1. Using the right drag control, resize the first box to be narrower. Notice that all the items get narrower and more devices are visible on the screen.

  1. Narrow the image as well by clicking on the image control and resizing it using the drag handles. Make sure the width of the image control is positioned within the template.

  1. Notice the gallery control on our screen automatically has scrolling capabilities.


Task 3: Add gallery to show manufacturers

In this task, you will add a second gallery that will list the various device manufacturers. This will be a single column vertical gallery down the left side of the screen, with each cell displaying the manufacturer’s logo image. This gallery will later be used as a filter for the device gallery created above.

  1. Select the MainScreen.
  2. Select the Insert tab on the ribbon and open the Gallery drop-down, then select Vertical.

  1. Select Manufacturers for the data source.
  2. Rename the gallery to ManufacturerGallery.

  1. Move this new gallery so that it is left aligned with the left edge of the screen and top aligned with the top of the device gallery. Your two galleries should like the image below.

  1. Select ManufacturerGallery (not just the template cell), in the Properties tab on the right, click Layout.

  1. Scroll down to the Gallery section and select 2 Columns.

  1. Change the Wrap Count from 2 to 1. This will change it to a single column gallery.

  1. Select the image control within the gallery (the Edit Pencil icon) and reduce its height by dragging the middle bottom drag control upwards. The image size will reduce whereas the template size will still be expanded.

  1. Reduce the height of the template cell to match the image below. We essentially want the image to occupy the entire cell.

  1. Click File and Save the application.
  2. Click on the Back arrow.


Task 4: Connect ManufacturerGallery to manufacturers table

Earlier you connected the data source using the Data tab in the right pane. You can also connect to data via the formula bar.

  1. Select the ManufacturerGallery. Make sure the whole gallery is selected and not just the first cell.
  2. Select Items from the property drop-down next to the formula bar. Notice that the gallery is populated with images of buildings. This is because Power Apps picked a default binding which mapped to the HQ column in the table.

  1. Select the image control in the first template cell in the gallery and change the value of Image in the formula bar from ThisItem.HQ to ThisItem.Logo. All the gallery items will now display logo images. You can also use the left tree view to select the controls, sometimes that is easier!

Note: Autosuggest offers you valid options for authoring formulas. See in the image below, we want to define the image to display from our data. Once we type ThisItem our Autosuggest tells us that we have three valid options for this formula. This can help guide you to making valid formulas.

  1. Select the first (top-most) image and using the Properties pane on the right, set the Image position property to Fit.

  1. Reduce the height of the template cell such that all nine manufacturers fit without a scrollbar. To do this, use the drag handles to first reduce the height of the image and subsequently reduce the height of the template cell.

    Note again that to select the template cell, select the entire gallery and click on the pencil icon in the top left.


Task 5: Highlight the selected item in the gallery

In this task, you will use the TemplateFill property of the manufacturer gallery to specify a highlight color for the selected item

  1. With the ManufacturerGallery selected, set the TemplateFill property on the gallery to the following formula to conditionally set the fill color of the selected cell to light blue:



    Alternately, you could set the TemplateFill property to:


    This approach is recommended so the fill color matches the header label with a 75% fade. If you change the fill color of header label, the fill color of the selected item in the gallery will automatically change.


  1. Now try using the preview mode to perform a quick test of this highlighting. You can enable preview mode by holding down the Alt key (also known as the Option key) and clicking a few different manufacturers in the gallery, notice the selected item in the manufacturer gallery is highlighted in a light blue color. The preview mode ends when you stop holding the key.

    Alternatively, you could click the Play () button to enter preview mode, and to exit this you would hit the X in the upper right corner or use the Esc key.


Task 6: Filter the devices based on selected manufacturer

In this task, you will use the Filter() function to filter the items in the DeviceGallery to only display devices that match the selected item in the ManufacturerGallery.

Select the DeviceGallery. With the Items property selected, enter the following expression in the formula bar:

Filter(Devices,ManufacturerName= ‘Manufacturer Gallery’.Selected.ManufacturerName)


    for alternate/European locales:

Filter(Devices;ManufacturerName= ‘Manufacturer Gallery’.Selected.ManufacturerName)


This will filter the device gallery to only display items that match the selected manufacturer based on ManufacturerName

  • Select a different item in the manufacturer gallery on the left, and you will notice the device gallery will update accordingly. Note: In some cases, the first few items won’t show the selection, try selecting the 5th or 6th item if that occurs.

Note: If you get an error when entering the Filter command, check the name of the manufacturer gallery. The name in the filter command must match the name of your gallery.

More details on the Filter() function is available at

A complete set of expressions is available at


Task 7: Configure text labels in the device gallery

  1. Select the subtitle in the DeviceGallery. It is named Subtitle1 in the tree view. It may have the default value set to the DeviceType property (e.g. Tablet).
  2. Change the label to display the device name by setting the label’s Text property to: ThisItem.Price

Here are some additional formatting suggestions. These are for cosmetic purposes only, feel free to skip past these:

  1. Expand the width of the label to the template width.

    Notice that the second label expands as well. This is because it is X property is set to Title1.X, the X coordinate position of the Title1 label. For more on the relative positioning of controls, see

  2. Change the PaddingLeft
    0 to 10.
  3. Change the font to Segoe UI.
  4. Select the Title1.
  5. In the property drop-down list, select the Text field and change to ThisItem.Title.

  1. To add the $, use the text format expression: Text(ThisItem.Price,”$##,###.00″) or for alternate/European Text(Price;“$##.###,00”)


    Note: After you enter the above value in the formula bar, it will automatically resolve to include your locale, e.g. [$-en-US]. If you see an error here, it might be because your locale is not yet supported, in which case as a workaround, manually change it to [$-en-US]:

Optional UI enhancement:

  1. Like above, change the value of the PaddingLeft property of the Title1 label from 0 to 10. Or set it to Title1.PaddingLeft.
  2. Change font to Segoe UI.



Task 8: Conditional formation to highlight devices above $1,000

We can make it easy to spot devices that cost more than $1,000, by displaying the price in Red.

  1. Select the label in the template cell that displays the price and set the Color to If(Price>1000,OrangeRed,Gray) or for alternate/European locales: If(Price>1000;OrangeRed;Gray)

Note: As you are typing this formula notice that the autosuggest shows a choice of matching colors. Power Apps comes with a set of standard colors that you can easily reference in any property that accepts a color value. You can also set specific RGB values.

For a full list of Color functions and colors, see

  1. Click File and select Save.
  2. Click the back arrow.


Task 9: Add an order to Device Order Common Data entity using a form

  1. Click on Insert > Forms and select Edit

  1. Resize the edit form to the bottom of the application.

  1. Set the Data Source of the form to the “Device Orders” entity

  1. Remove the field “Created On”

  1. Add the fields to Name, Price, Request by, Requested Date

  1. Set the form to have two columns

  1. To set the properties of the name edit form; select the Name text box and the Advanced properties. Select “Unlock to change properties”

  1. Scroll down to Default property and type:

‘Device Gallery’.Selected.’Device Name’

  1. Unlock the “Requested By” property

  1. Set the “Requested By” property to



  1. Unlock the “Price” property

  1. Set the “Price” default property to:

Text(‘Device Gallery’.Selected.Price,“$.00”)


  1. Rename our edit form from Form1 to “OrderForm”


  1. Add an Icon for our save. Click on Icons menu and select “Check” and move to the bottom right of the screen as indicated below.

  1. To write the order details to the CDS entity: Select the Check icon and in the OnSelect type:


NOTE: If you try running your application now and you will find your order form disappears!!!!!!!!!!!!!!!…Let’s “fix” this!!

  1. To display the edit forum. Select the Device Gallery chose the “OnSelect” property and type:



  1. Click File and select Save.
  2. Click the back arrow.

Congratulations badge: “Writing Data to practically any data source!”


Done and looking for something else to do?

  1. Apply a theme to your Application for a new look at feel
  2. Add navigation to the header component
  3. Give the controls a responsive lay out
  4. Create your own component for the form submission


Use AI to update and improve an existing Paper based System

This section will show to take an existing paper-based system and reduce the effort, integrate it into the new system through artificial intelligence and AI Builder.

This lab will use the forms located in: Please download and extract these forms to your local hard drive.

Goals for this lab



After this lesson you will be able to:

  1. Create an AI Builder Model that can access existing forms
  2. Train an AI Model with existing
  3. Use this model in a canvas application
  4. Add navigate between screens




The time to complete this lab is [60] minutes.


  1. Navigate to the AI Builder area of Power Apps

  1. Select “Build” under AI Builder
  2. Start your AI Builder Trial
  3. Select “Form Processing”


  1. Name our AI Builder Model “CustomOrder” and select Create

  1. This lab will use the forms located in: Please download and extract these forms to your local hard drive. After you have done this select “Add documents”

  1. Add all the forms, with the exception of the Test form to train the model.

  1. Select “Upload 8 documents”

  1. Once the documents are loaded select “Close”

  1. Select Analyze


  1. Let AI Builder creates the model



  1. Select the form to select the fields wanted in the model


  1. Select the “All Fields” menu to specify the specific fields

  1. Select the Date field to change the name from “Date” to “InvoiceNo”


  1. Select “Next”

Select Train

  1. Select “Go to Details Page”


  1. Publish the model. We can now process custom forms in our Device Ordering Application!

  1. Navigate back to our Canvas Application created above. If you have closed it you can navigate back to Solutions > Edit

  1. Inside the Solution select the canvas application created above “Device Ordering Application” and select edit

  1. Add a new screen to process legacy form based and custom requests. (This form may look different than yours due to a custom theme has been applied (Home >Theme))

  1. Rename the new form “CustomDeviceScreen”

  1. Add the Header component and rename if desired.

  1. Add the AI Builder Form Processor control to the form. Move the control the bottom of the screen. Set the Text of the control to “Import Custom Device Form”.

  1. Rename the AI Builder Form Processor from FromProcess1 to CustomDeviceProcessor

  1. Add Text boxes for: Model, Memory and Storage and customizations. Add Labels for Model, Memory and Storage and customizations. (in the example of the font size was increased to 16)

(The space on the right is being reserved for the Power BI integration and a map)

  1. Retrieve the model value from the PDF using the following formula:

LookUp(CustomDeviceProcessor.FormContent.Tables.table_0,“Model”=Part, Description)

  1. Retrieve the memory value from the PDF using the following formula:

LookUp(CustomDeviceProcessor.FormContent.Tables.table_0,“Memory”=Part, Description)

  1. Retrieve the memory value from the PDF using the following formula:


  1. Set the notes section of the screen by removing the text from default and adding hint text.

  1. You can now run the application, click on the AI Builder Form control labeled “Import Custom Device Form” and load the Test_Contoso Custom Device Order Form.PDF


  1. Add navigation back to the main screen by adding a button in the header or footer(in this image I have it in both places)


  1. Add navigation from the first screen to our new Custom Ordering Screen.

  1. In the OnSelect of the label enter:



Using Power Automate approvals to streamline ordering

This section of the training will enhance the existing paper-based system for ordering devices

Goals for this lab



After this lesson you will be able to:

  1. Add additional screen to your app
  2. Add navigate between screens
  3. Create AI Builder models
  4. Create Approval Flows for ordering custom devices




The time to complete this lab is [60] minutes.


Adding an approval flow

  1. Navigate to the Device Ordering canvas Application created above. If you have closed the application, you can navigate back to Solutions > Edit

  1. Inside the Solution select the canvas application created above “Device Ordering Application” and select edit

  1. Open the CustomDeviceScreen screen added in the section above

  1. Add a button that we will use to submit our device ordering request. Insert > Button. Rename this button to RequestOrder

  1. Create a new flow in Power Automate the references the RequestOrder button. To do this select this RequestOrder button, click on Action, select Power Automate and choose “Create a new flow”.

  1. In the Power Automate creation experience, select Power Apps to be the trigger

  1. Add a new step in the flow

  1. Select the action: “Start and wait for an approval”. The easiest way to do this is type: “approval” in the search. Name the flow Device Request Approval.

  1. Set the approval type to: “Approve/Reject- First to respond”

  1. Set the approvers using the “Assigned to:” and for the approval details select: “Ask in PowerApps”. Ensure one of the users in the Assigned to: is the account you are logged in as. If you don’t see “Ask in PowerApps” option, click the see “See More” option in the dialog.

    In the screen shot, it currently has the text “See less”.

  1. Add a condition action to the flow.

  1. Set the condition to test Outcome as being equal to Approve. NOTE: THIS IS CASE SENSITIVE!!!!

  1. Specify the actions for both the approved and rejected states of approval. In this case the action will both send email to the requestor with the subject being approved or rejected. In normal situations the approved stated would write a record to the CDS entity “Device Orders”.

  1. Set the recipient as the person logged in

  1. Set the subject of the approved branch send email as Approved and the body equal to the Power Apps input for the order details.
  2. Repeat for rejected branch

  1. Connect this flow to our Power Apps application. Navigate back to our Canvas application. Select the flow created above.

  1. Select the Device Request Approval and note it is expecting order details from the “Ask in Power Apps” specified in the flow created above.

  1. To make the parameter more legible you may want to rename the text inputs

  1. Pass in one parameter from the text input boxes

  1. Here is the approval request in email.

    NOTE: Approvals take some “warm up” time with the first approval requests taking ~5 minutes and subsequent approvals will often proceed the initial request


  1. Here is the Approvals Experience in Power Automate

  1. The resulting email sent



Done and looking for something else to do?

  1. Modify the flow to include the PDF in the email
  2. Modify the flow to update the CDS entity “Device Orders” in the approved branch


Use Portals and Power Virtual Agents bots to offer Self Service Support

Goals for this lab



After this lesson you will be able to:

  1. Add additional screen to your app
  2. Navigate between screens
  3. Create AI Builder models
  4. Create Approval Flows for ordering custom devices




The time to complete this lab is [60] minutes.


Power Virtual Agents, provide exceptional support to customers and employees with AI-driven virtual agents. Easily create and maintain bots with a no-code interface.

If you aren’t familiar with bots, a bot is a computer program that utilizes conversational AI, a bot  can conduct text conversations with your customers to direct them to what they need quickly without requiring your human agents to intervene. Bots provide a great way to answer simple, repetitive questions from your customers and to help them do repeatable tasks like find out how to return or exchange an item, join your rewards program, or cancel an order (which you’ll learn how to do in this training). Bots save your agents time (and your company money) by freeing agents to focus on more complex problem-solving and handle more valuable customer interactions.


This blog post is a very introductory walk through on how to get started creating your own bot.

Step 1: Navigate to and select “Try Preview”

Step 2. Log in to some tenant you want to create your bot in. (For this lab it doesn’t have to be the training tenant/account)

This presumes you already have an environment created in your Office Tenant. If you don’t already have a Tenant or environment please see the directions can be found in an App an two hours in the Power Apps training:


Step 3. Create a new bot.

Being there is no bot in your tenant, you will get automatically get prompted to create one.


Step 4. Set up the bot options

If you don’t want to create your bot in the default environment, you can set this under “More Options”


Step 5. That is, it! Your bot is built, and it is time to test it!!!!!!!!

To do this turn on tracing


Step 6. Add some text that falls into your greeting phrase.


Step 7. Watch the processing and workflow

Step 8. Customize your bot

Now that you have seen your bot in action, let’s customize it!

The easiest place to start is the greeting button.  If you toggle tracing back off you see this option.

Step 9. Change your greeting


Step 10. Verify your Updates!

Simply rerun your bot and greet it, the response should now come back with your new greeting!

Step 11. Create a new topic. Click on topics > New Topic. Add triggers and discussion for said topic.

Step 11. Publish you bot for deployment

Step 12. “Deploy” your bot

Click on manage > Channels > Custom website


Step 13. Copy the bot URL from the Custom website dialog.

Put Bot in a Portal

  1. Open your portal in edit mode

  1. Scroll down to the section you want your bot

  1. Under components select Iframe

  1. Set the link to the Power Virtual Agents URL

  1. This will automatically update after a couple of seconds

  1. Test your bot in the Power Apps portal using the “Browse Website” option.

Use Power BI Visuals in your PowerApps application

Goals for this lab



After this lesson you will be able to:

  1. Add additional screen to your app
  2. Navigate between screens
  3. Create AI Builder models
  4. Create Approval Flows for ordering custom devices




The time to complete this lab is [60] minutes.

&$filter=Store/Territory eq ‘NC’


Pick up location using Geospatial Features in Power Apps

In the section above we used Power BI to display store locations. Now in preview there is a new geospatial functionality to enable this functionality directly in Power Apps:

In future versions of this training we will show how to do mapping using these new features.


© 2019 Microsoft Corporation. All rights reserved.

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.

Microsoft and the trademarks listed at are trademarks of the Microsoft group of companies. All other trademarks are property of their respective owners.

© 2019 Microsoft Corporation. All rights reserved.