Build Power Apps in Microsoft Teams.

See how anyone can now build an App directly from within Teams (without ever leaving Teams) using Power Apps, as well as the latest templates to kickstart your efforts. And for pro developers, we’ll show you how T-Mobile built their mission-critical Orbit Power App using custom code, Azure APIs, and connectors.

Build Power Apps in Microsoft Teams

Host Jeremy Chapman is joined by Charles Lamanna, CVP of Microsoft’s Low Code Platform, who shows you:

  • New Power Platform solution templates for common apps you might use in the context of Teams
  • How to increase storage as your app gets more and more use
  • How to build connectors and APIs
  • For Power Apps used in Teams, Azure API management is free
Microsoft Ignite


01:04 — Build Power Apps in Teams

08:47 — Solution templates

10:08 — Increase storage

14:08 — Build connectors and APIs

16:16 — From simple to complex

17:01 — How to get started

Link References:

Find everything you need to get started at

Unfamiliar with Microsoft Mechanics?

We are Microsoft’s official video series for IT. You can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft.

This was part of the 2020 Microsoft Ignite lineup.

Video Transcript:

- Coming up on this special edition of Microsoft Mechanics, I’m joined again by Charles Lamanna, the CVP of Microsoft’s low-code platform, to show you how anyone can now build an app directly from within Microsoft Team using Power Apps including the latest templates to quickstart your efforts. And for pro developers, we’re gonna show you how now T-Mobile has built mission critical apps using Power Apps with custom code, Azure APIs, and connectors. So, Charles, thanks for joining us again today.

- Great to be here. Thanks for having me back.

- So every time we have you on, even within the space of a few months, you’ve always got a ton of updates in this area of low-code development experiences.

- Well, it’s a super fast moving space with tons of demand and requests from our customers. We really think that anyone in any company should be able to go build their applications without having to be an expert on writing code. And that’s really what we’re focused on doing with all of these updates is just making it easier and easier so we can reach more people with Power Apps.

- Of course, a great point here. And a great proof point is the integration of Power Apps and Microsoft Teams, which makes building app experiences around the things that you do every day now accessible really for everyone.

- That’s exactly right. Something we’re really excited about is how anyone can now build applications from directly inside of Microsoft Teams. And you can do all this without ever having to leave the Teams UI or the Teams experience, and you can literally build it from scratch and solve problems that you face every single day. Some of the most useful applications that people create all started out as just pen and paper and clipboard. Let me show you just how easy it is to build it. So I’m going to open up Power Apps inside of Microsoft Teams. I’ve already got Power Apps into the side here where you can just go search the Teams app store to get it installed and get started. From there, I just click on Create an app and select the team where I want to install the app that I’m building, and just like that I’m able to get started in Power App Studio. And it’s the same experience, the entirety of Power Apps right here inside of Teams without any compromises. So I have this great blank canvas to design whatever I want. And in my case, I wanna go create an inspection checklist app where I store data from the store about different inspections that are happening. And as we start building, you’ll see Power Apps actually looks very much like PowerPoint, modeled after the office applications everybody already knows. So even if you aren’t a developer, you can get started building apps. The checklist is essentially a table. So what I’ll do first is create a table that describes the different inspection steps. I can do that right here inside of Power Apps by clicking Create. And I can do all of this without having to leave Microsoft Teams. This gives me a tabular experience. It looks just like what you already are used to inside of Excel or inside of SharePoint and all the other Office products. So if I start editing here, I can say inspection name, and maybe I want to add something like the inspection date. And when I do that, you can see that I have a whole bunch of data types to choose from inside of this tabular experience for Power Apps. So I select Date, click Create, and then I have a day column just like that. It’s that easy to get started with these advanced types. So if I keep going, maybe I say something like the inspection location. I’m going to use something called a Lookup that we’ll look at another table I already have about area inspection locations inside the physical store. And this will just be things like front office, back office, that eating area, things like that. And if I click Create there, I can really easily hammer out things like indicating if it’s clean, which I use a choice, so yes or no. You can see that quickly auto-populates the metadata for a very rapid, rich experience. And maybe I want to say whether or not the area is stocked because you know I’m going to inspect a retail location, so I can just use yes or no there as well. And if you go look at this, this is just like what you know from Microsoft lists in Excel. Very easy to get started, but you’re getting the full power of Power Apps behind the scenes. And what’s important for this is I can define my entire schema for all of the inspection details that I need right inside of Power App Studio in Microsoft Teams.

