- 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 powerplatform.microsoft.com,
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. (upbeat music)