0 to Pro for Power Platform in Teams [Live Event]

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
foreign [Music] the day with uh Nate hey Nate welcome uh Nick will be helping me with the questions in the back area here uh so if you have any questions as you ask them you see uh Nate responding I think what what is your handle on on YouTube power to the people is how you'll know I'm responding to your question all right sounds good thank you Nate for joining us today and thank you for joining us today also so first of all I have a quick uh introduction slide here for us and then we'll jump right into it we have a very Hands-On session today luckily because this is on YouTube of course it is being recorded and you will be able to also pause me I speak fast so you can pause me at any time and get your systems caught up in my systems and play it back whenever you wish so my name is Brian Knight I'm the powerapps and VP out of Jacksonville Florida here uh Northeast Florida and uh I bet this means I do a lot of videos and books and content around powerapps I'm also the founder of pragmatic works we focus on training around the Power Platform and we focus on training around Azure and the rest of the SQL server side as well I've authored 18 books on the topic around data warehousing and power bi and all of that I usually can sell those outside the abandoned Blockbuster videos on weekends I sell them next to the guy who sells the pit bulls you'll see me there this weekend in case you're curious and then lastly I blog at pragmaticworks.com uh Nate will be taking your questions today and and ones that are are especially cool he'll be adding those to my queue today where I can answer those uh in you know and write in slot line here today as well a few things to note first of all um there is a some notes I'll be using today and Nate would you mind putting us in the chat window also uh some notes I'll be using today uh you see on the screen right now uh this is just some little crib notes it's the way of me passing code to you there's also a whole lab manual you can get as well that's in the comments are the uh description of this video uh that could be used later but it's a little guide you can use to kind of learn more about the Power Platform inside of teams but this link that you see right below me oh right oh there we go somewhere over there uh that that link right there will basically get you a my little crib notes that I have on my side and you can kind of use to kind of uh save you some time typing in some code later also so let's begin all right I'm gonna go that route instead I think it's a little cleaner okay so why would we use the Power Platform inside of teams well first of all what is it well the Power Platform has uh four major components inside of teams the first one of course is powerapps that's what we're going to start with today the powerapps platform allows you to build the same type of canvas applications you do in main powerapps but you can essentially do it for free inside of power Power Platform inside of teams there is a a two gig version of dataverse inside of each team that you may decide to use so inside of each team you can have two gigs of data and up to a million records in a table so that combination gives you a free version of dataverse that you can use so we'll talk about why that might be important later so on the power app side you can build beautiful applications and host them right inside of powerapps on the power automation side all of this comes in included in your team's license today so if you are already a team's shop you get all of this included in that license on the power automate side for this one you can do your approvals you can do your automations and all of that included in there you can also host virtual agents these virtual agents allow you to host things like that to ask questions like how do I reset my password and the things that you might need internally now keep in mind typically virtual agents cost a lot of money but now you can host it inside of teams as long as you're using the basic features of it uh you can use it you can also expand it and get upgraded to other features but this is all included in your license too and then lastly power bi you can host power bi reports right inside teams also so that's the what now there's a number of ways you can install like solutions that are ready made for your for your company you can make ready-made Solutions or you can find great templates that are available to you as well so if you want to do things like inspections or process improvements or those types of things those are all included as ready-made Solutions with one click or you can build something for the organization they can install in one click and then allow them to basically install your bits of code into their teams so build it one time and use it many times to go through the process of actually administering this this is typically turned on by default but there is a URL that you might want to have your administrators go to you'll see it right below me now this URL walks you through the process of turning it on if it's off again it's on by default so somebody had to proactively go out there and remove it but when you go to this URL you can create different sets of policies saying who can go through and actually uh use the team's applications and who can not build teams applications and Power Platform so you get the luxury of doing that again that URL is right below me it's in the admin Center for teams and all it looks like it looks like what we're seeing not there I may have closed it now that's okay uh but you'll see that in the sphere it is right there so once I go to my team site here you can see again the URLs right below me I can create I have a global policy which in my case allows all applicants locations but I can also block or allow certain applications also there as well you can get very very granular with that policy but from an I.T Administration side you do have the government to say who can use this and who cannot use it and it looks like uh this right there sorry about that I forgot to show that here we go so we can see that in this case that I can go ahead and allow all applications by default and then turn it off if I wanted to as well so either way we have that luxury there and you can go back and create up multiple policies and assign different members to each policy so you might have a list of teachers for example that you want to be able to create apps and the students you don't want to create the apps all you'd have to do there is create multiple policies one for each to basically comply with that all right let me go and close that and close that there we go now applied here what is included and what is not included I mentioned before that when you do dataverse inside of this each team that you install dataverse into gets up to a million records in a table and at the two gigs of data that's the first volume metric piece for you now it's not like it's a hard stop if you if you go over that they're not going to stop you hard out of the box there but you can go through and and upgrade that in any point in time so what does this give us well first of all it gives us all the chat Bots and the automations and the apps all built into that we can embed those right in the teams the pro and con is now if your your users are very you know adamant team users these apps are all hosted in teams so you will no longer have to use the power apps application you'll use a teams application to access those applications or and flows and the such additionally at one point you cannot say hey I don't want to see this in teams I want to go ahead and put and see this on a website also you can do that once you open up the app also but at any point we can upgrade this to full-blown teams a full-blown dataverse if we so chose also so you can start small and always upgrade with one click there as well so also if you decide if you're using the powerapps and teams for example or power automating teams it is included in your team's license until you use a premium connector typically though dataverse is considered a premium connector but in teams as long as you're using the teams dataverse it's included in that license that you have there as well so that's the the pro and the con there whenever you're ready though you can upgrade that to full-blown dataverse and I'll show you where that's at in a moment here also the last thing to keep in mind is they've kind of simplified data versus part of this also what I mean by that well what I mean by that is is there is not the same types of tables you get with full-blown dataverse you're not going to get for example the contacts table and the account table to hold companies you're going to have to engineer that yourself the security has been simplified also so the security is one click to secure your table to where people can only see their own data now in full-bone dataverse you get a lot more flexibility there you can say hey uh Nate you can see your own data um Brian you can see anyone in your business units data and hierarchically data you can see security there as well so where I can see any data for any Department underneath me so there's lots of different flexibility points with full-blown dataverse you also get model driven apps in full-blown dataverse and right now those are not in teams at the time of this recording at least right now it's a live event so uh right now as of October it's only canvas applications so that's a few of the pieces around that but again if you want to use SQL server or Oracle at that point it does require a premium license at that point all right so the last piece to kind of mention kind of uh as we're thinking about this is if you're looking at comparing this to SharePoint applications which would make sense here well if you're looking at at building an app in SharePoint and let's imagine I have an app out there for a salary increase you know I want to go ahead and allow people to request uh that one of their employees is going to get a 10 5 whatever that increase might be I go to that app I fill it in and it saves that record to SharePoint waiting for an approval in this example because I have access to the power app I also have to have access to the to the SharePoint list as well and if I have access that SharePoint list by Theory I can go and approve my own request not only that I can see everybody else's sell request by default also this is where teams shines team is going to be more performant it's going to have less things like called delegation errors we're not going to we'll talk about that moment here it will perform better than SharePoint SharePoint usually tops out about 20 000 rows yes you can fit 30 million rows in the SharePoint list but 20 000 more the list where things become more tight and rigid it also is going to be more secure where I can make sure that Nate can only see his own record and his own salary request those are two big reasons that if I'm looking at a SharePoint app I typically look at teams instead we could split the difference we could say I'm going to store my files inside of SharePoint and my low priority data and SharePoint and but my high priority data in teams also so you can kind of have your cake into two there also so what is our agenda for today a little bit late here on this but our agenda for now is we're going to do a little mini hackathon again because we're on YouTube you can play along with me pause me and kind of play me we're going to build an application that is for contract uh request so I want to onboard a new vendor and request a that a contract be approved by procurement so that's my goal and that's a really small scope of course normally would have a lot larger scope with this type of application but we're building this to to last us a three hour session today so we have a nice longer session and we will do a break about an hour and a half in so right around uh 12 30 or so East Coast time we'll take a quick uh 10 minute break just to kind of get your legs stretched reset your your energy level and then we'll be we'll begin again right after that actually 15 minutes excuse me all right so from this point forward it's all demos so go ahead and get your your sleeves rolled up and let's play together now again just to make sure I if in case you're joining me late the uh URL for my demos is right below me well right there excuse me oh there we go right there you can find my art my My Demo script right there it's very it's only a one pager but I wanted to find a way to kind of get some code over to you uh without having to put in the chat window and do that you can also type the code if you're feeling especially adventurous and I believe Nate's going to put that URL in the chat window for you guys also all right so let's begin let me go ahead and get rid of that all right there we go and uh let's let me first of all show you where you can find out uh how much team space you have available to you so to start with we're going to go ahead and do two things we're going to create our team if you if you have access to it of course we're then going to go ahead and build our dataverse on that team and then we're going to go go away for a few minutes and and see in the admin Center what's happening okay then we'll come back and actually create our first tables and our application on top of that if you've never done powerapps before no worries I'm going to walk you from the ground up today on that canvas applications this is really a a one or a 200 level session not a super Advanced session okay so let's try this first of all so I'm going to go ahead and I have a I don't have a team ready for this I'm going to create one from scratch if you have one already ready absolutely just feel free to use that use your your regular personal team site or whatever you want but I'm going to go ahead and go to the left side I'm going to hit create I'm going to go to teams right here and then once I go to teams I'll click on this create a team at the bottom if you don't see that link at the bottom it's because you don't have permissions to create teams and that's absolutely fine also you can go ahead and create uh your your dataverse on an existing team if you'd like instead but I'm going to create a brand new team just for me to play with today I'll go ahead and keep this as a regular team so I'll hit this create a team I'm gonna do it from scratch again your screens might look a little different based on if you're an educator or if you're working a college or manufacturing they might have different templates available for you but I'm going to do it from a scratch here and then I'll do private because it's just me playing along right now and I'll call this just YouTube webinar uh you know learn with the Nerds you call it whatever you want doesn't matter and then I'll hit create this will take about 30 seconds to create it's also going to ask me what members should be part of the team right here I'm going to skip that for the time being to make it where um uh where only certain people need to do it in this case now as I mentioned before we have a question that again we had a question earlier as we're doing this this uh dude gaming asked a question can I connect SQL Server data source of powerapps for teams and you can absolutely do that you can use all the connectors that you use in regular power apps inside of teams but a word of warning here uh once you do that you are in premium land so you are considered a a premium license there instead of the the free license of powers all right my my team has now been created my next step is I need to find out where this is at so if I hit that little dot dot dot right here okay somebody say that the URL did not work Nate would you mind testing that URL there please let me test it real quick I I I when I'm cutting out learn teams PP uh it is it is case sensitive by the way so make sure you do all lower case on that URL as well so I'm saying to people having issues but make sure you uh copy into a new tab and keep it all lower case okay so all right so now that we have that uh I'm gonna go to the left side and I'm going to search for powerapps so look at the left side here and go to that little dot dot dot I already have mine pinned but in my case I'm going to hit the little dot dot dot and search for powerapps there it is once you find it click on it now again your it Administration staff might have disabled this using those instructions I did earlier and if not no worries just kind of hang out with us and watch and watch us go to town here I'm going to select that power apps and that's going to add the little little icon that you see right here a few words of warning from from personal experience I've been doing this since the early days of this which has been out about two years now one of the gotchas is if you're in the middle of building an app and you get a chat in your instinct is to click on that chat right and start going to that chat now if you do that what's going to happen is it will leave your app builder and eventually it'll time you out and you're going to lose your work that you've been working so hard to build so one word of warning that one thing that I always do is first of all where'd my screen go there it is my mouse here it is that's weird my mouse just went away I can right click and say pop out application so that way if a chat comes in uh it would not it would not use that additionally we can also go through and we can uh pin it so it's always there as well so those are two things that I typically do there as part of that it's weird my mouse just went away all right so anyways I'll diesel imagination here uh now that we've got that ready we're going to hit the start now button you see right here the start now button is going to install dataverse inside of the team that I just created so I'll hit start now there we go I'm going to search for that YouTube one that I just created there we go I think it's called this one right here and I'll hit create now this process might take a good five to ten minutes to do its thing we're going to do some shortcuts here hopefully we also have almost 2 500 people register for this webinar right now so we might see this take a little bit longer because Microsoft's not it may not be used to you know two or three thousand people hitting that button all at the same time I just got a note of saying a successful though and then once it finishes this it's going to install dataverse and then open up the designer to build our first application there we go so starting to build that now now while it's doing its thing here I'm going to go back out and let me find my mouse here it's really hard to find a mouse but I can't see it here I think it's my zooming tool here it's messing me up all right let me just find a browser here okay what I was hoping to do is I can't see my script my my mouth so let me just go ahead and go up here now I can see it all right I'm gonna drag that down so close all right I did you expect for all the worst stuff to happen but you don't expect to lose your mouse that's a biggie and I get it when I go back up there this is a nature of a live event right there we go and there's a 100 ways it's in this cat there we go uh you guys can see my mouse but I can't even see it that's interesting all right so so I'm gonna go to make.power apps and I just want to show you what's happening while it builds this app out if I were to hit the gearbox in the top right and then go to admin Center and you don't have to do this just kind of watch this for a second here this opens up the admin Center for Microsoft and what's happening now under environments is it is basically created this webinar environment that I just created as a Microsoft team at any point is that Microsoft team environment but at any point I can select the three dot here and I can upgrade it to full-blown dataverse if I want additionally if I'm looking up top here I can go on the left side go to resources and capacity and then go to Microsoft teams up top and I can see all the teams that are using dataverse at the very bottom even if I'm not an admin I can see how much dataverse space I have now we're a smaller company you know got 30 employees or so but some in some companies I've looked at one last week they had nine terabytes of dataverse space available to them so you'll see there's a lot of options you have here but if I go ahead and zoom out there there we go so this will show you how you can kind of see how much capacity you have for this in my case I can have one more team available one at one more available to actually do this with and I have uh roughly 20 gigs of space all right so let me go back over to my um my area that was in the four teams there we go now that was a stall technique and it was a stall technique because I knew this was going to spin and spin and spin I tested this numerous times last night and all I got was a stinking spinner right here you might be seeing um seeing an actual app come up the main powerapps designer what I found I had to do uh and this is this is for some reason it's a new Enviro there it goes actually working what I have to do is wait for long enough I guess but eventually it comes open and if you're patient enough and it will it will ask me what I want to name this application if I did not come up an alternative is hit that build button up top that you're seeing right there and then hit new app that way but I'm going to stop there and just use the way it was intended here all right so we're going to go ahead and build the application so I'm going to give it a better name right now it's just called app so I'll call this just contracts contract management app or something like that you call it whatever you want this is just a throwaway application today and then hit the save button after that this will take about 10 seconds to build the application for you and as it does it there we go as it does it it's basically creating this new app in the dataverse now we're going to show you two ways of building this application today one way is going to be with let me actually see real quickly here uh one way is with data and the other way is going to be the old traditional way that we build applications uh with canvas apps so let's start with the first way I want a way of of adding new vendors into my system so we have two tables we're going to create one for vendors and one for contracts the vendor one very simple just show me the vendor's name so not much to it at all the second one though will be the contracts for those vendors so a really simple application here two tables only all right so for your first table if I look down here once the app comes open again feel free to pause me if yours is still spinning okay it's completely normal it sometimes takes a lot of tip for it to create a thing here okay all right in my case I'm going to go ahead and hit with data and it's asking what table do I want to communicate with now this would be for screen one this this screen is truly going to be a throwaway screen but I want to show you how fast you can build a power app inside of teams so as I look at this I'm going to create a brand new table and this is where my notes come handy my brand new table is going to be called vendor and I'll hit create okay once it does that let me go ahead and really quickly here it's going to create that table and as you can see it's asked me to go ahead and create some data I can go through now and and select these columns and edit the columns and add more columns just like you can in regular dataverse keep in mind dataverse is basically a SQL Server database behind the scenes all right and I'll go ahead and create a few vendors I'll call this Nate's crappy car Inc here we go one vendor and then I'll have Brian's luxury cars here we go okay good enough and we can keep on going creating vendor two and vendor 3 and so on and so on now this table that we're seeing right here of data is that they diverse table it's a SQL Server table behind the scenes called vendor and we can migrate that from from environment to environment or we can migrate this from Team to team if we wanted to as well now if you've got a question here we got from uh from Felix here is uh sorry Phoenix uh on teams it says it is locked out and may need approval request approval yes so that is because your it team has ultimately locked you out of of creating a new team or creating a new power app in teams you have to seek approval for that um it's it's generally on by default but if you work at a larger company they may have turned that off in this case so once you have a few records created we're not going to add any more columns but once you have those few records created hit that close button in the bottom left and what's going to happen now is it's going to create the application for you to build all that out okay so give it a few seconds there and let's build a okay looking application it's it's not the best looking but we can make it look a little prettier now all right so as we do this we can see our application has a number of it's all containerized meaning that it's already it's already uh friendly for being responsive in other words if I were to play this application by hitting that play button right here we can see that it basically goes through and it's responsive it it comes it shrinks or expands based on how much of a resolution on my screen looks so pretty handy all right so let me go ahead and say no to that next now that we've got that our next step is we want to kind of clean this up just a little bit so for example on the left side here we have something called a gallery a gallery is a way you're going to show data in a canvas applications so we'll go ahead and clean this up in just a moment and we're also going to put a little header bar up top clean that up and then we're going to build one from scratch next this is an equivalent of building an application from a wizard here though so pretty handy now let's kind of give you a quick rundown of the environment on the left side is your tree View and this tree view shows you all the components that are in your application so notice it is creating everything with containers these containers make it where if I select it it builds a big box around it these containers allow you to go through and make it responsive where it shrinks or expands based on your resolution additionally that's a tree view the next option down is a plus button this plus button shows you all the components that are available to you next item down is the data this data shows me it allows me to create new tables allows me to link out the SharePoint for example or Office 365 or SQL server or wherever you wish to go that's the add data option next option down is a list of all the uploads I can upload my logo uh upload any kind of sounds or videos or those kind of things power automate is right here where I can add new flows and I can reference those flows inside this area and then lastly there's an edit replace where I can find certain pieces and change their name or I want to change all the fonts from A to B I can do that in my edit replace okay so question we got what is the maximum number of dataverse for teams environments it really depends right so look in your resource and capacity area I showed you before it's a question from Don and you'll see it'll show you how much capacity you have at your company for me is 20 but I had one the other day that had forty thousand uh teams available with uh with power apps for teams so it really depends on on the company and how much space you have all right that's the left area so I'm going to go to the left side I typically keep this tree view opened all the time next you'll see a few areas up top I have the same areas you saw on the side up top as well and this is all contextual based on what I've selected so now I'm seeing my background color now I've seen my Fields so it's all based on what I select this is my app in the middle that it's basically chosen right here on the right side is the same thing so for the screen screen one here is my properties for screen one for this icon here are my properties for this icon and so on and so on and so on a few things to note here just because you know power apps this is using a slightly new uh information not new um uh controls that are different than what you may be used to at make.powerapps.com so for example one of the controls like the text label you're seeing right here I use this all the times text label and I would say hey I want to turn my fill color on notice as you you scroll up uh this one does have a fill color however if I were to insert a new label right here just a random label don't do this you'll notice that the fill color is not here so things like that are in these new modern controls do not work I can always turn them on by going to settings and you'll be able to search under upcoming features for classic and it will show me I can get all the old controls back that way okay I had to kind of zoom in for some reason to close out all right now the last piece of kind of orientation that I want to show you here is once you select on the left side this Gallery right here for example and I want to change a property on the right side or up top here of this gallery a few things to note there's this drop down box here right here showing us every component that we are every little object that we can change in this Gallery this is all the properties for the gallery right now for example you'll see how the items property selected show me what items are going to be shown in this Gallery a gallery is a way of showing rows of data all right so this is called the property drop down box when I refer to this later today hopefully we're on the same page you'll know what I mean when I say property drop down box that means go top left look for that and you'll change the code right here the other little piece of orientation is if I click on an item in my code you'll get a little down arrow it will show you what's inside of here and there's my three companies right there I can see as well so we can see the impact of code as I type it against this vendor table uh by hitting the down arrow and selecting certain things in there all right now additionally by the way you'll notice that when I select my gallery there's a few rules of galleries so remember the number they fight club the first rule of Fight Club is nobody talks about Fight Club well in in gallery Club nobody talks about Gallery Club because it's just boring but I'm gonna do it right now so the first rule of gallery Club is if you select the first record and move it around every record underneath it will move that's your template the second rule is if I select the second third fourth whatever row after that it picks the entire gallery so if you want to change the properties of a given cell like this one right here I make sure you select your first record only so watch this I'm going to go grab this and I'm going to add an icon there we go I'll pick any icon here notice that it added it outside the gallery so this is one of the gotchas you want to drag that that's a little different than what you're used to you got to drag that icon into the first record otherwise it will not work something it's good to search for I'll just grab a button for example and drag it right in that first record then it adds it for every record underneath it and I can move it around however I wish but if I drag it into the gallery like this button again just drag it down to the gallery it just shows one time that's one of the little rules that you got to keep in mind here the other thing to keep in mind is by select the entire gallery I don't really care about an image of Nate's crappy cars I would select my entire gallery and on the right side there is a layout over here this layout allows me to configure how do I want this this laid out and if I just change the title instead of title image and all that it will just show me the names of the companies right there so pretty snazzy lastly we can go ahead and select some of these areas like these two right here and I can go in and actually make a background color up top I could put different themes on it if I wanted to so I can go ahead and strike a theme of some sort some of these are better than others okay we can also go through and let me find a little darker theme Here I like that all right let's go with that one that's fine we can also go through and for that little cell up top here we can go through and set up the color for it so what I typically do is I'll look at the container go to the right side and you'll see a color on the right side or you can pick whatever color you wish all right the only bad thing about the color is my my icons got kind of washed out so I can go to my right side select my four icons one two three four I can multi-select them by holding down the shift key and selecting all those icons and then set the color for those to be like a white or something that makes a little more sense and now you should be able to see all the icons all right we can spend a lot of time building this out and printing this up and and making it look a little bit nicer but I think this is good enough for now again I'm going to hit the play button you'll see it's a pretty functional application where I can go through and create new records I can go into uh Nate right here we go I can go to Nate and call I say oh I forgot to make it uh hit the little pencil icon to edit Nate there we go and I can call this you know whatever I want and then as I hit the little check box we'll see Nate's record is now Nate's crappy ink uh crappy Cars Inc whatever I want we can also go through and select certain vendors and also delete them the same way so all this app is very very functional so it's going to give me a little confirmation are you sure you want to delete yes I am and the record is now gone from the database okay so this is screen one very very basic was created from a wizard now we're ready to actually get a little deeper into screen two now let me go ahead and do one quick thing let's think in a mouse facts unfortunately you guys can see it but I cannot I'm going to close Zoom it and see if that wakes it up it does not no worries all right I'll put Zuma back on again there we go all right so I apologize guys I'm having to zoom in so much I unfortunately you guys can see the mouse but I cannot so now that we've got our our basic application done let's create our second screen and our second screen is going to be a lot more robust and it will control the whole user experience but before we do anything at all make sure that you save the application up in the top right you'll see there's two icons in the top right one is for saving and one is for publishing there are different operations every time you save your users cannot see the application until you publish that application the changes that you may have made so you could be working on version 20 of the app and your users are still seeing version one of the app and then once you're ready you hit the publish button and then that will push that into teams so they can see it right inside teams we'll show the publish a little bit later but the time being just hit that save button up in the top right okay awesome now that we've got that let's create our second screen to do the second screen on the left side in the tree view so make sure you go to your tree View and on the left side you'll hit new screen I'm going to make this instead of a pre-laid out one that we have right now I'll make this a blank screen and we're going to create this a little bit more difficult way so you'll see I'm working on screen three I'm not sure why it's screen three but whatever uh so and I could now when I hit play whatever screen is on top is the one that's going to be opened up by default at least so I could move up screen three up top or whatever your whatever your name is the second screen up top and now this is the screen that your users will be dumped in by default okay all right so let's build this one from scratch so we're not going to use the start start the screen section in the middle we're going to build it from the ground up this time now to start with we want our header bar up top okay now a few a great question here from Arthur here as well a few of you guys are getting a little bit sluggish experience inside of of teams uh now this isn't I I find this uh pretty frequently for the developer you as a developer Arthur might see a little slow down occasion they are working on that uh this is where I always make sure you save frequently and I also use the web experience teams.microsoft.com you should build my stuff and I have a little better experience with that sometimes however I have not seen the experience where your users are going to have issues just uh just you as a developer might have an issue with that okay so just a quick quick uh differentiator there on that so thanks for asking that question Arthur all right thanks Nate for highlighting that question here we go all right so now that we have our screen the first step we want to do is add our header bar now how you do this at make.powerapps.com might be a little different than how you do this in teams uh one of the best practices we don't have time for today is we could create a reusable component and this reusable component can be can we can create the perfect header for our organization and then use that over and over and over again the way we're building it today is going to be a one screen application technically two screens of the one we just built but typically though you would have a reusable header uh otherwise you're gonna if you want to make a change you have to go to every single screen to make that change or copy and paste back into it we're going to be a little bit lazy right now though and just do a a one-to-one ratio so to start with I'm going to go to my insert ribbon and and click on this rectangle right here so again it's on my insert and then rectangle I'm going to uh move that all the way over to create a nice header menu perfect looks pretty good and on notice there aren't themes yes but I want to have my own theme Here I want to create an experience where my users can't or I can control the theme because that teal color is not necessarily my company colors so I want to do this myself in this case so in your the document I sent you and you don't have to do this guys and gals uh but I'm going to create a set of three variables this is the first bit of coding you're going to learn today we're going to use a command called oh my mouse is back I'm not sure what happened it came back all of a sudden I can stop zooming in like crazy sorry about that guys all right so what we're going to do here is we're going to create three variables one for our primary color one for an accent color and then one for a background color so to do that I'm going to go click on this word app in the top left once you click on that word app look up top and look for the property called start uh called onstart now this is the way of doing it today they are going to make a better way of doing this in the future uh future is already a preview feature but we'll come back it's called named formulas but for the time being let's do it this way hey because I still preview as of right now all right I'm gonna paste in this code that I put into the word doc uh again that word doc can be found right here uh but make sure again it is case sensitive and you do not have to do this to be successful I'm just making this a little little bonus tip we can do here today all right so what does this code do well it's going to create three variables the set command creates a variable a global variable that can be seen on any number of screens uh the variable is called VAR Primary in my case I always prefix all my variables with VAR so I know it's a variable and then I have two ways of doing colors one is the rgba command the rgba command allows us to use a a red green blue and and so on there or I can use a hex code using Color value as I click on the word rgba we can see the color that's going to be implemented here as part of my header color and my accent color my background color so this kind of lets you see what you're building as you do it these two forward slashes are just comments and the semicolon you see after that is a the next command and the next command and the next command and so on and so on all right so if I want to use this now that color that is created I can select that rectangle that I added earlier and you'll notice that right now it has the word on select in the property drop down box instead of on select let's select the fill color instead and that fill color right now is that kind of teal-ish blue color or gray color right there instead I'm going to type in VAR primary and I'm intentionally making a bug right now so I put in VAR primary well as we can see right now it's black so it's not necessarily working we should see that bright blue color when we do this well I did this intentionally to kind of illustrate here that this app we put this code on onstart and that code only fires off when the app starts or we can initiate that and kick it off manually by selecting this little dot dot dot next to OnStar next to app and select OnStar so by doing it by selecting app hit the dot dot dot and then on start it is going to run this app and there we go now we get our blue color now there are other other properties you'd want to set like the hoverfill and those kind of things for that just to kind of show you briefly that on this I hit the drop down box look for my hover fill property and notice it's set to a different color what I would typically recommend is just say hey just use whatever the color is of the rectangle so if I type in self dot it's going to look at the rectangle and take its property called fill color so whatever the fill property is it's going to set it to the hoverfill property also so now when I hover over it nothing happens that's what I want to see okay again every so often save it by hitting the button up top or hitting Ctrl s to make sure it's all saved so so far so good we're rocking and rolling now now I'm going to go ahead and select my screen and then for my screen I'm going to change its fill color to VAR background all right now we're coming along we got kind of a Bluey gray color for our background and I typically when you're building applications you are you're not going to want to use that that that cut uh background images ideally use really light colors and then have Stark differences on the front of it like a white background for a form or a white background for uh our dark background whatever do some kind of major difference so it guides the user's eyes where you want them to go and that's what we're going to do today so our goal now is we're going to build a way of of showing the users their form of data and we're going to also show the users um their the gallery of all the contracts that are ready for approval also so that's our next our next piece here but to start with though okay um okay so question here from DLP okay I don't see the tree view icon at all how can I see the tree view icon so uh what you can do if you're not seeing that and I can't see your screen right now in Fortune DLP but you could hit that little icon up top and it should hopefully show you the names of it if you don't see the tree view I I can't imagine it's got to be a bug so at that point I can't imagine that being anything you've done in this case or no permission problem so it's got to be a bug of some sort or or whatnot but it looks like he did get it he got oh he found it awesome awesome thank you so hide that all right so now we're ready to create our our finisher header now so let's go to the insert ribbon again and let's drag a label right where that box is right there okay and I'm going to move that label make it as as wide as you want make it as big I'll go to 26 fonder uh make it nice and bold on the right side so again I'm making a bold I'm making it big and I'm also going to make it uh I'll change the color down here to White those are the three things I'm going to do right now so it kind of stands out a little bit more against that side we can also put padding in there you'll see padding right here if you wish or if you're being lazy like me I can just bump it a little bit to the side there okay I'm also going to drop in a image so I'll search for image there it is and I'll drag that to the top right there also and I want this to be my image in this case so I want this to be the image you're seeing right here up top I want that to come down to here also so it feels more like that office type application all right that's my next goal here so I'll select that image and in the code up top here for that image make sure you have image selected I'm gonna use your second piece of code today and that is the user function you'll do a user open close parenthesis dot image all right notice it kind of guides you along the way here so I get the email address the image or whatever when I do that you see the picture matches and if you want that rounded Corner make sure it's first of all squared so make sure you're you're a width and height is roughly the same and if it is there's a property down here called border radius and if you want it to be a circle like you see up top right I could change at like 60 and then it rounds a corner beautifully there also the only thing wrong with that image is me all right cool all right there we go so get it somewhere like what you want you can also select that label and call the application whatever I want you know call it contract management system or whatever so call this whatever you want and your app header is now done again make sure you save every so often but I want to show you one of the flaws in our application now if I were to play this application the top right notice how much space it's it's not using right now so all this space right here is not being not being occupied in this case so it's a ways around that some ways we can kind of make this kind of really stretch you can press we can use containers we can also select our screen for example and go to something like the with property and we can say app.width for example so what you see app.whip here it will stretch that and compress it based on that and the same thing for our header up top we go app.width with that or alternatively if you want to be a little lazy for the purpose of this session and for other apps you build you can click on the settings button up top and when I go to the settings button up top I'll go to display and I'm going to hit scale to fit and I'm also going to I'm also going to hit lock aspect ratios so again I went to settings and I checked these two items right here now this is not going to use all the real estate but what it does give me the ability to do if I hit the play button is it kind of uses most of the real estate for me this is this this is is it normally turned on by default at make.powerapps.com and you don't have to worry about it but in teams you do have to worry about it because your teams are gonna are gonna eat up a lot of real estate and this will then compress based on the amount of real estate you're eating up all right again so make sure you save and we're now ready to go out there and create our table to our next piece now those two options we have to create tables we could go to our database icon on the left side and create the table from there that's option A option b which I'm going to show you now so do this with me make sure you're saved though guys before you do this so save your app in the top right and then I'm going to hit the build button up top this build button up top is going to let us have access to our solution to everything that's in the solution and when you click on build this is how you're typically going to enter this now that you've actually hit start now before this is how you're going to come in every subsequent time you're going to come in it's going to look like this don't you don't don't do this you'll see a list of all the pre-made applications you have and the last recent apps that you built and all that so next time you come in this powerapps button this is what it's going to look like I'm going to hit the build button which is what you just clicked on I'll choose my team in this case this is my my delete uh the team that I did right here there we go here it goes then I'm going to hit see all underneath that white box by doing see all it's going to take me into my environment and it's going to show me all the objects in this environment in this in this team in this case that previous area you saw a moment ago is also where you can load data from SharePoint from SQL Server from wherever into these tables if you wanted to as well so if you already have a list of vendors that you want to use there is something called Data flows that will allow you to load data into these tables from wherever your data source of choice might be so if you already have SharePoint you can use this to bring it in all right so you can see that I have one app and one table okay there's a name of my table right here that I will see in power bi for example or also in areas like power automate That's The Logical the The Logical name that you'll see there all right I'm going to create though a new table so again I'm in the build button just kind of real real quick recap this I want to build make sure I'm in the right team in the left side there's my data flows right there we're not going to cover those right now and I'll hit see all then I hit new and table and now we're going to create our second table this is more the the way you might be used to if you're already using dataverse today this is a solution and the solution you'll notice I can get to that solution at any point at make.powers by opening it in powerapps right there I'm not going to do that that's how I can do that I'm going to call this table contract you know this isn't that word doc that I sent you guys for the primary column I'll click on that and I don't want the contract name I'm going to use contract number so the primary column that you're seeing here is how you and I are going to communicate about a given record I go in with contract number instead of contract name this gives you the ability to uh to say I'm gonna have an auto number basically hey I'm calling about contract one two three for example so this contract number is an auto number eventually we have not set it up that way yet and will allow you to communicate allow the customer or the vendor to communicate about certain things so why would I do an auto number versus a name so because in this case my contract numbers so my con my contracts don't really have any kind of way that a customer would call me about something so this number is going to be this it is not guaranteed to be unique and it is also not your primary key if you have if you're a database person it is simply a way of better communication if I go back to properties you can see that I can also turn on things like auditing under Advanced ribbon here and you get other stuff like creating new activities and all that but we're going to leave this stuff alone and we'll hit the save button our second table is now created takes about 30 seconds to create that and it's going to route me into the solutions little dataverse area designer here okay so you'll see now that I'm in my contract table on the left side and my primary column is contract number and I'm seeing that right here so again I have not made that an auto number but I want to go through and make that an auto number and add my other columns to that well on the on the right side you'll see there's my columns and this is where we're starting to see the limitations of dataverse I don't have forms for example I don't have business rules I do have views and I do have relationships and those kind of things because a little bit pared down in this case but if I click on columns either right here or on the left side by going to contracts and columns either way you can also get there this way so one of those three ways either here here or in that overview tab so go to your columns and you're going to see all the plumbing of dataverse these are all the columns that Microsoft has created for you now one tip we can do there's a lot of columns that are part of Plumbing like who created the record when was it last modified all that stuff is all part of the plumbing of dataverse the other piece of the plumbing if I go back to tables here is you'll notice that if I go back to my contract table there is a don't don't do this guys but there's a manage permission button right here and if I click on that I can in one click make it where a a person can only see their own records so you can read your own records update your own records and create any new records by default so that's a really quick way of securing this table if you want again I'm not going to do that right now but just to give you a quick heads up that will automatically filter the data for your users but it only will filter it notice back here again it's only going to filter it if they're a member of the team and not an owner of a team owners have full access to all the data if our numbers only have partial access if you so chose okay so on the left side here all right so on the left side here I'll go back to my columns that's where I was before and you'll notice there's a lot of columns here my goodness a lot of columns a lot of Plumbing here and I technically only want to see my stuff here so one way you can kind of filter this down is I can hit the name drop down box here and filter it to only show the ones that begin with CR80 for example in my case in my case a CR80 in your case it will be something completely different so I'm going to select this filter it and just do a CR for example uh CR80 there's a creative buy also when I hit apply I'm only getting the two columns that I care about these two columns are my primary oops are my primary name column this is the one that I created and this column right here is my primary key for the table you can see it's a unique identifier and this is what makes each row guaranteed to be unique okay so to make contract number an auto number I can select this uh contract number then I can change it here where it says data type from a single line of text to an auto number and now we can see here that I have a number starting at 1000 and working its way up we can also by the way put some type of prefix on this to make it easier for my users to find their data I typically would put a prefix like a c for contracts and why would I do that well imagine your company your call Center for example has businesses calling in and individuals calling in well in this example if you have both calling in if I call about hey I'm calling about b1000 your call center will know is that business application versus an individual application so that's the reason why I typically will prefix these columns is because I want the the user when a call comes in to automatically know where to go okay so uh a question here from TD can and can members of the team access the dataverse tables directly in teams well they are allowed in this case to if they have access they can see their own records potentially and depending on how you configure it yes they could do that if you can figure it in such a way uh you can also prohibit them from doing that as well potentially okay all right so I'll hit the save button here so now that's now an auto number column automatically okay and there is a I'm going to create a new column now up top again I'm in the column section I'm going to hit new column and I'll create my next column as contract description again all of these columns are in the word doc that I provided you earlier this is a recap that word doc right there for you in case you're curious again pause me if you want to go to find it make sure it is case sensitive so go out there and find it that way if you want this will save you a little time of having to go and find out what columns I was referring to all right so single live text no I think I want multi-line this case so I hit the drop down box I can go to text and multi-line of text now rich rich text you see right here is going to save the data in HTML format allow you to bold and highlight certain things and change a font color to me I just want the the raw text to make it plain text for the purpose of this example but if you want some fancier stuff then that will work you can change it to Rich text if you wanted to also okay I'm going to save that contract description is now done our next column we're going to create about five columns in total here so our next column whoa there we go our next column is going to be called uh sponsor and this is the sponsor who actually is is is creating this contract what what an individual has signed up for this contract so this is going to be a single line of text it'll be the person's email address so for format this time I'm going to change that format to an email so that way it makes things a little bit easier to do okay so I'll save that record all right my next column all right this one will be called contract value and this will be a currency field this time okay a few things to note as you do this you'll see the actual schema name and The Logical name inside of here not logical name but schema name in here you could set the mins and the Maxes and those kind of things in here as well but again it's a contract value and currency everything is optional for our example today so we'll save all right our next column is the overall value how do you how do you rate this contract uh as far as the impact of the company perhaps so this one is going to be a whole number so look for a number there it is and whole number okay so overall value is a number and whole number and you can also change a format if you wanted to later but we'll keep that as is the time being almost done folks we'll hit new column again we'll call this one approval status this is where we're going to bring in power automate hopefully later to do this approval stat is going to be a drop down box a list of choices of approved rejected draft and so on so I'll make this one a choice and choice again it's a choice and choice now there's a whole slew when I do sync this Choice with it's a whole slew of choices that Microsoft has provided us in our case though we're going to create a new choice that will be controlled by us we can use this choice for any application inside of this dataverse environment here or in this case a team environment so I'll hit new choice and I'm going to call this approval status and always put the word choice when you do this it's going to help you find it easier later and it's going to make our canvas application easier later also so my first choice is we draft all right I'll call this uh in review all right next one is going to be called uh approved and reject it all right these values you see right here make this Choice unique on the left side once you're ready save it and when I say it's easier to find what I mean now is when I go to sync this Choice with I can type in the word choice and there's my approval status right there we can also color code these choices later if you wanted to as well and you can always come back and edit those later then change this this uh uh default choice to draft or submitted or whatever you want to do it and hit save all right cool almost done I have two more columns to create I'll put one here called approval comments so my director has reviewed this and what comments have they put I'll make that one a multi-liner also okay and save that and then my final column is what vendor is this proposal this this contract for so last column is a vendor and the data type this time is going to be a lookup right there and a lookup allows you to join two tables together in my case a table I'm going to join is the vendor table so you can type it but in this case what I changed I called it vendor made it look up and my related table was vendor all right hit the save button and your table is now complete and you now have relationships between these two tables so we're ready to go back to our application and then after after a little break we're also going to go and build a power automation as well so hopefully at this point now you have your table now done again all those columns are in that word doc for you now that we've done this though we're ready to go back to the word apps here and we're going to see the app that we created earlier there's my app right there if I click on that we're going to go back to our Editor to now edit this application all right give it a few seconds to open up it might take some time as you mentioned before it can be slow now notice it starts off on screen one and of course in a real app we would rename these objects as well to things that are more appropriate like scr welcome and scr or contracts or vendors or whatever all right so what this app is going to have it's going to be a two Zone application on the left side here we're going to have a gallery and this Gallery is going to show all contracts all right on the right side we're going to have a form right here where we're going to enter new contracts so this be a list of uh for contract entry here so this is what the app is going to look like ultimately that Gallery is one way we can show data but there are other ways as well I think it's usually the best way of doing it here so let's start with our form first since we have no data here let's start by adding our form so in the uh the insert ribbon up top you'll see an edit form go ahead and click on that edit form once you're ready and again just a word of warning save frequently because somebody some Joker at your company is going to send you a text message or I am and you're going to leave and you're like ah so make sure you save very very frequently here I can just get in the habit of hitting control s every so often all right so for this form the reason why we have that background color is now on the form I can change my color on the right side to White and it kind of stands out now doesn't it it guides your eyes where you want them to go next for your data source up here on the top right change that data source go to tables and there's my contract table if you can't find it search for it up top and when you click on contracts there we go it's going to try to add the columns that it thinks that we want all right there we go oh it it's my mouse disappeared again all right so it's going to try to add the contracts that it thinks we want now at this point so you'll see things like approval status and all these kind of columns here however we want to also see uh the vendor notice vendor is not here so the columns it does not add are the The Columns like that are lookup columns so to do that I'm going to go to the right side select my entire form so make sure the tire form is selected and then go to edit fields when I do that I'm going to add a new field and I'll call this one uh was it vendor right there it is there's my vendor column right there let me tell me do that one more time here so again I'm going to select my entire form and I need to add that lookup column that we created earlier so I'm going to hit edit fields hit add field and find my vendor column somewhere right there go ahead and select it and then hit the add button the contract number on the other hand well that's a really a read-only column so I could select that and remove the contract number because I don't want people to feel like they should be adding data into that column you can also go through though and move these fields however you wish so if you want vendor up top drag and drop it make this your own application this contract value knows it recognizes it's a uh uh a currency field the overall value column though I'm going to change this from edit number to edit rating now the number one mistake I see people made because they do view rating make sure you do edit rating the reason why I'm doing that is you may not know hey is overall value is a number from one to five how would you know that what if you what's to stop even putting 12 there are two there by putting edit rating for overall value it's now going to give me a number between one and five that I can use see the little stars right here I can make it 10 stars or three stars or whatever I wish but right now five is five the last one you may you may want to do is the um let's see here approval status I'm going to remove approval status because I don't want them to approve their own record um whether you want to keep the comments or not it's up to you but for contract description you see it's a multi-line text and you can make it more than one line on the on the right side all right this looks pretty good I think this is also right now it's set as as three columns on the right side you can make it two or one and you know however you want to make it I'll go with one for the time being and let it kind of stretch out vertically here but you do what works for you this is your application all right so now as I do this um there's last thing that I might want to do here let's see I've got the vendor in here I've got the approval comments this looks pretty good but for the sponsor column right here I want to put your email address into that box the email box the email address of whoever's signed in to do this I can right click and I can unlock this right here so let's go and unlock this so I can actually override what Microsoft wants me to do here so right click on the text box for sponsor and click unlock once I do that uh we can see that there is a value option right up top see a value right here so let's put your email address into that box I'll type in user open close parenthesis and notice when I do dot here it lets me see all the columns that I have access to if I hit tab once I have the right one selected or click on it it puts my email address into that box all right there you go guys you now know my email address I'm going to select the entire card this is a box around the box and I don't want you to be the sponsor for somebody else's project here so I'm going to select the entire box and I'm going to look for the display property display mode property two ways you can get there one is to hit the property the top top left drop down box the property drop down box alternatively if you want you can select that entire card that box around that those boxes and click on the word display mode and when you do that it actually opens up that property in the top left so whatever you wish to do it will take you there now you have an option here I'm going to type in display mode and right now that column is editable so it's right now it's display mode.edit so try two things here try disabled do you like that it's grayed out or if you don't like that try display mode.view now it's just a a view box and I could change that color to white and it would look like just text in there so do whatever works for you whatever you like but again the requirements that I have is where where people cannot go through and and specify I can actually specify the pro the um the issue here Ricardo is black I had Ricardo yesterday in our app in a day welcome Ricardo uh thanks for coming all right so now that we've got that now done make sure you hit Ctrl s to save that that app again all right so your form is now ready we've got lots more we can do in here of course but what we want to do now is we want to make it where you can submit data uh into the database so let's go up to the top insert ribbon up top here let's go to insert and let's drop our button in here now as well this button is going to make it where once it comes open did I did I do it oh now I made a mistake here the mistake I made is I had the card selected when I did that insert button so I'm going to delete my button because it actually put it inside the card so make sure nothing is selected before you do that I'm kind of glad I made that mistake so I can show you that I'll go to insert again and hit button again with nothing selected and it will drop the button wherever and I'm going to move that kind of free floating wherever I want okay of course you can color that button using those variables if you wish so you'll see a fill color property and you can you can adjust that how you want all right so on the top right call this button whatever you want so I'll call this button like save or submit or whatever you're also noticing here there's button types here these button types are going to be used for accessibility features so if people are vision impaired this is going to help them with those buttons you also can go through and uh set the the tab order for somebody that's vision impaired also and there's lots of other options we have we have a whole video on that now I find this font I'm not vision impaired but I do have some glasses next to me and these uh these is a little bit a little tiny for me so I like to bold my fonts and make it more like a 12 or a 14er or whatever because I have a hard time seeing that 10 font myself but that's up to your eyes and your population okay so on that save button we're now ready to send that data to the database so that's our next step so what we're going to do is we're going to do two things now we're going to send the data database we're then going to tell them in a different area that they did a great job it's been submitted and it's ready for review now we're additionally going to reset this form back uh so it's ready for the next record also a few things a few of you folks may have already hit the play button and notice that we had a bug issue right now where it said no item to display this is the most common issue you'll see in powerapps where you're like what the heck's going on well this is where this is the most common issue if I can escape it gets out of that but that's that's because this form can be in multiple modes it can be in new mode ready for new data or in edit mode ready to edit existing data when I hit that play button it's saying hey what record do you want to edit so it thinks that I want to edit the record so if I select the entire form and go to the right side see its default mode right now is edit meaning that it thinks I want to edit the record so if I change that instead to new and then hit the play button you're now going to see that I actually have my form ready to go okay so a few little gotchas like that you can do like that that you're going to actually hit over and over and over again okay so make sure you save again I hug this good practice just get to have it every few minutes of control s in that all right so now we have our form now created now we need to wire that save button they're sticking Dimensions two things we're going to send the data database then if it was successfully sent to the database then we're going to alert them that all is well and then we're going to reset that form back to New mode if we don't reset that form back to New mode is going to reset itself back to edit mode even though we just told it to stay in new mode so just a word of warning those are our three steps that we're going to do let's start by selecting that's that uh save button right here and then looking at our code for on select so select your button then go to the on Select Property of that button there it is right now it says false now fault space means when I click on that button nothing's going to happen and that's a problem right so let's fix that nothing's going to happen to submit the data to the database the code we're going to use is simply two words submit form tab find your form our form is called form one this edit form was used previously on the other screen so form one is the one we're going to use and then close your parentheses awesome first step is now done now the record has been written to the database next we want to find out that if it's if that form has successfully done something so if I were to select my form here and I want to look at the the property called on success there it is this is also an on failure so if the row does not make it there it will fail so if it successfully makes it there what do we want to do well in my case we're going to run some code here to hopefully send it send that record uh notify the user and then reset our form we can also use this code to seek approval on this record also now alternatively if sir if a user instance in certain groups we can also go through and say hey you're in this group I'm going to show you the approve button otherwise I'm going to hide that approve button so we can get really fancy with this you wanted to as well but in our case what you want to do is when I notify the user that what they did was successful so I'll type in notify and then I'll say Bravo contract uh successfully saved call we'll do whatever you want we can also smush other stuff in there like we can smush in things like their full name if you wanted to again you do not have to do that but by closing the parentheses you find a little space there again you don't have to do this you could have say successfully saved just like I did there and then you're done however right now it's going to be a gray box up top I want to let them know that it's a success successful so I'll do a comma and let's say this was successful again I'm just using my arrows and using my tabs to say it was successful next I'll do a comma again and say how long do I want to show that Banner for well I want to show that Banner for two and a half seconds or 2500 milliseconds so that's how we can do that next piece here as well so now when I submit the data it's going to show a little banner up top saying Bravo success and my next step is I'll hit a semicolon to say do this and then do this what is that next thing I want to do well I want to reset that form not to edit mode but back to New mode to get ready for a new contract so I will say new form there it is you can use those tabs down arrow to form one tab close your parentheses so here's my final code I'm going to notify the user that what they did was successful and then I'm going to reset this form right here and it's kind of highlighted right now back to New mode perfect so that looks like a winner winner chicken dinner so now that we've done that we are now ready to test drive this a little bit and see is this going to work all right so let's hit the play button up in the top right you're seeing right up here again and mix again make sure you save just in case you never know and then hit the play button to take a look at it now all right so I'm going to go through and enter my contract uh Nate's new uh Gremlin car all right what's the vendor well the vendor is a drop down box right now and I'm gonna go to Nate's crappy car Inc all right I'm the sponsor the contract value you see here is actually a text box I'll put it's going to be 25 because nobody wants those Gremlins anymore it is overall value of one star and there's no approval comments yet that will be filled in automatically and we'll hit save all right there is our pop-up right there up top same with success successfully saved and it goes way in two and a half seconds unless I move my mouse over it awesome we can now hit the Escape key to get out of that and we're seeing we're back to our Forum now in case you're curious to know did this work or not I mean it says it worked but did it really work we can go to our database icon on the left here so that database icon you're seeing right there we can right click on contracts and say edit data and see there's our contract we can even go through and say hey show me some more columns and check any of the comments that we want to see like uh show me the contract description or or whatever the comments that you want here you can just go through and check those and when you hit save you'll see all that data right there okay so in case you're curious that's how you can always go in and test drive that all right so we have our form now complete our our next step is going to be to do our gallery of data and then we're going to do an approval system inside of the power automate uh to approve all this stuff so for our last little trick here before our break what I want to do is I'm going to hit this little preview button or this little uh publish to teams button right up top this publish the teens button right here is going to send this into our team site so I'll hit that uh publish to teams there we go and I'll hit next now the screen you're about to see here you only have to do your first time when you're building an application and the thing I want you to do the first time in the first time only is hit that plus button here the next time you come in you're just going to open this up the screen will come up you just hit save and close but for the first time I'm gonna hit that plus button which essentially creates a uh a tab inside of this team this General Channel called contract management app and then when I hit save and close at this point give it a few seconds it is now being published to my team now a few things to think about as part of this uh now that it's published that to teams it is going to take about 30 seconds maybe a minute and a half everybody else can see this but you my friend are in a uh designer mode right now so it might have to time out that Designer mode before you can do that so to show you really quickly here let me find my teams I'm going to drag this team down here this is the website version of teams all right there we go now you don't have to do this I actually everybody don't do this but I'm going to scroll down here I'm looking for that uh learn with the Nerds there's my contract management and hopefully here I'm going to keep the other screen open again it does take some time if I'm the designer of this application which I am it takes a little while for it to come up the first time where Nate on the other hand could actually share his career and he would be able to see it right now I'm going to refresh this browser one more time and just see if it's here again this does take some time the first time you open it up about a minute but there we go I'm gonna put my new contract in I can put my new vendor here we go a new five-star uh contract this one's the 45 and I'll hit save and my second record has now been saved so later today we'll come back here and we'll see the flaws and the pros of what we build but what we're seeing now is our first application inside of our team's Channel and we're ready to rock and roll now at this point so let's give you an opportunity to stretch your legs hit a bile break if you wish and uh get some water if you wish we'll come back how about 10 minutes from now and we come back we're gonna go to complete our application the one we have in this other screen so make sure you have this screen open when you come back ready to go and I will put uh 10 on the clock there we go I will see you folks in 10 minutes same bad time thanks guys foreign okay okay [Music] [Music] hey and welcome back welcome back we are ready to start to construct our next example so just a quick quick heads up let me get back to my oh there we go so uh real quick heads up we do have a sale right now this this stuff is interesting to you we have about 80 classes on demand around powerapps I'm a powerapps Power Platform and the Azure stack you're going to find a flash sale below me right now uh and it's a learn with the Nerds to lwtn 50 is a promo code and it will be applied to the checkout when you check out for the on-demand platform so I just want to make sure I mentioned that also during break we had a question here from Robert I believe and his question was around um there we go was around he said admin lieutenant and he set the permissions up to see it however you still can't see it in team's desktop or the web after you enable the policy to allow people to see uh data power apps for for a power power apps and power automate and all those kind of things inside of the dataverse uh in teams it does take about 15 to 20 minutes Robert after you turn that on for it to show up I've seen it take as much as a half an hour so you might want to turn it on and then come back and they pause me for a little while and then you'll be able to do all these examples with me but it does take a little time and they do advise uh to plan on a little bit of a wait there as you're as you're doing that so hopefully that answers your question it wouldn't hide that question and now we are ready to get back let me see if I can get back my mouse is still not working unfortunately but I can get back there other ways I hope there we go oh there it comes I have a mouse again oh there we go all right so when we left off we had built a beautiful form that is now ready to uh insert data we'll later get it to also edit data and we'll also do things like making it where we can see other types of goodies in this as well but we're now ready to actually see the data we inserted and that's that part of that two Zone application we were going to build before so let's start with that two Zone application let me kind of go back here again all right so to start with I'm going to go to my insert ribbon and I'm going to do a vertical Gallery so make sure you have your app open and go to insert and vertical gallery this takes a few seconds to go in I'm just going to click on the word contracts there we go and I'll move this a little bit to the side kind of get it lined up the way I want I'm going to leave a little bit of room right on top of it for a search box in a moment and I'm going to kind of stretch it and leave just enough room for that search box and I will make this white background color on the right side I'm also going to make it where hey I don't really care about seeing an image so I'll go ahead and change this to this title and subtitle there we go perfect so it's not the prettiest thing in the world but it's uh it's starting to get there right so you're kind of align it get it working the way you wish you'll find I find these fonts are way way too small so you can make it you know a 14 faunter or whatever you wish to do okay so after you get there the way you wish now I want to go ahead and then you put the status code or I'll make a 12 monitor there we go I can kind of show up a little better there so we can see that as we enter data it immediately shows up in this left Gallery so for example if I play this and I call this you know record three for example for Brian's luxury cars it is a five star rating here and then I will hit save you'll notice the record shows up almost instantaneously on the left side so I want to show a few things more on this left side I want to see the status of the record I also want to see a search box where you can search for those records provide you the ability to delete a record and provide you the ability to do other stuff like maybe edit the record also so those are our final steps we're going to do for this application it will take us about an hour to do all these steps and then we're going to go and do Empower automate as well to approve these records to automate the approval to where you don't have to send out emails anymore for that so I'm going to start with a search box first and we're going to make this prettier and prettier as time goes on so for this search box I'm going to go to insert up top and look for my text box so drag that text box or drag it wherever you wish I'm going to move mine right above my gallery here again you're going to notice look how small that font is so you can always always if you're if you have uh issues like I can I do you can always make it a 12 fonter or 14 fonter or whatever you wish to do all right you can also bold it if you want to add extra little spice to it as well now a few things a few rules of thumb here this can be our search box first of all this is very different than what you may have been used to at make.powerrex.com so for example there's this thing called placeholder text at make.powerapps.com it's called hint text and the property is called two different things also so for that placeholder let's call that on the right side of selecting that text box we'll say search for contract something like that but you'll notice you're not seeing it yet so to make sure you can see it let's strike the text box value there and click away from it oh I didn't strike enough there looks like there we go and you want to make sure that you leave the double ticks behind so again I left I've got killed everything in there there's my search for contract but when you select it the value should have two double quotes right there with nothing else there okay so just a just a quick heads up if you have any value at all there keep in mind it is going to search for that and lose that value but you can go through and you know make it bold make it italicize whatever you want to do uh to make it your own okay now I want to search based on the contract number and maybe the description of this down below so to do this we're going to use a search syntax to do it so select that Gallery right there and the Fourier five I forgot one piece I'm going to select my text box here and just find its name either on the right side here or in the tree view here okay all right so for those that are watching this when uh I see a question from uh wjc Stella when I hit that play button it says no item to display why do you guys think that is in the chat window help out wwjc Stella that was one of our points of emphasis that you will have that problem Nate and I have been doing this for many many years now and we still have that problem we're like I forgot to do that so why do you think he's seeing that option Let's help help a fellow friend out here in the chat window you'll see in the chat window there I'm gonna let you I'm going to select this this form here and on the right side you should see that default mode there wjc change that that default mode to new not edit when you select the form but hopefully somebody's already answered that question by time you see this on about 30 seconds behind you are in front of you now this point all right so for search let's go ahead and select our gallery and we'll see it showing all contracts right now in front of contracts we can see that there are my three records right there that it's showing there they are okay so I'm going to type in the word search in front of contracts now unlike SharePoint SharePoint if I was pointing to a SharePoint list the search syntax will work but it's something called a delegatable event in other words it basically can't interpret this syntax and it says SharePoint give me everything and then I'll from there I'm going to go through and find a way to make to make this work by doing that it limits you to just a few hundred rows by default and up to 2000 rows at a maximum in SharePoint so searching SharePoint this this is not syntax that will work in SharePoint necessarily you have to use filter syntax do it in SharePoint and you have to kind of do what begins with and it ends with to kind of make it work so what I'm going to do though is type search contracts do a comma and notice right above this it's kind of guiding me every step along the way so right next to this I'll type in text input text box one there it is all right dot text so go ahead oh not text see I'm used to make.powerapps.text in and uh and and here the modern controls it's got value instead so it's a little different and it's just enough to mess with you sometimes as you're building this stuff out so so take whatever value is in that text box apply it to the contract table and then when you do a comma it wants to know what commas do you want what what com columns do you want to search well I want to search the contract description comma uh how about the number of the contract maybe the contract number and that's good enough attempt for now I'll close that parenthesis out when I do that now you're seeing the same area because I have not really done any kind of filters in my I've done any kind of anything in that search box yet let's play our application and try this out so I'll play it I'll type in how about 1002 oh there it is I'll type in how about uh Nate there's Nate I'll type in here and there's here and so on and so on and so on so it allows you to search basically a contained search or anything anything inside that value that you want so it automatically takes care of that contained search but it also goes through and searches multiple columns so the search syntax is great for searching first name last name email address and so on and so on and so on all with one command now you may have noticed I had those those logical names there that you saw so The Logical names meaning that I had let me go back there again I had that cr80c name in my case so yours will be called something different uh the search Syntax for some reason it wants those logical names inside of this interface only it's only a team's thing at this time right now it looks like all right so first step is now done we have our search piece now done now we also might want to go and say hey I only want to find stuff that you were the uh sponsor of as well okay all right so all right wjc additionally when I hit the play button it says no on display I have changed the form to new mode so this isn't I'm glad you asked this question um what happens in this case is when you select this form and you know it's a new mode and you play it you might have to full it here by following it I mean you have to change it from new to edit and then back to New to to force it to New mode again what's happened there likely is in your form this new form code right here may have been implemented out of order so make sure that code is in here and that's going to revert it back to New mode if it's not there if what if you had played this form ahead of them you got a little antsy and got a little excited to hit the play button that might be what's causing the problem if you hit the play button before you had put this code in there it would have reverted to edit mode even though it says new and you had to kind of fool it by going back and forth edit the new and then you're ready to rock and roll so that happens occasionally uh it's only but would you programmatically do it it will work every time there for you all right next wouldn't it be great to see the value of this contract has it been approved or not easily inside of here to do that what I'm going to do is a little trick here I'm going to I'm going to select the first record okay and when I select that first record I'm going to go to insert and rectangle and I'm going to drag that rectangle in here the reason I'm having you drag it in there is because the interface and the teams interface requires you kind of drag it into that first record where in make dot power ads when you select the first record that's good enough you just hit the insert rectangle it doesn't work I'm going to move that rectangle far left make it a thin bar just like that and then I'm going to nudge everything else a little bit over just kind of nudge it over just a wee bit just like that and then We're Off to the Races so I'm gonna put inside of this where that bar is I'm going to put the status of that given item before I do that now that we kind of laid it out before I do that I want to show you a few little pieces here if I select c1000 you'll see in your coding window the text value for c1000 is this item dot contract number this item is referring to the row that I'm looking at and then contract number is the column in that row so this is basically a data repeater down here and if you want to refer to a row you always refer to this item and that allows you to go to any column that you wish so for example I could change that and it would immediately reflect the new column if I wanted to I'm going to leave it as is but to show you what I mean I'm going to backspace that dot and you could say I want to see just this the contract and it will show that good right there for example okay all right so not a great I would probably have a title the contract in real world here uh like some shorthand description of the contract and that's what I would show or I should the sponsors picture or whatever but for the purpose of what we're doing now this is adequate all right so when I select this rectangle here I want to change the fill color based on has this contract been approved or not so let's go to our fill property all right there it is to fill property for the rectangle where I'm going to strike this code now we could build a whole series of this then statements if then else if then else if then else but in our case because we have what four states that we have what draft and review approved and rejected because we have those four states I don't want to build an if statement has four nested if statements so that an alternative for that is a switch set statement the switch should send the switch syntax excuse me uh allows us to go through and say hey evaluate this item dot approval status take that column and then from that column what I can do is I can go through and say uh if it's equal to uh let's start with in review or let's start with approved if it's approved I want to show the green color if it's uh rejected I want to show the red color so the word rejected is going to be in double quotes and then red is to be outside of quotes otherwise do golden uh Golden Rod that's like a gold yellow color now you'll notice I have two I have a lot of red underlines right now the reason why I have that is this is a choice column the word the approved and rejected is a choice column there's a few ways I can solve that I could go through to don't do this first part okay I could go through and type in the word uh approval status choice and say dot uh approved that's one way of doing it and then say comma green and so on out to the change of rejected to make that work okay or let me just put the bird approved back in there or if I'm feeling especially lazy right now right after the right before this item I get typed in the word text open parenthesis and then close it right there so that is two ways of accomplishing the same thing by putting the word text in there what it basically is saying is take the text value the textual value of that approval status column and put the word if it's a word approved then put green let me zoom in a little closer so you guys can see that so take the text value out of that and it says the word approved then make it green if it says word rejected then make it red and I can string these together over and over and over again if any other value is in there make it yellow okay so that handles the in review and and also the draft but if we wanted to add more all we had to Simply do is go in here and say uh what do we call it we called it uh in review and we can make that blue for example so just like that so you can keep on chaining them together that easily there okay so let's test this to see if it worked what I'm going to do you don't have to do this just kind of watch if you like I'm going to go to my database icon I'm going to right click on contracts and I'm going to edit the data and see is if I change this let me go ahead and show more and I'm going to get the status column there we go and I'm going to change one of these from that to in review and I'll change another one from draft to approved and then I'm going to hit close to save all those two values and then a few seconds going to refresh my data and now I have one that's Goldenrod one blue and one green so this gives me an easy way to kind of see how does my data look right now okay so I kind of like that and of course you would still do the hover fill change the hoverfill to be self.fill and the same thing we did for the the button up top here okay but what I like about it especially and thank you very much David uh I like it because it's minimal real estate but it communicates a lot in a very little very minimal amount of real estate I could put the word right here um I could put the word status and say was it been approved or rejected but this makes it a lot easier to kind of find out what's going on okay so mission accomplished on that one now we want to provide the way uh of deleting a record and we also want to provide a way of editing the record next as well and then hit Ctrl s to save that and if I go in here again I'm going to insert I'm going to select the first record and I'm going to insert into there a icon how about we go ahead and I'm going to just insert any icon just search for any icon and drag that icon into here the reason why I had to delete select any icon is now you can go up top where it says icon and you can search for the one that you want to do for editing so you can do a pin you could do a pin you could do a you know um a pencil like this guy here whatever works for you this is an interesting pencil but it works fine so when you click on this pencil I want this to be able to edit the record over here so let's start here there's two lines of code we're going to have to do to enable our edits the first line of code we're going to do is when you select this pencil where it says on select I'm going to change where it says select parent select parent means that if you click on the pencil it clicks on uh the parent the whole cell uh it does a click for you I don't really need that to happen in my case what I want to happen is I want to change this form on the right side to edit mode so I'll just type in edit form perfect and then form one done that's our first line of code so our coding is halfway done now let's play don't don't do this I'm going to play this and to show you the flaw here I hit the pencil icon no item display so the form is definitely in edit mode now but it has no idea what row to edit so now I have to specify what row to edit next so if I select this um this this guy right here this whole form on the right side I want to change this I'm looking for the item property the item property is only used if the form is an edit mode and it tells it what row do you want to edit well this left area is called Gallery one you have a mental note on that left area right here I'll select my form and for this item I'll type in uh for the item property again I said the whole form item property it's Gallery one dot selective boom so now when I hit the play button look at this Nate's new Gremlin car I hit the pencil boom boom boom and I could change this from record three to Brian's new new Ferrari amazing car there we go and I'll hit save and then immediately gets written back to database so two lines of code to basically uh go through with that and Implement that okay all right so now that we've got that let me go ahead and close that out save it if you wish now a common question we get asked is I don't I don't want you to be able to edit this record if it's been approved for example so you might go back and forth during the review stage but during the final stage no touchy okay so what we can do is for this um uh for this pencil icon if you wanted to I'm going to change its visibility right here and right now it's at the true so what I want to say here is if if it's uh if it's in draft status right now it's not been picked up for review yet then I'm going to go ahead and and allow this to be edited so all I have to do is say um this item there we go approval status dot approval status is equal to and we could do the whole text thing again like we did before or if we wanted to just type in the word choice and select that approval status choice so if it's equal to um a draft there it is so if this if this status column is equal to draft then allow them to do it so notice I didn't put an if statement here I could have been explicit and I could have done an if statement if that is equal to draft comma then true uh not uppercase there we go comma true and then comma false so we could get very explicit it says the same thing but if for a simple Boolean answer like that that's how you can do it we can also say if it's equal to draft or uh and it's going to copy the past this one more time you'd be lazy again you don't have to do this guys that's when I show you the first way is probably the way I normally go with uh or if it's equal to in review I think it's called right there we go so I got two pencils now that double pipe there is an or syntax so you can basically use that to kind of knock that out also okay so now we can edit two records but not the approved record here also awesome so you'll notice that as you do this that the sponsor will always remain the same so we could also put some code there it says if I'm in edit mode show the original value if I'm in New mode use your email address so we can put some logic like that if we have time extra at the end of this session then I'll I'll show you how to do that also all right so as I select this and kind of Select this everything looks to be working I can't edit this record it's basically we can make it where it's view only also we could say hey if you if you uh show a an eyeglass icon if it's if it's already been approved so you can see it but you can't actually edit it so there's lots of options you have here to make this a lot better application but our next step is I want to be able to delete a record also so again select your first record drop an icon in so to search for Icon you can also if you want to search for trash if you want so pick whatever icon you wish and drag in the first record if you did not get the icon you wish go to Icon and find whatever makes sense for you to delete a record okay select your trash icon and this is super super easy for the code on this on select we'll change this to remove perfect what record do you want to where do you want to move it from I'm going to remove it from the contracts table comma I have typed in R so far everything else been done with tabs so they're moving against the contracts table and what item do you want to remove this item this item is the entire row I want to remove from this record so now as I hold the ALT key down and I hit and I click on this uh trash can for the approved record there it goes and hasta luego it is now gone so really easy kind of control we have of this all right it's a pretty darn snazzy though right so with that now done we now are ready to kind of get a few more little little bows on this now at this point so we have our delete working we have our edit working we have our search working so all of that is now kind of coming together now I mentioned the four let's let's show you the problem here if I right click on this and go to edit data and I put Nate's email address in here uh let me find our sponsor here there it is you don't have to do this guys just want to kind of show you a problem here I'm going to go ahead and put there we go put some some bogus email address in here all right so when I do that I forgot which record it was uh it's now refresh as I pick up the pencil here it still has Brian Knight even though I've clicked on Nate's record so that's one of the issues I've I've uh I've had that in this case okay all right so if I select this this guy right here the sponsor right here you'll notice right now it's showing user open close parenthesis dot email well wouldn't it be great instead to only pull that email address if it's in new mode otherwise show the existing email address so to do this if I wanted to and I had to do it for any kind of fields like this where I want to that have default values in here so in this case what I want to do is I'm going to say for this you know this is optional for this this sponsor here I'm going to say if open parenthesis and I want to find the form name mine is called form one dot mode there it is so if it's mode is equal to form mode dot uh new there we go in other words this form is in new mode trying to insert a record so if it's a new mode comma grab your email address the one that's logged in otherwise you use this item dot sponsor all right so by doing this what it's telling us now is I see Brian's email address uh right now that's a record here but now I see Nate's email address and if I get out of this now I see Brian's backing in here again so for when the form is in new mode it shows me Brian's email address when I select on the second record now I see Nate's email address so anywhere where you see default values like that this code that you're seeing right here is going to solve that problem if the form is a new mode use my email address otherwise show who whatever the sponsor is is that is stored inside there all right so I might get a little clarification on this question from Jim here the question from Jim was we use teamstore outside of teams extensively uh can we link dataverse tables in teams uh in terms of defined of non-teams I I call I need a little clarification on that Jim I'm sorry um so ultimately uh uh if you want to build an application a time of this this this this this class in October of 2022 at least uh you can't have one dataverse be seen by another data verse uh easily at least uh there's no like you know power automate to kind of copy data back and forth but I think I think I need a little explanation uh you can also email me if you want as well Jim and I'll see that I try my best to kind of uh answer deeper there as well all right cool all right Nate do you want to come in you can you have an answer there all right so let me go ahead and save this again and now that we've saved it I think at this point we're ready to start to show some goodies here and maybe show some workflows and those types of things so awesome I think this is a good starting point here again the play button see this scaling so everything looks like it's working well I'm now ready to publish this application again so let me just check my check my uh goodies that I was hoping to cover I have covered all those awesome uh we could also by the way filter this list to where you're only seeing your own data you do not have to do this but let me show you how I would do that I would put a filter syntax in front of my search and the comma at the very end of my Search and say I only want to see uh Records where I'm the sponsor of it equals my email address that's how you would do that if you want to do that notice Nate's record now disappears uh if I want to do that okay you can also make it where it's conditional where I being the submitter can see only my own records where you might be able to edit the records because you're the approver in this all right so now we're ready to go ahead and publish our changes so let's hit this publish the teams button one more time all right I'll hit next okay now this time as I mentioned before our break all I have to do is hit save and close because I'm going to go to the same exact tab I was already in and hit save and close so I did not have to hit the plus button this time all right we are almost done our power app is now pretty darn powerful not too bad for an hour of work right hour and a half of work or whatever but now I want to go ahead and build our automation around that now of course we can integrate automation right here with the power automate button but in our case we might have multiple sources uh multiple people inserting data into this from multiple applications so I'm going to go over here under the uh the build button again so I'm going to go to the build button right there which is going to take me back and again make sure you have saved it before you hit the build button takes me back to my solution where I'll hit see all this is the steps you'll do each time that you want to go back here all right once I've done that we see Cloud flows right here now Cloud flows are the workflow engine for power automate when I click on cloud flows I'll hit the new button and go to cloudflows and I'll build an automated cloudflow now in this case there's number of flows we can do automated Cloud flows are essentially going to watch for some type of event to happen and when that event happens it will trigger some type of action instant flows are what you would do if we were kicking it off from the Power app and then lastly scheduled flows will be for like a month in processing or something like that so let's do an automated flow okay well this the zoom is a little goofy right now there we go oh so close let me try one more time all right there we go all right so let's call this flow how about something like uh uh seek approval or seek contract approval or whatever you want to call it it won't matter okay the trigger you want is going to be a dataverse trigger so search for dataverse once you search for dataverse one of the pieces you're going to want is when a row is added modified or deleted so you want to select this guy right here and then hit create so this is going to create our basic flow and this flow is going to connect over to our dataverse environment very easily it's already connected in my case we're going to configure this that whenever somebody adds a record we're going to flip it over to in review and as soon as it goes to in review then we're going to seek approval for that record so pretty simple steps we're going to knock out here so to do that I want to tell it what table to watch the table I want to watch is for I'm going to do I'm looking for creation of Records only and I want to watch the contract table type it in there if you're feeling especially useful like I am right there there we go the scope is going to be organization if anybody in my organization creates a record I want to do this now we can also just briefly look at Advanced options here this would allow you right here where you see filter rows to look for like like status columns like for example in in pseudo code here it'll be something like CR 80 underscore uh I thought it was an approval status with that and then what you would do is you would say equals equals the oh data query here in this case whatever the value is for that it'll be something like that for example that would be how you would look for things that are have been added of a certain value okay select columns or how you can prevent infinite Loops so if I have I'm looking for records to be updated of a certain type then I do some updates down below it creates an infinite Loop so select columns are having to look for certain columns to be updated all right also it's a good idea to go ahead and select this little three dot right here and select a rename and go ahead and call it whatever you want I'm going to call this contract table and in my case it's only looking for when rows are added so I typically keep most of the name that you're seeing here and then I'll put the table there is there well well why do I do that well I I have this this uh probably inappropriate one here I have this term called the two beer roll right that when something's going to break it's gonna break on a Friday night after you've had a few drinks in you for me it's two beers for you might be two glasses of wine or are the kids are yelling or whatever so when that happens you're going to want to basically open this up and try to figure out what the heck were you thinking six months from now so make sure you name these appropriately to handle that kind of event when that happens okay so now I'm going to go ahead and do a new Step this is also going to be a date of birth step so in this case when uh if I look at osnosis two data verses here one is legacy and one is not legacy so you have to kind of hover over it to confirm that you had the non-legacy ones the first one in my case is the non-legacy one I'm gonna update a row there it is and I'm going to set back to my contract table again okay there we go I'm going to set the row to be equal to uh the approval status here I'm going to set that row to be equal to in review so it's now gone from draft to end review the the row ID is the only mandatory thing that I need to set and for that I need the unique identifier that represents the primary key for that row so what do you think that should be in the chat window let's see who gets uh who gets this one right so in my case uh you're guys about 30 seconds behind me right now when I select row ID there we go you'll see a list of all the columns one of these columns is the right answer now I'll bring over it here but you'll see it says unique identifier for the instance entity here is your crib note here if the table name contract is the same as the column name contract that's your unique identifier each time so go ahead and select that contract and there we go so I'm going to update this this contract to be equal to in review at this point okay so I'll update a row and I'll say something like set to in review okay good enough I'm also going to going to want to use this later so I'm going to select that three Dot and I'll copy this to my clipboard so I can use it to either approve the record or reject the record later so I'm going to hit copy to clipboard so I can do that later without having to write that code next I'm going to hit new step and I'm going to search for approval now watch my flow Checker right here right now it's all happy and go lucky and when I select approvals and I look for start and wait for an approval I want you to go ahead and select that if you're playing along at home these other two options allow you to manufacture whatever type of approval you want and nag them and construct your own email for example this option right here simplifies A whole thing and it's basically the easy button so when I do that Watch What Happens my flow Checker just turned red and when I go ahead and say start and wait for um an approval I'm going to say the first in that approves it wins now this flow checkered I just mentioned a moment ago is saying that the software has not been installed yet so as we're seeing right here uh when I run the first record through this it's going to spend some time to basically go out there and install that software now in make dot make that power automate for example that it might take about seven minutes to do that and teams it's much slower to install that software so the first time you run a record through that you're going to think things are broken and it might take 20 25 minutes potentially but when you actually try to um to actually when you finally give up on it it will probably work just a mental note be patient that first record might take a while to come in so we're going to design this now but we're going to assume that we may never at least on this recording see the results of our work okay but I'll show you what it could look like if we were doing this all right so all right so it's a good question here from Jim is there a way to complete the approval while using a post I got adaptive card and teams absolutely there actually is an Adaptive card we're going to see here but we can actually customize what we want and actually make it more adaptive and add more information into this so the time being we're going to use this option I'll show you what it looks like in a moment here Jim but we can also make it look a lot more adapt a lot more pretty and do a lot more information in the Adaptive card we would not use the start and wait for an approval at that point we would use the start approval and then you can customize it to be whatever you wish so now that we have that first in wins if the second person opens up this approval it will basically say hey Brian's already approved all right so uh the title of this is gonna be the title of the email that goes to the user what happens when I send them an approval well it is going to send them an email it'll send them a notification on their phone it will also send them a notification in teams and on the website so it sends up a nagging email all over the spot now we can also customize that and add more types of things but for my title of my email I'm going to say do you approve contract and I'm gonna do a mail merge click on the right there's my contract number and click on it all right now we can also notice it says update a row if I look for contract number we'll see contract number under updated row as well as add a row so it's the same thing in my case doesn't matter which one I choose it from the assign to I'm going to type my email address here and as I type it in it should wake up and find me there I can also do a separate that and add more than one email address with semicolons I want to choose well okay the details are the body of your email so I could say you know contract description and put like some uh some goodies in here there we go so you could put whatever you wish into this body this email now the link here is a link to what happens when a person wants to get more information do you want them to go to teams do you want to go to Google or whatever so for example just for for the for Giggles here I'm going to put like C record and I'm going to send them to the time being over just to I don't know bing.com for example but we can we can also ultimately send them wherever you want there's also something called Deep linking where we can send them parameters where it opens up the application it allows them to go right to the record and I do have some videos on that on our YouTube channel in case you're curious all right so next as we do this let's go ahead and see the advanced options you can do attachments it will of course do notifications and allow them to allow them to actually reassign This Record if you wanted to as well I'm out of the office I'm going to reassign this to Barb now in this case excuse me but now we're ready to once they make this decision we're going to Route them one of two ways did the approver actually hit the word approve or reject now we can also go through here and read that value read the email address out of a a matrix of approvers what I oftentimes see is hey what department is this contract for the CFO approves all the finance contracts the CIO approves all the I.T contracts and so on and so on so you could build this conditional you could also say hey this this contracts for over 500 000 it needs CEO approval after the CFO approval so you can kind of build a chain of of custody there as well if you wanted to all right so I'm going to hit new step and I want to Route them one of two ways you'll see right here there is a condition so go ahead and select that condition you could also hit control and condition if you want as well and this is going to Branch saying did they approve or did they reject the branch is going to come in right here where I say hey the outcome of what you clicked on of what the approver clicked on so I'm going to click on the word outcome there it goes so the outcome is equal to the word approve make sure it says not past tense approved not approved uh that's a word they clicked on in the email and when they click on that a word approve it goes down this Green Path if it's not that it goes on the red path so what we can do now is we can hit this add an action and if we wanted to we can go to the clipboard that you're seeing right here and click on that item from the clipboard now a little bit of flaw it goes through and it kind of collapses everything I'm gonna do the same thing on the right side clipboard boom and it normally collapses it for you all right so I went ahead and pasted in both sides if you did not add that to your clipboard you can just hit the little three Dot and hit copy to my clipboard and then you can do the same thing I just did or you can always add it just like we did above on the left side let's go ahead and Mark that as not in review but instead it's now approved on the right side sorry now the real right side I'm running my directions here it's going to be rejected now additionally on top of rejecting the record that's interesting my my real ID is now on the left side for some reason let me let me collapse it and come back there it is all right weird UI thing all right so on the right side I not only want to approve the or reject the record but I also want to log what comments somebody has filled in about this record so if I click in here you're going to see on the right side let me kind of scroll a little bit right I'm going to look for uh comments there it is responses comments now because there can be more than one responder when I click on that it's going to turn it into a loop now in my case only the first one wins but it doesn't know that I only had one approver you can optionally do the same thing on the on the left side approval comments and look for comments there it is and then click on response comments it turns it into a loop so now I have I'm now logging each step along the way I'm going to mark this as rejected on the right side approve on the left side and I'm going to log any kind of comments they may have added as well I'm going to hit the save button to go ahead and save my now approval process and now we're ready to go in and try this out we could hit the test button to start this process out but I'm going to go ahead and go back to my app and kick it off that way mental note that this is not going this is error rightness not errors warning right here it's letting me know to prepare for disappointment it might take some time for it to install this component but let's get it kicked off here and see if it works after you have the first time subsequent records after installation will be much much faster now if I want to try this I can go back to build and try it that way by preview mode or if I'm filming especially frisky I can go to my application go to contract management I will see can I publish the application recently again I'm still on designer because I'm a designer it might spin for a while here uh I could also open up the website oh there it goes I just had to kind of wait impatiently here uh and I'll enter uh my bad contract that is for Nate's crappy Cars Inc I'm a sponsor 55 a one star review and of course I would want to remove these comments but that's fine and I'll hit save that will trigger my flow to run and if I happen to go back to powerapps again we'll see it starting to run under the build icon there's my learn of the Nerds I'll hit C all and there it is seek contract approval we'll start to see it here uh kicked off so I'll go seek there it is to create my connections it created my approval and when I click on this we'll see it running now it might take a little while for it to kick off the first time so in a moment here there it is it is running and when I click on this it's going to show me hopefully that it's waiting now for installing the software as I said she kicked off right here and it's waiting but we can see the records that were passed in we can go down here well and if you see that it's been set to in review matter of fact if I were to go back to my build icon and go back to my application we'll see it now in a review status now so it's going to be that third record over here if I click on my app there's my app right there we can see that um that we're getting close to having the reviews status by the way we are rounding the finish line right now so if you have questions go ahead and ask them in the chat window and we'll have some time to actually answer some questions that throughout this oh sorry this is a different application so you can see how pretty these can look as you kind of build out other stuff here uh that was an accident there let me go back here again I want the wrong team site and let me go back over to learn with the Nerds and back to my application again there we go okay cool so this use case is a very common use case this use case is one where you put things into a queue somebody works the queue and then it comes out and you can see the results of that queue also now there are lots of things we have access to in here once it comes open you'll see now I have two items in review so as I add this stuff in let me just add one more item all right boom boom boom hit submit all right right now it's yellow and if I were to click away from it like hit the pencil icon here and come back here we're going to see that that eventually this will turn red also now it's not there's nothing triggering the refresh yet if I were to hit the pencil icon on the right side I would see the correct value but if I'm going to manually trigger a refresh I can just hit that little three dot right here and select refresh and we'll see it turns into blue at that point we can also programmatically do that by adding an icon you don't have to do this I'm going to add a little refresh icon a Reload icon there it is I can add a little reload icon somewhere in my environment maybe at the bottom or whatnot there we go if I wanted to and that reload can also do it that's just a simple command of refresh and then what table do you want to refresh my contracts table now the refresh happens automatically when you add records but in this case over here it had no way of knowing the status has changed if I were to hit the pencil icon and I had that flag over here we would have seen it on the right side because I did it this way we're not seeing it let me go and open up my inbox now and I should hopefully get an email in the next five minutes or so also I hate opening up my email in the middle of a session because it stresses me out because I see about 100 emails coming in all right but regardless now the last thing I want to show is I might want to give the ability to cancel the the this this update here also we're making great time so let's go and show a few more little bonus points that we can do so I'm going to go ahead and insert another button there we go move it wherever I want of course I wouldn't normally make this button a red button to kind of signify it's a cancel there we go put whatever you want come and call mine cancel and then I will make this a 14 faunter also is that is that 14 font no I think it's 12 font I forgot what I did there and I'm making a bolt all right good enough so call it whatever you want now in this case if you want to put a cancel button in here it's as simple as looking at the on select button here okay there we go on select there we go and I want to do two things I want to basically I want to I want to reset the form back to New mode there we go I want to reset the form oh uh right sorry reset form sorry reset form right there what form do you want to reset I want to reset form one and I also want to make sure just for good measure that I am in new form as well perfect so those two commands right there watch what happens when I hold down the ALT key I could hit the play button one thing I forgot to show earlier is I hold down the ALT key I can hit cancel and it wipes out that data so as I go back and forth while I'm holding the ALT key down hit cancel it goes back to New mode again so a great question we have here from a few folks here I'm glad you guys are queuing these up and Nate any any good ones that you want to queue up please go and put those in my uh my uh queue here in the banner and I'll start to answer those uh as we're starting to wrap up today's session here so one great question was from Tom what happens when an app uh when that Creator leaves the organization so there's two things you can do uh if you're an owner of the team with Tom for example we both can still edit the application or both the co-owner of the application however there's also Powershell scripts you can run to basically go through and and assign uh assign a new primary owner to it additionally alternatively as well there's something called the center of excellence toolkit I'll open that up in a second time to show you what I mean but uh let me see here I think I've got one already open there we go let me go over to my Center of Excellence toolkit and I'm going to answer this a little bit more uh robustly here for you Tom all right so if I go over to here one of the apps when you install the center of excellence toolkit is app permissions and it does all the stuff I just talked about all the oh okay let me find it easily there so we go to apps in the environment and there's one called app permissions here they are to set app permissions so when I click on this uh Tom what this will do for you is allows you to reassign this this is an app from Microsoft where you can go and select any kind of app you wish and we find one of Nate's apps here I think I got one in my mock-up environment there we go uh this one right here gamified classroom this one is actually an orphaned one so I could go through and actually reassign the permissions here I can also find any orphaned apps and on those orphan apps I can go ahead and select it and add permissions to myself to where I am now the owner of it again you can do this in Powershell but this is an app that you can install for free it's called the center of excellence toolkit to knock that out oh would you believe it I just got an approval so here's the first piece see the record it goes to bing.com in the background oh do you believe it I got an approval of their email also so as I look at this I can go ahead and hit the reject button and say because I don't like you I can do it in my email in Outlook in teams on my phone whatever I wish and when I hit submit that record 1004 is going to proceed now for every subsequent record oh I got another one for that next record that came in came through super fast we can see that's been rejected the next record uh next flow already came in as well so we can keep on going additionally if I were to go back over to teams here we're going to see that that record now should be should have a red background on it as well additionally by the way there is also an approval Center on the left side this is where you can see all the approvals for each individual environment and what's in your queue right now to approved so if I click on that we can see that uh for this personal productivity environment here's all the stuff I've got but if I go over to the environment we've been in the day which I think is to learn with the Nerds uh here are all the approvals I have and here's who approved it here's who rejected it you can also see DocuSign stuff here in Adobe science stuff here as well but again uh back to my app here which is in teams there we go this will take a few seconds I think I'm still in designer mode so it's still spinning because of that But ultimately now the record has now been updated and it now has a red icon on it not a blue icon or a or a golden icon now so I'll just open up I think I've got my teams open in the background there we go if I were to hit uh Refresh on this let's go out and come back I should do it oh let me just refresh so uh by refreshing I'm getting all the list metadata out and it should Now give me the latest application there we go and okay now this is interesting you might have to hit control refresh sometimes when you get this to make sure you get all the latest metadata so it's been cached for performance and that's why I gave me the wrong app back there we go there's my red and we can see I can't actually I cannot edit that application anymore also all right excellent so let's start uh Nate would you mind start copying some questions into the banner for us we can start to answer those I see oh I see my next my next record just came in so once you have those that record in you'll see there's my next approval coming in I can go ahead and this time I'm going to um I'm going to forward this over to somebody else or I can just go ahead and approve it inside teams this time and there it goes so that's been approved I got notice in teams and then back in the teams area we'll see that the contract app it loads up and that's now green awesome so you built a pretty comprehensive app over the next over the last hour to two hours and a half here amazing job hopefully you're pausing me along the way and and trying to build yourself of course this is being recorded as well we're going to answer some questions here for a little bit here uh to make sure we've got some good stuff here let's start with a question from Victoria what happens and I'm gonna go ahead and just go full screen here what if we want to share this externally as of right now it's hot as of October right now at least the person would have to have a full license of teams to see your application so Victoria they would have to have access uh to your Office 365 license to share that externally as of right now they can keep their email address but they must be licensed so that's that's why that it does not work right now alternatively though Victoria you can use uh like power portals if you wanted to to our power power Pages now it's called to ultimately allow your users to to see that data externally if you wanted to as well all right so we got some other ones here uh the next one is there a way to sync up the approval feature in teams with approving a task and service now unfortunately I don't know a servicenow well enough uh but there is if there's an API you can do it of course if it's seek sword and SQL Server you can do it as well I've done that for things like SharePoint and other systems but I have not done it here as well so you can you can you potentially can do it whether they charge you or not I don't know on that one so that's that's a good question unfortunately I don't know the answer to that one so from Sean well the center of excellence app can you assign a security enabled Outlook distribution group as the owner unfortunately the owner is an individual so you cannot you cannot do that but uh you you can make co-owners in the application if you wanted to uh at least at the time of this recording again uh that date that data always gets outdated fast here all right question here can you print out a gallery search results what a great question so there is a command there's actually a number of commands you have uh let me go back to my powerapps area one more time get back to build again and open up the application oh and I went out of focus again there it goes all right so to the to the this is the question from uh Boston Career Institute all right so once this opens up uh there is a command called print so what you basically do is you create a print preview screen where it looks just like what you want let me show you how we would do that if you if you wanted to knock that out so I would create a blank screen I want to look at a print preview screen in this case once this opens up all right give it a few seconds I'm going to go ahead and uh and create a new screen it'll be a blinker this case and what I'm going to do is I'll you can do a number of ways of this I can actually under insert you can put a data card be a table here I can also just put my gallery back in here all right a vertical Gallery okay and kind of lay it out however you want in this case my data source for this I'm going to point back to Gallery one dot all items so give me all the items from whatever you search so in other words if I go over to here and I play this and I search for um uh bad for example all right so check this out and then I go back over to screen three here it just says my bad contract so it knows whatever I have I filter down in one screen will show up here then I can drop a button in of some sort all right and that button will just have the on select code okay we drill down here on select there we go we just type in the word print and then all I would need is that print command like this let me make sure I save this before I do anything at all I'll then play this and then when I click on this it goes into print preview mode and it will look like whatever the screen looks like now so it'll have just whatever I have that's the easy answer uh of course you can make this design it look to look a lot prettier but in this case um it is what it is right there's also a command coming out any day now and it is called PDF oh I think it's out now check this out so I can go and convert screen three hot breaking news this was not out here just yesterday you point to what screen you want to turn to a PDF let's all click on it let's see what happens oh and I got an error all right well I'm the analysis at the conference and you'll notice that right now the feature has not been enabled okay the PDF feature has not been enabled so it probably is under settings here under upcoming features let me search for PDF oh look at that oh that was not there yesterday by the way even last night so if I say this again hit that button okay it uh oh cannot be the Cur it must be the current screen okay no problem let's fix that problem let's make this screen what am I on now screen two all right and hit that button and in my other screen Adobe just opened up it's awesome so it looks like the print preview screen so it's a number of ways we can do that that was something announced at a conference recently they've just added as of today it wasn't there last night now there I've been waiting for it to show up now now this might be something they've generally put stuff in teams first and they get it working that interface first if it works well they poured it over to powerapps for teams next so they test it in one before they go out to the next one also all right so other questions we have uh from shinrich uh can we have a single app to manage all the apps and power apps well that's essentially what the center of excellence does for you it's an app that Microsoft has created for you to manage all the permissions all the app owners the orphaned records all that is done as part of the center of excellence toolkit you'll be able to find in my previous webinar I did the center I did I cover the center of excellence as well as how do you add governance around this whole platform it's about an hour and a half webinar we did on learn lunch with the nerds in that case uh where we cover that piece uh can an app can a teams app create an app for sorry can a teams app create an app for teams they are not a member of okay they have to be uh either an owner of the team to be able to create an app inside there I think that's your question and if I miss that I apologize there all right uh yes it is possible Center of Excellence toolkit is there a way to publish this is a question here is there a way to publish a teams app also as a regular app or copying over a new the appboy yes so this is a great question from uh guyman so there are two ways we can do teams applications one is the way we've been covering today the other way is I hit this little plus button right here and I can search for powerapps this is now I'm in my team now right so I'm in my team I hit the little plus button and I'm gonna search for powerapps now when I do that it's going to show me my environments my non-power apps for teams environments same as my environment's uh right here where I can search for whatever app I want to do and I'll just do this one right here for example whether it's a model driven app or a canvas app I can hit save and it's going to create that admin app right inside of this team also so these are apps that are in make.powerapps.com where this app is hosted in teams this app is hosting the main powerapps environment hopefully that was your question if I missed your question please correct me if I'm wrong all right how do you display an app in a website so when you open up a certain page like this one right here for example uh on your phone there'll be a button a little dot dot dot next to your button and um when you do that I'm not seeing the button here but on your phone or tablet device and the teams application there is a button to basically open up that app in a web page instead so if you don't want to go through teams you can do that as well as well there all right great question uh Kelly let's see if I can answer this one when modifying the form in flow that's already in production how does it affect the flow that's already in progress not yet complete great question it does not need to restart those ones that are already in progress those flows that are already in progress will continue to run with the old metadata but the new ones will run with a new metadata instead so that as of right now at least that's the way it behaves so it will not hurt the ones that are already there but any subsequent runs will take the new one all right uh okay lots of good questions here uh so can any person with teams get get the app if I add them as a teams member yes absolutely so anybody that's team member right now of this team if I were to add Nate as in this team right now uh he would be able to see access to even access this application very very easily there is a governance whitehavior coming out any day now from Microsoft which will have a whole bunch of information about how you can do additional Security on there and how you can also govern this information as well all right Nate I think uh first of all Nate I'm gonna add you back would you mind turn your camera back on Nate so great job helping me out the day Nate gate uh I'm gonna add you back in here as well so hey there you are well I sort of so there he is all right so if you have seen in the chat when that chat window how were the people uh that is my co-worker Nate here thank you thank you so much Nate for uh for playing along and answering the hundreds of questions I saw in the chat window Believe It or Not Today is Nate's PTO day and uh he would he he was uh kind enough to uh to come and help us today on this all right so really quickly here uh again if you go to the um um the the website pragmaticworks.com you'll see the you can check out it's a 50 off code called lwtn 50s and the and the bottom uh right below us scrolling right now so that code will get you 50 offer on-demand learning for just a few days here uh additionally if this really interested you we do things like hackathons where we'll teach you how to fish with your own example Nate and I do these almost uh almost every few days uh we do another hackathon with another company uh building on a power app with your own data and then lastly if you get stuck you can always uh they have a thing called virtual mentoring where we help you get unstuck in a half an hour two hours based on how much time you want well guys I'm gonna give you 10 minutes back uh we have a lot of questions coming in thank you so much for joining us today uh the question here about Excel the the um the piece we showed for the PDF is brand new it's only PDF right now and if you want to go to excel you can use links like power automate to go to excel hey Nate my friend thank you for helping out and thank you for joining us today on this uh learn with the nerd session have a great day thank you so much thanks for the great questions bye everyone
Info
Channel: Pragmatic Works
Views: 43,352
Rating: undefined out of 5
Keywords: pragmatic works, brian knight, microsoft, microsoft power platform, microsoft teams, power platform in teams, star schema, dataverse space, power apps, microsoft power apps, microsoft power automate, microsoft flow, role playing tables, calculation groups, what is power platform, what is microsoft teams
Id: ynKtu_QZhOQ
Channel Id: undefined
Length: 170min 15sec (10215 seconds)
Published: Thu Oct 13 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.