In this video, the host Jeremy Chapman is joined by Charles Lamanna, the Corporate Vice President at Microsoft Low Code Platform, tells us how anyone can now build an app directly from within Microsoft Teams using Power Apps.
And also, for pro developers Charles will show how T-Mobile built their mission critical apps using Power Apps with custom code, Azure APIs and connectors.
Build Power Apps in Teams
From 01:28, Charles shows us how to build an app using Power Apps. He opens Power Apps inside the Microsoft Teams. He then clicks on ‘create an app’ and selects the team where he wants to install the app that he’s building. By doing that he gets started in Power Apps studio.
He is going to create an inspection checklist app where we can store data from the store about the different inspections that are happening. The checklist here will essentially be a table so he first creates a table that describes the different inspection steps. A new table appears right within Teams and he adds new columns like inspection name, inspection date, inspection location, inspection lookup etc.
We can also select data types for each column as we want. It all exactly looks like lists in Microsoft Excel. We can also define an entire schema for all the inspection details that we need, right inside the Power App studio in Microsoft Teams.
From 03:58, Charles fills out a few different rows of the newly made columns. He puts entries in the inspection date, name, location, whether it’s clean or stocked and where the inspection is happening. We can also see here that the table was automatically populated with rich controls to do lookups in the inspection location table or to go do the yes/no values on whether it is clean or stocked.
At 04:45, he starts to add normal controls in the studio window. First, he adds a vertical gallery which is a list of items. He then binds that to the inspection table that he just created. Then he adds an edit form and combines this to the same inspections table and all those different fields start to show up just like they would on the gallery. We can even choose the fields that appear. Power Apps also provides other basic fields. This can help store our data using Power Apps.
At 06:15, Charles also drops an ‘add’ button in case we want to create new inspection records. He also drops a label element to go create a quick label on the top which says ‘mechanic demo for inspection’.
At 06:40, he saves, updates and publishes the application to Microsoft Teams. Now we can be able to take this application and distribute to the rest of the team that we work with to do inspections right inside the Microsoft Teams.
From 07:30, Charles talks about behind-the-scenes integration of this Power App studio, which has been given the code name ‘Project Oakdale’. It is a built-in low code data platform for Teams. For example, when we created that table, Oakdale was providing a heterogenous storage behind the scenes.
It is provisioning the right data store to capture the right data whether that’s Azure SQL Database, or a structured data or Azure Blob Storage or Cosmos DB. Oakdale also does so much more. Behind the scenes, it has and entire security layer for authentication with identity and access management. All of this power is available to us behind a super simple UI in Microsoft Teams with our Teams License.
From 08:55, Charles also shows us how Power Platform solution templates work for common apps that we can also use in the context of Teams. In this explanation, he gives the example of T-Mobile that how they used the inspection app template to really get started for a great inspection experience.
At 10:08, the host Jeremy Chapman reflects on the thought that what happens if in the case where maybe our app gets really popular and we might close to reaching the two gigabytes size limit provided by the Teams. What do we there?
From 10:30, Charles gives the answer to this problem by saying that although Project Oakdale works with tons of different use cases, we always can give you more power when you need it. So, if we want more capacities, more capabilities or more control, we can easily promote Oakdale to the Common Data Service.
This Common Data Service is over four terabytes of data storage and a broader foundation for data integration that includes pro Dev support with API and SDK access. We can also connect to the Common Data Service with API or T-SQL endpoints along with even more connectors to our apps Webhooks support, Azure, Event Hub and Service Bus.
At 11:40, Charles shows an example where this all is done efficiently. While still a low code platform with CDS, professional developers can step into a really enhance and collaborate on the application of providing connectors to their own internal data sources and backend micro services.
He shows the example of ORBIT app that is built by T-Mobile which uses all the great capabilities of CDS behind the scenes. He starts by looking at the end-user experience what the app looks like. This ORBIT app makes it just so that T-Mobile was able to go manage and track campaigns across 29 different business units within the company and it uses Power Apps and CDS.
Here, we can very easily create a new campaign and by switching to the list view, it will show us all the active projects across the entire company. We can very easily go drill into any project around a vice promotion that allows us to go see all the different information about the project and what it means. Things like discounts and potential partners and wireless advocates.
We can go through an entire business process looking at the details and know who is working on it, what brand is going to be used and who the sponsor is.
There is also an entire approval process built in there. So, we can make sure all the right departments and business units are signing off. It was all built using Power Apps and the Common Data Service.
At 13:25, Charles shows us the Power App studio experience for this app. On the left-hand side in the studio, there are all the data sources. It uses dozens of data sources to get the job done. He picks a data source which is CDS-GtmEntries which is a custom connector built by the T-Mobile on top of APIs the developers already built. This allows them to go extend and get more information about go-to-market entries from inside the Power App studio using all the low-code they already used somewhere.
Build Connectors and APIs
From 14:17, Charles shows us how the professional developers in their team were able to build these connectors and APIs. He switches to Visual Studio and shows the GTM entries API using .net authored by T-Mobile. He tells us that they will need a way to host that API and their developers can call it by Azure API Management. Just by publishing this API, it will show up in Azure.
He then switches to the Azure portal and shows all the APIs registered to T-Mobile to look at or to use as needed. In there, we can also see the GTM entries API which we wanted to show up in Power Apps. We can edit, clone or delete these APIs and even export them to Power Apps and Power Automate. This API will then be right there in the Power Apps.
From 16:30, Charles also adds that if we want to extend and enrich the front end to build custom controls or enrich the back end with using custom connectors. In Power Apps, we are never short of anything whether we are a low-code or a pro developers. We always have what we need to build powerful applications.
How to Get Started
From 17:05, Charles guides us that how can we get started if we are new to Power Apps. We only have to go to the poweplatform.microsoft.com, signup there and we will have our first app built and running in just a couple of hours.