- Right, and a great tip here. As you get started, you’ll wanna fill in a few of those rows of data manually, so that you can see what things are gonna look like as you design the user interface for your app.

- That’s right. So I’ll fill out a few different rows right here. I’m gonna use some examples from around where I live. So I’m going to say downtown Seattle, I’ll say September 12th. And for the inspection location, I’m going to say front tables. I’ll say it’s clean, but not stocked. Maybe I’ll also use Downtown Bellevue. I’ll say that’s an inspection day on September 14th. I look at the information kiosk, and it was clean and stocked. And then maybe I’ll go out Issaquah and say September 8th, choose some other location, and say that it was not clean, but it was stocked. And what’s great is I went through all of this. You can see that the table was automatically populated with those rich controls to do lookups here in the inspection location table, or to go do the yes, no values on whether it’s clean or stocked. So it’s very easy to rapidly create this thing right inside of Power Apps. I’ll close this down. And the next thing, I’m just going to start to use the normal controls that everybody knows and loves inside of Power Apps. So I’ll drop in a vertical gallery, which is just a list of items that I’m going to bind that to the inspections table, the table I just created. And I can go over to the side here and change the layout that Power Apps provides. So you can see that I have those inspections from downtown Seattle, downtown Bellevue, and Issaquah. And then I can say, go drop on something called an edit form. I’ll drop on the edit form on the side. And I combine that to the same data that I created inside of the table. And when I do that, you can see all those different fields start to show up just like they would on the gallery. I can even choose the fields that appear. And I can see there’s a whole bunch of other basic fields that were automatically populated and created by Power Apps. So you don’t have to define them. That’s one of the big benefits of using Power Apps to store your data. In this case, maybe I want the inspection date, inspection location, and whether or not it’s cleaned and whether or not it’s stocked on the form. Add all of those in, and I can start to see my form has all of these advanced types right inside of it, all automatically and very easily and just binding the item I want to show in this form to that over here on the gallery. And ’cause if you look up on the top, you can see that I’m using the formula bar, just like you would inside of Excel. And you can see that the app automatically refreshes without rebuild or recompile. So if I click on downtown Bellevue, it says downtown Bellevue here, and what’s exciting is that the inspection location is that same dropdown that we saw inside the table designer. And even whether or not it’s clean or stocked, those are all the same rich controls that I get automatically from the experience inside of Power Apps. And once I’m done, you wanna do a quick other thing, I’ll go drop on an add button, so if we wanna create new inspection records, or maybe I want to go create a quick label on the top, the same mechanics demo for our inspection, and you can see how I can really quickly assemble an application. It looks pretty nice, very rapidly and very easily. So maybe I drag this right here, maybe not the most beautiful app, but it gets the job done. It makes it easy to go replace those clipboards for inspections. I can very quickly save. And my favorite part is that once updated, I can publish this application to Microsoft Teams. I just, after clicking Publish, it saves, it updates. I can able to take this application and distribute to the rest of the team that I work with to do inspections right all inside of Microsoft Teams. And that integrated capability is one of the big announcements that we’re excited about today. In maybe just 20 clicks or so I was able to go create this rich application with a backend all inside of Teams for both the app authoring and the data creation. And just like that, my app’s ready to go.

- And that was a super simple app, really easy to create. It’s way more streamlined of an experience now.

- Yeah, and it’s simple, because of that experience we’re announcing today. As you saw the Power App’s authoring studio’s now entirely available natively integrated inside of Microsoft Teams. So you can build powerful applications without having to leave Teams at all. Behind the scenes, we have something called Project Oakdale, which is our code name for now, and that’s a built in low-code data platform for Teams. And so, for example, when we created that table, Oakdale was providing a heterogeneous storage behind the scenes. It’s provisioning the right data store to capture the right data, whether that’s Azure SQL Database, or a structured data, or Azure Blob Storage for unstructured data, or Cosmos DB for any other data, it’s all coming together with standard schemas and standard data types. But Oakdale does so much, much more. Behind the fields, it has an entire security layer for authentication with identity and access management. And all of this power is made available to you behind a super simple UI in Microsoft Teams.

- And I really like that all this has the kind of the robust backend enterprise ready, really easy to use front end creation that we saw. But is all this part of the Microsoft Teams license?

- Yes, absolutely, that’s right. And that’s pretty substantial. Inside of your Teams license, you can put over two gigs of data into a project Oakdale, which is equivalent to over a million rows of data. And by the way, all these apps are enterprise ready. They support backup and restore, role based access control, and all kinds of advanced compliance and certification capabilities including data loss prevention. And all of this works out of the box right inside of Microsoft Teams with your Teams license.

- Good stuff, I’ve gotta admit, though, I’m one of those casual devs who kind of likes to start with a template app and reverse engineer it to something that will suit my needs. Can you help with that?

- Yes, exactly, and you’re not alone. So we have a whole bunch of templates available now with the power platform inside of Teams. And these are for common applications that our customers may face day to day. In this case, I wanna show us some really great examples like area inspection, employee ideas, issue reporting, or asset management. And one of the best ways to see it is what one of our customers, T-Mobile, did. They use that inspection app template to really get started for a great rich inspection experience. So if I click through here through that app, you can see that it’s right inside of Power App Studio inside of Microsoft Teams. And this app is pretty nice. It has a great visual experience for the person doing the inspection. If I go click through to inspect an area, we can see there a nice list of all the different store locations, or maybe I want to take an action as a T-Mobile employee. Say I go look through the accessories, I can see the store opening walk details, just a series of steps I’m supposed to follow, and we see all of this is wired up really naturally and themed and modeled after the T-Mobile colors. And that’s, what’s great about these templates. You can take them right off the shelf to get started, get tons of value, but tweak them to what your company cares about and the way your company wants applications to look all using those advanced capabilities that are available inside of Microsoft Teams.

- So what happens, though, in the case where maybe my app gets really popular, I might get close to reaching that two gigabytes size limit then on the data, or it becomes mission critical? Maybe I need more people overseeing it from a security and compliance perspective. What do I do there?

- So this is a pretty common opportunity for our customers. Sometimes you just don’t know if we wanna invest in making your app really complicated or advanced backend from day one, so you wanna take care of all of that with Project Oakdale. So what we’ve done is that although Oakdale works great for tons of different use cases, we always can give you more power when you need it. So if you want more capacity, more capabilities, or more control, you can easily promote Oakdale to the Common Data Service. And the Common Data Service provides a whole bunch of capabilities. It’s over four terabytes of data storage out of the box, a broader foundation for data integration that includes pro dev support with API and SDK access. And you can even connect to the Common Data Service with APIs or T-SQL endpoints, or SQL Server Management Studio. So along with even more connectors to your apps, Webhooks support and Azure Event Hub and Service Bus, you can integrate with everything and more.

- Awesome, so you can really increase your storage then as your app gets more and more use, and you’ve even got programmatic ways then to extend it further.

- That’s right. And you can choose from a larger collection of connectors that link to both internal as well as external data sources for your company.

- Right, and one thing is I gotta say, taking advantage of kind of these additional services, things like Common Data Service and using connectors, it’s kind of the next level of sophistication. So, do you have any examples then of places where this is done?

- Absolutely, while still a low-code platform with CDS, professional developers can step in to really enhance and collaborate on the application of providing connectors to their own internal data sources and backend microservices. And let me show you one of my favorite apps. It’s one built by T-Mobile, an application called Orbit, and this uses all the great capabilities of Common Data Service behind the scenes. And we’ll start by just looking at the end user experience, what the app looks like, and then show how it’s built in just a second. So the app you’re seeing right here inside of Power App Studio makes it just so that T-Mobile was able to go manage and track campaigns across over 29 different business units within the company, and it uses Power Apps and CDS. So you can see, I can very easily create a new campaign or new project right here, but I can switch over to a list view. And this will then show me all the active projects across the entire company. And I can very easily go drill into this project around a vice promotion that allows me to go see all the different information about the project and what it means, things like discounts and potential partners and wireless advocates. I can go through the entire business process looking at the details and know who’s working on it, what brand is going to be used, who the sponsor is, things along those lines. And for campaigns like this, approvals are really important. So there’s actually an entire approval process built into Orbit. So you can make sure all the right departments and business units are signing off, and you can see things like teams or attachments also associated with this project. It’s all wired up in a super easy to use experience. It’s incredibly fast and incredibly responsive. It was all built using Power Apps and the Common Data Service. And what’s great is that you can see the T-Mobile themes, the T-Mobile color, the T-Mobile icons so that really feels like an app specific to T-Mobile.

- It’s really great to see, but how did T-Mobile then incorporate all those different data sources into their Orbit app?

- So I’ll go switch back over here and what I’ll do is I’m gonna show the Power App Studio experience, and we can see that what’s great is on the left hand side inside a Power App Studio, there’s all these different data sources. And if I scroll through here, what’s amazing is that it actually uses dozens and dozens of different data sources to get the job done. And one in particular is very interesting, and that’s this one, the CDS GTM entries data source. It was a custom connector built by the T-Mobile development team on top of APIs the developers already built. This allows them to go extend and get more information about the go-to-market entries right from inside the Power App Studio using all the other low-code tools that they’re used to. And you can invoke this API from inside of Power Apps without any problems.

- I really like that T-Mobile’s professional developers then made the connectors available to their Power App developers as well, but how were they able then to build these connectors and APIs?

- So let me just switch over to Visual Studio, which is where most of our developers want to write their APIs. And we can see that T-Mobile has authored GTM entries API using .net, using their standard route, the standard technology, and all of the standard development processes they’re used to inside of Visual Studio.

- Okay, but then you need a way to host that API. So, your developers basically can call it. How did they do that?

- And that’s right. And in the case of T-Mobile, there are a lot of options out there, but they went with Azure API Management. And what’s great is if I come up here and click Publish on my solution inside of Visual Studio, I’ll get a very easy to use experience to get it published directly to Azure API Management. And once I do that, I can invoke it from inside of the Azure Portal. So just by clicking Publish, this API for Visual Studio will show up in Azure. Now, switching over to the Azure Portal, we can see here is that the API I was looking at inside of Visual Studio, I have a great experience with Azure API Management. If I click through into the API, I could then start to see all the different APIs, T-Mobile registered to look at, to use, or to tweak as needed. And if we look right here, we can see the GTM entries API. That’s the same API that I actually want to have show up inside of Power Apps. I can do things like clone or edit or delete these APIs. And if I want, I can go to the high level API and actually export it, with a single click, to Power Apps and Power Automate. And what’s great is you can actually see, although I’m inside the Azure Portal, is looking up all of my Power Apps environments. So you don’t have to copy paste a manifest, XML or JSON. It just shows up naturally right inside of Power Apps. So once I’ve done this, I can then switch back to the Power App Studio that has the same API showing up right here. It’s that easy to go from .net code in Visual Studio to an API registered inside of Power Apps. It’s that seamless, all wired up naturally now out of the box. And one more great piece of news is that Azure API Management custom connectors are now free for apps users inside of Microsoft Teams.

- That is great news. And I have to say it was easier than I thought it would be in terms of building and hosting all of that. And now the nice thing is developers can leverage the same data and services, so that their information’s more consistent. It’s gonna save everyone, whether you’re a pro dev or a low-code dev, a lot of time.

- Exactly, we wanna make it super easy to get started. And there’s always more power available to you when you need it. So that if you wanna go extend and enrich the front end to build custom controls, you can do that. If you wanna go extend and enrich the backend, you can do that with custom connectors. That will you never run out of gas, never run out of power when it comes to Power Apps. That way, if you’re a low-code developer or a pro developer, you always have what you need to go build powerful applications.

- Good stuff, so we started out with super simple apps that really anyone can build to more advanced scenarios for pro developers. But if we’re new to Power Apps, what’s the best place to get started?

- To get started, you’ll find everything you need at, takes seconds to sign up, and you’ll have your first app in just a couple hours. Go give it a try, go get started.

- So thanks so much, Charles. I gotta say that one of the best parts of the show for me at least, was watching how anybody can build an app directly from within Teams. So if you’re a Teams user, take a moment and try it out. That’s all the time we have for today’s show. Hopefully we answered all the questions that you have on this topic. Of course, to stay up to date with all the latest techniques at Microsoft, be sure to subscribe to Microsoft Mechanics, and thanks for watching.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store