Canvas Power Apps AI Functions (For Dataverse)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
you know what Kurt I heard about these new functions in power apps yeah some AI functions I got all excited and uh do you know anything about this any um you know right so I I stumbled upon these I guess these have been released for I don't know a little while I didn't know I think you did know about it but just refused to tell me you was holding back on me but you know and it's not your fault because I kind of I you know me and AI we've kind of had a I don't know I just haven't really warmed up to it like a lot of people have you know and a lot of it I think is just because it just doesn't seem like I'm I would I don't know how to use it in my my life that I'm using right now except for for it to come up with ideas and to me I come up with better ideas than cat GPT anytime I just I just believe that my own my own uh imagination is good enough for the most part you know um I'm not saying I'm not saying don't use it okay I'm just saying I haven't gotten excited about it but then when I saw these functions so I you know every every every Sunday morning I I get up and I try to look at what's new with power apps and see if I can learn something new just for an hour or so and uh it's just part of my learning ritual my continuing education and I stumbled upon these AIS you know these AI functions and there's a family of them of about six of them they are they are for the data verse specifically and they're for they could you be used in model driven apps and maybe something else but also in canvas apps and that's where you and I specialize in canvas apps that's what we do I don't like forms um I I understand they're necessary evil sometimes but but I like that canvas apps and and I think you do too Darren so I got really excited when I saw it and and we actually have functions now this is why I like it this is where AI comes home from me because now I I can actually conceptualize programs that I can use these functions in to make life better like for instance and I'm going to demonstrate all these here in this live stream um there's actually four of them that I've got working right now that I want to demonstrate today one of them is not ready yet and in fact I'm gonna just show that my it's my screen up being shared right now yeah let me let me bring that up I'll hide mine okay and here we go very good just before because I want we're talking overview here but just before we get going you see in this purple box right here it says the AI extract function which is a function that's going to allow you to extract emails or phone numbers or whatever else from somebody's messages right kind of neat maybe a business card type thing extraction right where you want to see business cards you could extract it so uh anyway it says the AI function is still in development it might not operate properly we will remove this note when it is ready to use and sure enough I tried it it doesn't work now another one that I'm not getting to work is this AI translate would you be able to zoom in a little more absolutely my eyes I always forget to do that and you know you're not the only one does that help a little bit it does thank you so another one is this AI translate function I'm not for whatever for whatever reason I haven't got it working yet it's it seems to be doing something it's out there trying but it's not not I'm not getting anything back but four out of the six functions I have working today and and I want I want to demonstrate them if I can fantastic yes okay so anyway this is the family of functions you see this right here you have ai classify which is which which is pretty cool we're gonna get see this you enter in the titles or the classifications it takes some text and it tries to fit it in one of those classifications for you so let's say you you if you have you know this maybe this is a customer information screen or something like that and they're making comments well does this go into technical support is it going to go to sales is it going to go to Human Resources is it gonna so you can make these categories and then it'll it'll try to fit those in there for you and it does an amazingly good job I tried it another one is uh the AI reply so you well let me not get ahead of myself let's go to AI sentiment the other one is AI sentiment this is my favorite one I'm so excited about this this is where I see as a programmer as a developer I see a lot of use cases for this AI sentiment and what it does is that it'll take a comment and it will tell you is it positive in nature is it negative you know that maybe it's a product comment are were they positive about this product were they negative about it or did they just not care you know and imagine you could you could actually do a count rows and have that sentiment stored and be able to take the temperature of the room for your for your p or for your students or for your customers you know we've got an 80% approval thing here or or maybe you've got a list in the the beginning of the day where you could have um say say a gallery sitting up there and it would just show the negative sentiments and then that could give you a this is a list of people that I need to talk to right because we got negative issues they got Pro they got problems with our product so we need to talk to them and find out what's going on and now we go to the AI reply now I get excited about AI reply because it will even formulate it'll you you throw at some text say we take that negative comment and we throw it at this AI reply and it will tell you it'll give you an idea of something that you could do the text to reply to these people in and we're gonna demonstrate that today nice right yeah we also have ai summarized which is similar but different than this all these things they're kind of related the AI summarize will take any text that you put in there and it'll make a summary of it so let's say if it's somebody like me who's just really long-winded and talks and talks and talks talk so what's Kurt really saying here man and it'll tell you within a paragraph what Kurt's saying you know kind of neat right it is so those are the four that I'm going to be able to work with I'm going to work with classify reply sentiment and summarize I cannot work with extract and translate today okay one because the Microsoft says they're not ready and two because I'm just not smart figured out yet I don't know what's going on it may not be working because of Microsoft they haven't put it out I don't know but at any rate um I think this is a good like I I'm hoping that people can see what I was talking about with that and they could understand the the the the power that you might have right here just with those four functions that you could write into your apps you know yeah now let's talk about that now let's go let's let's go directly to it and let's build a small app that does this okay okay so it's all start starting with the data and all all things start at the data and you'll see right here on my on my uh screen here I've got a data verse table sitting here and it's called lab customers and i' you know I do I do labs for the accelerator students and I do labs when I'm trying I'm trying new things out so I you see this lab that's probably something for accelerator at some point coming down the road right so you accelerator students you know this is we're going to be doing this and uh so I've got a customer table out here that I create and it's a simple table right now because I want to keep this Bare Bones so that everybody who's watching this that you guys can just you can you can Garner the the things that are important to be able to use this and then just leave it to your own imaginations to find new ways of of working with it okay so so we have this database table simple simple Bare Bones customer table in my name I've got nothing but the customers's information here that which we're not going to use in this in this lab maybe no we're not going to use it anywhere in the lab and then I got the full name which we're going to use and the most important thing I want you to focus on is this field called last rating because what this is is this is just going to be an emulation of let's say in this case we got Greg Ellis as the customer and he he rated a product and he didn't like it he said the product is junk and then I've got Ron hkl who said he didn't really care he's got no comment and then Shirley Davidson says she loves this product so that's gonna be and we're going to test the sentiment on that so this would be the this would be a a a sample of some some just simple text that you could throw at a at AI now there's a couple of limitations in AI um what one of them we're gonna talk about right now and that is that you have to you have to you've got to do this in a behavioral type uh property or event I call it um you call that imperative right you call that an imperative type property where you got the on select or the on visible it's got to be something where you got to put code in where you're G to need semicolons right yeah it's got to be in a behavioral type situation but I found a way to make it so that you're not necessarily so not necessarily we're gonna find out here in just a minute all right so uh so we have that um that's the first limitation I want to talk about the second thing the this is where a lot of people might get confused about they might have looked at this saying oh what a neat function and then they see what you got to get done and you're like oh that sounds like it might be too much involved so they go on to another function right right this is this isn't as bad as you think so let's go and do that let's talk about that so the first thing you've got to do I've got this little table or this uh this app that I started creating and I was I started putting it together and I said you know what we're just G to do this during the live stream so let's just I got I've got the beginnings of this and we're g to talk about the sentiment function first but the first thing you got to do is you have to go over here to the data source and I'm going to go ahead I got no data sources so I'm going to go ahead and put in my my my customer table first so I'm G type in Lab customer see it right there I'm click on him and then if he ever gets done there he is I'm gonna do other AD now this is what's important guys this is what you have to pay attention to environment oh there's a data source called environment out here this is a data verse data source it's a table and I'm going to go ahead and connect it's you have to use this in order to use these functions right now wow okay so guy let's pause right there in order to use these power apps functions we have to pull in a dataverse database table into our project did I understand you right not just any database data verse but the environment dataverse database okay okay okay there's a table called Data or environment so if you're a a SharePoint person don't have access to data verse maybe you don't have the premium license too bad so sad yeah yeah I guess that's important to talk about right this these functions are only available in the data verse okay they're only a available in the data verse um and if so so to me you know maybe you weren't really excited about dataverse you know but there's a lot of cool things you can put in there like if you got a premium license and you can use dataverse there's a lot of cool things you can do with it but this right here gives you a lot of reasons why you might want to lean towards data verse because this AI is it it's not just co-pilot out there helping you create a table or an app this is you creating apps using AI this is taking your programming skills and enhancing them to use AI love this this is this is what they call leverage for real now because you're not just giving up you're not just giving up control as a programmer I love control so I get to control the flow of the AI I get to control what's coming in I don't want AI talking about all this other stuff I want AI telling me what is the sentiment of my customer right now what is it right now you know I just love it I love it this is you're giving up a little control to have ai in your app but you're get you're G you're gaining so much with that interface yeah I I mean this is something that I feel like maybe might woo me away from SQL Server is my favorite data source right yeah so I always maybe SQL Server will have a connector to data verse or they'll release some tsql functions that I don't know they got they've got to throw in some AI features SQL Server I mean everything has to have ai to be current right you're right world but it's really important I want people to stick to understand what I just did there you go to the data sources and you pull in this thing called environment you think environment I first I'm think environment variables and blah blah blah and all but no it's a data source the environment data source okay bring that in and now here's the other thing remember I said there's two things that you got to know about it the one limitation is is the fact that it's got to be you know you you you've got to do it in a behavioral type thing the other limitation is is it is this code it's you could tell it's it's an API connector but it's it's it's connected to the environment name space so you have to address the environment name space every time you use the function okay they said it now I'm G I'm gonna bring this back over here real quick I'm gonna bring this um this documentation here because I went and did a little research on that okay and it says if I can get to it here yeah no we are in the process of adding the same function signatures that's your name space that other Power FX hosts enjoy a canvas the new signatures will augment and not replace the current mechanism apps using the current mechanism will continue to work without modification so in other words what they're saying is right now you have to use the environment dot function name and we're going to demonstrate how to do that in just a moment okay but you're but because we have to do that in the future they're going to let us do this without having to address that environment name space but if you do it now it's not going to hurt your programs later is what they're saying okay okay so so uh I think we're good we're good to go there so it's safe to go out there and jump into your data verse because they are they're saying they're making changes to this but the environment name space is going to just kind of be invisible in the background because that's what's happening with every Power X Power FX uh function out there it's using some kind of a namespace anybody that's done C or C++ programming knows that you know so could you rephrase that for somebody who doesn't have any experience with Java or CP or a language like that what in the context of just power apps and Power Platform what what is this name space what what is that so you guys have seen functions out there in power apps and you got like let's say uh I don't know sum and average and all these different uh functions there's a whole list of them right those are all in the Power FX they've got this thing called The Power FX name space out there they've called it something and they've made that the native tongue of of power apps okay what they're saying right now is we're going apart from the native tongue of power apps in other words right now it's not part of our of our thing we can't do it so you have to go out there and find another tongue that can handle that so we're going to use this name space and we're going to call it the environment name space they put that out there and and what it is it's just a function that sits out there and it's attached to the environment table okay it's not attached to the native set of functions that power apps has but they're saying they're going to be making it that way okay they're going to be making it that way soon and but it's not going to change any anything that you do today if you write a program today it's still going to work tomorrow when they change it to the native tongue does that make sense yeah okay I'm keeping an eye on the comments uh no more no more says great actually a logo says no more in there that's awesome now I don't know maybe maybe maybe great was met factiously there maybe it's like great but maybe like great this is fun I don't know so um okay so let's go ahead and get started on this thing so we have an environment in here and I have my lab customers now one of the problems that she the limitation I talked about earlier was that see Darren's got me off that's not centered so now I gotta fix that okay that's your fault Darren you did that to me I'm gonna go ahead and I'm G to bring in a blank vertical gallery and like I said we we have to use these functions in a in a behavioral type place in a behavioral sense I am going to just let me let me make this thing just a little smaller don't you love that new purple bar oh it just drives me crazy Darren it absolutely does and what also drives me crazy is I can't get a hold of the the handles right that bothers me too sometimes so I can't get a hold of there we go yeah and now I'm gonna widen this thing out a little bit I'm just gonna come out here come out here with it bring that up just a little bit so I got that oh my goodness it's there we go we're close enough that's close enough to what we need to do there so we got a little database we got a data source here and I'm not going to use this I'm going to now what what so where I would be initializing this at is in the on visible property maybe I'm gon to pull this thing into a collection because what I'm gonna do is I've got a sentiment sitting out here see I've got the sentiment field out here yeah I've got a I've got a a field out here called my last comment or last something I can't remember what it was but I'm G to use the sentiment on that and what I'm going to do is I'm G to put that in I'm gonna do an add columns on that and I'm gonna put that as part of my table when I'm coming in now I'm just gonna throw this is a little trick I use uh if you're only dealing with one t one one screen you know and you're trying to do some unvisible work you know how you got to always have another screen you got to make it invisible so that the unvisible property fires what I do is I just put a button out here and anything that I'm going to make in my unvisible I would put in this button that way I could just click the button and that's kind of like my initializer right sounds like what's that I said it sounds like a pro move it's it's a pro move um I'm gonna I'm gonna call this create collection though I'm just GNA oh I didn't want to do that to my button here TN uh collect and then I'm going to put here I'm going to go clear [Music] collection Okay so we've got that there and then what I'm gonna do now now this is where this is this is how you set this up this is how you create the variable we're going to go ahead and create it uh we're going to implement the function and put it in a collection okay so I'm going to say clear [Music] collect and I'm going to call this Co Customer because I'm going to go to my customers and my customer table and get that but what I'm going to do first is I'm going to do an add columns here and I'm going to go to lab customers because that's the that's the data source the persistent data source I'm using and I'm going to put a a thing a field out here called sentiment would you able to zoom in on your on your screen having a hard time will did I not put that in look at that it's got 150 different browser I thought I had it but I didn't okay everybody sees that now right yeah in fact I'm gonna move us down below so we can zoom in a little more okay now here here's something here guys that you just if you're watching this you're probably going to be hearing this for the first time and if you've ever used add columns or sort by columns or whatever here in the next week in fact I think it's this week it's going to get released and they've got a version number I saw but I don't remember what it was but you're not going to need to use these double quotes anymore that's coming up so it's gonna be nice to be able to do this and not only that but you're not going to have to use the display name or the the schema name I'm sorry not display name The Logical name or the schema name not like like in sort by comms or something like that you got to do that cr4 uncore blah blah blah you'll just be able to use display name so soon that is that is significant that's a big deal for me especially you know I love they just keep they just keep rolling out new features so can you imagine where powerups is going to be like in a year or two you know you know Darren we've talked about this a few times um but you know we talked about Visual Basic and if for some of you guys watching this live stream if you came back from the Visual Basic days if you remember and we talk about how before visual Bas vb3 it was we called it a toy language it what you couldn't really take it seriously but then all of a sudden right around version three it started getting like well maybe we need to start thinking about this Visual Basic thing and then when it came out to four and then five and six it was just like it was in it was it was the Golden Age of programming right it was just like the most amazing thing ever and then they made Visual Basic go away and I was so depressed and that was because their efforts are going into this and you see how power apps and and what you showed it to me I think power apps right now is in version 3 point something right so that means we're in the we're right now at that same stage where it's time to start taking power app seriously here guys it's not a toy language anymore and I think pretty soon we're gonna probably see version four and then it's GNA be like okay here we are they're working on this guys it's and it's GNA be slick and I remember thinking when I first saw when Darren was showing it to me I thought this is a toy language this is just the dumbest stuff man I am so on the bandwagon now I absolutely love it it's you know and they just keep making it better so here we go so we got a collection I'm doing a clear collect I've got the uh the cut the collection name um and then I'm doing an add columns to the lab customers the persistent table so in other words customers doesn't have a sentiment field so I want to put a sentiment field on it and that's why adcoms is like my favorite function because I can I can put stuff on there on add it to the the normal table but I don't change the underlying data it's just there in memory so I've got a memory field hanging off the side there and what I'm gonna do is I'm gonna invoke the AI function right now and I'm gonna take its output and put it in that sentiment so I don't have to keep playing with the AI function I can go out there and have it as part of my table now and carry it with me everywhere I go so here we are folks right now so remember when we had to bring in the data source environment so I'm going to go ahead and do that right now and you'll see environment comes right up but look at this look at the intelligence here look at this do classify do extract and we got ai. sentiment I'm going to go ahead and click that right there wow okay neat right so then what's in that what's in that database table that's what I I might my mind is having a hard time jumping that is all the functions that theyve assort they put in that yeah yeah so are you able to go into Data verse and look and see what's in that table I'm I'm just so curious I I don't know but let's let's go let's go down that path and let's go do an exploration after we get this one done because that is a good one and you know what we might end up going down that path and realizing that that needs to be another live stream okay yeah so because that sounds like a big deal to me yeah but you know what just just to put an accent on what Darren was talk talking about look at this when I when I put this in here and I hit dot look at all the stuff that is in here look at all this stuff these are Fields Man Delete what yeah this is no way there's a lot coming down in the future for this stuff exactly look at this bolt delete we got delete files this is going to be neat stuff right here folks my all all these gets you know whenever you see a g that means that's read ability to read right so when you see get Auto number seed get entity get job STS these are these are these are things coming at all just it's endless absolutely endless public XML remove parents and some of this stuff might be stuff that we aren't really supposed to be really messing with too so [Laughter] program might not work as planned if you use it right well you'd think the it wouldn't even show up in the intelligence if uh right but this is a weird thing because it's a database table and it's also a programming name space like what yeah is that interesting that is it's crazy interesting so let's go but that just shows you what how big this is and what Darren was Darren was fascinating he locked right in on that environment and saw all the stuff that's in it said wait a minute we got to go look can we go look at this well we're going to go find out later on maybe we're going to stay tuned we're going to do this in a different live stream in fact I think we should do that there what do you think make another live stream let's do it yeah okay so let's go ahead and hit stick St with the the plan here AI sentiment we're GNA put that in here now as soon as I do this we got we've got a preter here called text and it's telling us to put that in there now this is important it's an a it's it's a an API call which means it's got parameters coming in and it expects the parameters the way that you have to plug those parameters in there exactly the way it expects it to work otherwise it will not they will not accept the parameters which means that you have to have a uppercase t in TX not a lowercase TN tax it has to be exactly that perfect right so the first thing is in this is going to be um I I'm going to go ahead and I'm going to do last rating here last rating is in my data source and there it is it comes up in my intellisense sh okay then now now I just closed this AI sentiment but what that is it's an object it returns an object so what you have to do now is you have to access something that's inside of that object so what we do is we do a period and you'll see you have this thing called analyzed sentiment come out that's an object name that you have to have in here you put that in there that analyzed sentiment is going to be a text field that is going to be able to be put into your sentiment uh field that you hung off of add columns so let's go ahead and close this add columns up and let's close the CLE the clear collect and there we have it we are we are clean we got no red squigglies we're ready for liftoff so let's go ahead then and run this thing once and see what we get from it we run it we clear we do this clear collect we get our champagne bubbles going on it was pretty quick for once and let's go ahead and look at call customers now and look at this sentiment right here look at that oh positive negative neutral based on the comments are those the only three yeah because I've only got three tables in three three records in here with three well what I'm saying is like like if we had 500 rows would it still only be one of those three choices yes I'm sorry yeah good good question good question exactly right that it's gonna narrow it down to just those three it's either gonna be positive negative or neutral and for me that just when I saw that my mind just went this is amazing guys I just got excited let's go ahead and try to consume this once um let's consume this information let's go ahead and put call customers in in our in our uh data source here and let's let's go ahead and insert a label now you know the problem with this is is it probably only pulled in stuff because I'm not using it so it might not put in like full full name it didn't bring it in but it is part of my data source right so I'm going to go ahead and bring that in now watch when I do it when I do a clear collect again it'll have that full name in there because of that's the explicit like the lazy loing stuff exactly right now you want to show people that uh that setting that will I will I will let me okay so let's go ahead U now help me out Daren I'm go to uh I think I gotta go over here to settings right yeah and I think it's in upcoming feat something like that you have to search for the word explicit oh search for explicit there you go that's what that's why I got you here man you you know this stuff well I'm glad to be useful some way here you are so useful disable explicit column selection I'm you know what I'm just gonna leave it alone because I want to show you what happens here okay for now okay but we saw that all right so I might be going back to that here in just a minute okay so in this so then I'm going to do the customer comment here let me let me do a cut and paste I do it two times I'm gonna put go over here and put one more over here and then this one I'm gonna have last rating and in this one oh look at that it's there and then on this one I'm going to do sentiment bam look at that now watch what happens when I run this and do a clear collect now because I'm using the customer information the full name it's going to pull full name in here or at least it should notice it took a little bit longer this time too right yeah oh boy did it take longer so sometimes it does that to me sometimes it takes a long time there it goes you see where I brought the customer in now yeah that's what Darren was wanting me to show you guys if you go over there and you shut that off let me go back to settings again because because what the difference why I wanted to show you was first I wasn't using full name so it didn't bring it in it was empty but then when it saw that I was using it when I put it in a label it saw that I was using it that's why those bubbles were going across it was say oh we need some more stuff let's go get it so it brought in that full name for me that's that so so but what you could do is you turn that off that optimization off not exploit explicit okay if I turn that off or or turn it on I'm sorry where I disable or if I disable it then it will it will bring all that stuff in automatically and doesn't have to think about it okay I don't want to have to refresh right now so I'm just going to go ahead and leave it alone I'm gonna go ahead and write Aline this because it's just looks terrible and I'm going to put a border on this because I need need one and I'm going to go ahead and and make a highlighted column right here because I feel like I need that too so I'm going to go down here to this or the template F I mean and I'm going to say if this colum or this this item I [Music] mean do is selected comma color. light blue else close that up and now I've got a now I've got a I could tell what roll I'm on that's gonna come that's gonna come into play here just a minute I'm gonna make this small just because we're only working with just a few records because I want to show you another function in here in just a moment I'm gonna go and this that way you know that way things bad things happen we've got we've got a stopping point so we've got we we I showed you how to to do this environment um set this up right here and that's within and add columns but let's go ahead and uh let's go ahead and do another one where we're gonna actually you you'll see where Shirley Davidson loved the product and it was positive Greg Ellis said the product is junk and it was negative so maybe's let's let's say let's say we had an app here that was going to have to reply to these people it could generate an email response to it or something all right let's go ahead and do that real quick yeah let's see I'm going to go ahead and create a label here bring a label down here I'll just put it right about I don't know about right there this is cool and then I'm going to do another label let me put a border on that just so that we got one on [Music] there I'll have you guys know too that I don't usually Darren's the one that's doing the driving around this is something I don't use do very often so I'm this is nice I like being on this side I bet you do I bet you do gives you a little bit of a break but let me tell you it's not as easy as it looks folks it's really not yeah okay and I'm going to go in this text I'm going to say potential potential reply to selected customer comment let's make that a little bit wider uh let's go ahead put that at about 15 let's change the font to bold I like bold and stuff I like lots of bold comments I'm a bold kind of guy oh what just happened there oh what happened I change I I wasn't off of it yet and I went down I darl narrowed that's close enough right yeah good enough yeah let not gonna yell at me I I'm I'm taking my own personal notes I'm silently judging you go ahead you are I bet you are too okay so and make sure I've got all my notes together here I've gota I want to change this text now I'm gonna go ahead and I'm gonna make some red squigglies real quick because I'm gonna we're gonna put the response I'm gonna I'm gonna have a button is going to get the response and I'm going to put it in this variable so we can use it with a update context which is my favorite thing let's go ahead and insert a button and we're going to say draft [Music] reply okay and in here I'm going to put Let me let me blow that up just a little bit here in here I'm going to say update context now oh go update context and I'm going to say loc response that's what we're putting in that label down below and again now here we go we're gonna we're gonna invoke the environment variable all right and if you look down here we're going to say AI Reply look at that bam look at there AI reply I like to put a space after that because otherwise that sometimes when you use the intelligence it'll blow away everything to the right and then you're like what the heck what in the heck where' my code go right right so again just like in the other one it needs it needs it needs a record actually let me just bring the intellisense back up and you see the text right there hit that and then what I'm going to do is I'm going to say gal what do we call that I didn't name it did I shame on me G gotta Practice What You Preach bro well you know what I am right here I'm gonna say gal customers because the rule is Right Darren that if I'm going to use it in code you must name it yeah you really should I'm using it in code so I must name it and so I'm gonna say gal you know sometimes that's a healthy should you know they always say should is a very unhealthy word but sometimes there's things in life that you should just do and that's one of them it's like you know don't on me man yeah don't sh dang do is Select no not is selected selected dot dot uh what was it was um it was uh sentiment right yep there it is so yeah yeah sentiment and then I'm going to go ahead and no I don't want that I want last rating I want to read the comment I'm gonna read the comment and I'm gonna write a reply to it I got sidetracked here for a second sorry okay and then that's going to be I'm going to close that I'm going to do a DOT prepared response look at how it puts prepared response in there for you and then I'm going to go ahead and close that so so it's kind of interesting here this update context requires a record right for those of you who haven't used that a lot update context requires these curly brackets which delineates records usually and in this look at this we've got a nested delineation of Records here because this AI reply is has a set of Records too it's got a set of curly brackets so there we have that so what's going to happen then if I click this now I think this should work so right now if I click okay Shirley Davidson loves this product let's see what the reply would be thank you for your feedback we're glad to hear that you love our product if you have any questions or need further assistance please let us know we're here to help is that amazing or what it is dude now what happens if I say this product is just let's draft a reply to that I'm sorry to hear that you're not satisfied with the product I understand your frustration and I'm here to help could you please provide more details about the issues you're facing with the product this will allow me to assist you better and find a solution is that amazing it is and what happens with Ron hle has no comment and he's neutral what does it do to that thank you for reaching out I understand that you have no comment at the moment there's anything specific you were would like assistance with or if you have any questions please let us know ain't that great it is man guys this is a game changer we've done this we just developed an app that takes the customer's response to a comment and tests the sen tests testes the sentiment and then it'll actually write a reply to it got the power Darren who's got the power I got the power that was necessary but yeah this is a huge deal I just I'm so excited about this folks can we pause for one moment and think of all the cool ways that we could use this in our power apps apps we can let's do it and you only showed us what two or three of the functions two we're at two I got two more to go wow it's exciting isn't it it is think about this now like it are we ready to go on to the next things or do you want to talk about this and unless you got any more ideas of how this could be used let's I mean G will I mean right here I just I just I I think well number one I think I said at the beginning think about if you had a list of let's say you had thousands of customers and you wanted to know what the comments were for the last month and you could take the temperature of what your your business is been doing just based on comment iteration I get thousands of emails every month I would love to help the help of AI you know we actually did a live stream where we're using the Office 365 Outlet connector pull out all those emails to get into dataverse and help me craft a reply I mean if nothing else if nothing else you could just have a an empty an empty text box sitting out here and you could just cut and paste your emails throw it in there and say hey generate a reply to that you know you could do that just that simple I mean you know you don't you don't even have to do anything fancy you can just have that and that's gonna help you like crazy right we should we should have a work up on this we should we really should okay so we're we're not done yet folks we're not done we're only we're we're not home yet we're not even we're not even halfway there so let's get moving I'm gonna go ahead and create another screen because I want to show you this AI summary function okay I think this is some pretty cool stuff too let's go ahead and create another let's go back up here go go to new screen a blank one and we're going to call this AI summary screen [Music] okay just like that and let's see so I'm going to go I'm G to close this up so I can just see that let's go ahead and insert a couple labels we'll just do one for now let's get that set up right to [Music] memorize let make that seems small doesn't it it's because I got that that thing blowed up a little bit don't I yeah I'm gonna bold that I'm GNA go ahead and insert a text input box [Music] seems awful close there I'm gonna go back down there we go I'm going to bring this over here let's just widen that up a little bit uh I think it's text I want to go to multi-line maximum length display mode mode right there multi-line okay that's we got that one now I'm going to go ahead and copy [Music] this I just absolutely cannot stand that purple thing gonna drive me crazy summary the golden hen you have been promoted you are now one of my leite employees the golden egg H is Lan eggs again he is losing his mind I need you to clean up those leaves over there uh leaves are trash to me right leaves are leaves are trash I don't want those anymore okay so let's go ahead and put another label in here one more time one more again put that right about right there bring this up over here let's put a border on him I just kind of want to set up the prop here a little bit guys just give me a minute I'm just about done too and then I'm gonna have a button down here and this button is just gonna say summarize on it and and basically what I all I want to do is I want to when I click this button this going to take whatever was typed in here and it's going to summarize it down in here okay so let's see what we got here first thing I want to do is I want to I want to call this something more meaningful than text input one I'm GNA call this txt text to [Music] summarize and in here I'm going to put a variable l summarized text how's that that'll be a good one all right and here I am going to create another update context [Music] variable L uh what did I call it did I call that what did I call that variable just that fast I forgot what I call did I put anything in there summarize text that's what it was summarized text summarized [Music] text put space there again here we're going to go we're going to invoke our environment variable or not variable environment data source and I'm going to go to summarize the source that is txt Texas summarize. text right [Music] comma oh that's the only primer I got isn't it I'm almost done here we're almost done here really well with this with this one and then might be our first might be our first on hour live stream oh no not we're not almost done with that we're just almost done with the function you'll notice there's a similarity with all of these right so the similarity is well let me get this closed up so we don't mess that up okay that's that's there what am I doing wrong here hold on okay this has to be a record I'm pretty sure oops and then this is going to be source you know what's going to happen it's going to blow that out isn't [Music] it uh hit intellisense I think that's right there except I need to take this out and then this has to be the end of this needs to be delineated with a A Deal one of them deals curly bracket so so there's a similarity here to this pattern and that's why it becomes really easy when you do this all the time it's always the environment you got to invoke that the name of the function you'll see in the intellisense and then the list of and the reason why I've been really focusing on that is because sometimes they'll capitalize that first letter see how Source right here it's all lowercase s it's got lower case s but yet you see over here they've got um a summarized text where it's it's capitalized over here before if I was using the other functions it would use a cap capital T for the text they don't they're not always consistent within their naming conventions with the with their parameters so I always like to use that intell sense so that that way I'm not getting things confused in my head you know um good point guys yeah and that that's generally you know back in the dark ages of dll Madness we had remember we had you were the wi 32 and all that stuff you had to go in there and learn and you had to you had to put that signature in there just perfect and if you just miss one misspelling the whole thing doesn't work man right so that was the hardest part about that dll Madness was was the casens stuff you're bringing up a lot of trauma for me bro yeah yeah well and that's it's basically that's what we're working with here you're working with a dynamic link library that is on the on the net in an API connector you know you're you're hooked into somebody somebody wrote a function that has this and I'm not dissing these guys seem like they're pretty smart people but they I wish they could just be a little more consistent that's all yeah and anyway so let's see what happens here when I when we do this I'm going to go ahead and run this code and for this right here I'm going to uh come over here I'm gonna I'm gonna show you this for just a second I'm gonna highlight this right here this paragraph and I'm GNA copy it and I'm gonna take it off the screen and I'm gonna paste that in here and then we're gonna say what is what did they just say what did they just say let's see what it says Uh Oh Oh no I got a problem oh no oh oh what did I do wrong all right so my AI summarise was missing something here what did I do oh wait a minute let's see what I did okay okay kill the cup what did I do wrong it's always something isn't it you know why because I got Source in here why I don't know where you know what the intellisense failed me it failed me it needs to be text right here really I think so you notice though it passed the it passed the in intell sense yeah and I don't think I need uh I don't think I need two two parameters let's let's let's try this here again all right there we go we're working right now now it doesn't look like it summarized but it really did look the text states that the function signatures used in the Power FX host are being added to canvas these new signatures will enhance the current mechanism without replacing it ensuring the existing apps will still work without changes pretty cool man kind of neat let's let's see what it says right here uh Darren likes Pizza no hates it's way life monotony um loves his [Music] children and puts up with Kurt let's see how what it says about that Darren is a person who has specific preferences in relationships he enjoys eating pizza dislikes doing the same thing repeatedly cares deeply for his children and tolerance tolerates some named Kurt someone named Kurt good stuff right would we be able to go find like a big par like I don't know three paragraphs and see what does let's see if I can find uh one of my browsers has like a news feed on it let's see if I can find that one just see if I can yeah that'd be cool yeah give me the summary of all the news that happened uh you know for the morning here here's a here's a paragraph about Merill Street yeah let's just see what it says about that hopefully it's nothing bad because I don't like putting bad I don't want to put nothing bad out there for people yeah but I think it doesn't Okay so this is this is a paragraph that you were talking about right here right yeah something like this and then we go ahead and summarize that it says and and it gave a paragraph back that summarized it really you know it's almost like a rephrase instead of a summarize huh it can be but I've actually seen it shorten it down too on some of them do you have like like a whole page you know what I mean like maybe five paragraphs I don't yet I wish you would have told me that before I how about if I do this like this we got that hold on I'm working on it working out [Music] there and then I'm going to press enter and I'm G to come down here and get some more stuff because you know I got advertisements and I'm GNA go contrl C and put that in [Music] here okay how's that that enough yeah let's see what it does okay I like it yeah so that's kind of cool huh I really did summarize it there I like so so again just to kind of go back over because we kind of played around a little bit here yeah what I did is I just I took a paragraph of whatever we wanted to put in here you could also put we could summarize let's say the it was a comments maybe you know I just did these oneline comments out there in our customer database table but maybe that was a big maybe there was a whole lot of big you know multi-line text information in there you could grab that and you can actually have it all summarized right here or you could write a program that just does some summaries you know that summarizes whatever you want to summarize you know I like it so so so far we have checked the sentiment we've actually done some emailing right we've or or I'm sorry replied potential reply for an email and then we've done we've done a a summary of of stuff right yeah so we've got one more I want to do and this one's kind of kind of kind of involved I wanna I want to get into it because I got a good I got a use case for this thing okay let's let's get to it I'm gonna write another I'm gonna create another screen here I think here hold on a second um go over here to my notes yes like there look at there now we're going to come up here on new screen and we're going to do another blank and we're gonna call this AI classify I think AI classify screen just like [Music] that and I'm GNA go ahead and I'm going to put in insert so how we how we doing so far Darren you like what we're doing here you get excited I am go chat gbt and have it create 50 ideas of how I could use this in all my apps that's probably the biggest way I really get value AI is like hey help me brainstorm or create an outline and then I I take things out or put my stuff in or whatever saves tons of time but tons we're going to go ahead and create a we're GNA we're going to we're going to create this category input a mechanism to do that um we're call this txt we're doing the classify okay yep and and I'm gonna I'm G to demonstrate this in just a minute but I want to paint I want to paint a screen real quick um let's insert a button here [Music] okay I saw this on boarding thing we had to do huh okay button I'm GNA do add category but you know guys I I've not seen a whole lot of material on this yet out there no I'm just somebody post something out on LinkedIn about it I clicked on it I'm like I think it just do and like essentially just describe the function and I'm like what and then starting to look into it and I'm like and I'm like I'm thinking to myself I need to get into this and then uh yesterday called me out while I was grocery shopping and I'm like you did what this is what this is what we do guys this is what we do we we are literally uh it's totally organic what we do you know I'll run into something I'll call him up I say D I love this well let's do a live stream okay yeah that's what we did so illino Illinois Ray loving this I need to have ai classify incidents at work and I was and I was going to use power automate this is so amazing time so this is amazing timing to see you do this demo Curt you know what you just made it all worth it to me you know right there if we can have one person in this whole thing it was worth doing this wasn't [Laughter] it yeah but you also have no more that said great I'm gonna do a blank vertical Gallery put that guy right there I don't need to do nothing with him yet I don't think because I'm gonna I'm gonna kind of play around a little bit here this is just taking me a little bit just to set up the prop because this is gonna this is GNA come this GNA make all it's gonna make sense here in just a minute if I ever quit clicking on stuff that I'm not supposed to click on there we go don't you guys hate that um I just want to put a border on for later there we go and then I want to adjust the the template size on this thing now what this is going to do is it's GNA allow us to make some some uh categories and I'm just going to put a simple thing where we're just going to add categories I'm not going to do a lot of data validation to make sure we don't have duplicates and all that we're just going to assume that CT's going to make no duplications in this but you could you know this this is going to be kind of a neat little app though when we're done here I think if I ever get done and I really love that purple bar it's just amazing really helps me I've used it so much since it's come out that purple bar at the top yeah okay so then what I'm gonna do is okay so first thing I'm gonna do is I'm gonna I'm gonna set make sure I got this thing working and I gotta I gotta make my on visible button right uhuh and and I'm going to do an insert we're going to make one more button here because I got to make my unvisible property remember I told you guys I I I like to do this if when I'm developing i instead of putting things on unvisible I just put in a button and then when I'm all done I throw it into the unvisible yeah and then here I'm going to call this H clear categories I'm not GNA call I'm just gonna say clear categories in it because we want to make sure that we initialize it to an empty empty uh collection I'm gonna create a collection that's going to be stored in this uh this thing here you know the thing and the the gallery I'm GNA go ahead and clear uh uh Co category Co [Music] categories of course it does that so what I always do in the front of that is I'll just do a collect real quick and I'll take it out later just so that I don't have to look at the errors and I'll say uh collect categories oop Co categories C [Music] categories and I'm just gonna do that and that and then that makes that all go away and then I'll just take that line out later on that's what I do I know there's probably a better way but you know easy on me so add category let's go ahead and inside of here we're going to just simply add to that let's go ahead and bring this down I am going to now I gotta make sure I called that text let me make sure I remember what I called that txt category okay so we just do a collect collect Co categories comma txt category. text and then I'm going to reset the text box so it's empty [Music] again and that's done and we're gonna assume we're going to do no validation in there we're gonna assume that Kurt makes no mistakes and you know we live in a perfect world and it's just going to put those items in there so let's see what it does uh now that I've got that done let's go ahead clear the categories let's go ahead and now we're gon to go ahead and put something in here we're gonna say um let's say sales add category uh oh that didn't work oh you know what I didn't do I didn't map the uh the I got a hit of myself Darren Co C atories here we go got to put that in there and then I'm going to put a insert a label oops I didn't want I put it right [Music] there maybe not it didn't do it what happened why didn't it do that try it now okay I put it there and so what I'm going to do is I'm gonna have that yep just perfect that's just beautiful so when you when you have a collection right if you have ADD add one item to a collection it just automatically puts it in US it creates a field called value for you right right I just absolutely love that so they might so this text input should have oh you know why because I didn't delete the the default there delete that okay now now it's going to work the way want it to maybe technical support let's call One technical support add the category yay it worked maybe call this one human [Music] resources so we've got now we've got we've got us some stuff in here right let's go ahead and kill this now bring this up here make a little room let's go ahead and put uh another label in here and then another te text input box message to support imagine that you got this company out here that's got a bunch of emails coming in and in this one we're going to go ahead and have a uh multi-line we're going to call this txt txt text to [Music] categorize how's that nice yeah [Music] then we're going to put another label up here put him right there ah and I'm gon to write a line him and that's going to tell us the the category and in here I'm going to put l uh category how's that we're going to put that right there just like that and we're going to have a red squiggly for a moment and then inside of this get category you know what I'm GNA put this get rid of that default too out there get category I'm going to update the context basically the same way we've been doing things yeah L category was the variable I called [Music] it and say okay now here we go again [Music] environment and we are going to AI classify this thing make sure we put a record here oh we got we got it right here we're gonna say text uh now the now this is kind of an interesting thing we have a um AOW multiple so well let me get there let me get this in here first so we're gonna say txt text to categorize do text man this is cool stuff it is it I just love it then we're going to go ahead [Music] and make another let me open that window up so we can see it better there we go then we're going to say allow multiple categories this needs a third parameter because you could have more than one category allot I'm just gonna say no I'm gonna make this false because I'm trying to keep this simple for now yeah and then I'm going to say comma and then it's gonna be it should be categories there it is right there categories and you'll notice all these parameters were capitalized right it's kind of interesting isn't it yeah c c every once in a while you see one that's not capitalist little things like that just bug me yeah they would yeah they bug me too I'm gonna say dot and you'll see it requires classification in there that's going to return all that item it's going to put it in this field called class ification and I'm going to put that close that that's by the close of the update context and we are open for business again let's go ahead and see now what's gonna happen is I'm gonna run this it's gonna we're gonna put some information in here and hopefully it's G to put it up here on the right side at top corner of this message to support it's going to tell me what category it should be one of those three so let's go ahead and do this um how much does your widget cost and then I'm going to go get category and it said look at that put it in sales now let's say I'm gonna say I can't seem to get it to work I'm G to get category let's see oh look at that my my Field's terrible terrible I want to add this into my ticketing system man this is good stuff you better believe it you better believe it um and let's run it one more time let's see if we can make it work for this Human Resources here let's see so uh one of your employees is harassing me is that how you spell harassing sure let's see what it does get category resources Human Resources so it's it reads it and it tries to put it into one of those categories what about U have a nice day one that would not fit in any of those what's it do ah it put it in sales how about if I put uh Darren has a nice smile sales whatever I feel like we need like customer support or something and it be interesting you you put some other stuff you want to put customer support in there or actually I got technical support let's see was there any other categories you want to try to put in there uh something that has what's that maybe doesn't even have uh something to do with business even okay I don't know how about if we put uh how about if we put Sports in there let's see if it has a sports category add category and say I don't like the Cowboys yeah there you go let's see what it says there I don't like the [Music] Cowboys sports there it is very nice huh anyway so that's that's go ahead you've outdone yourself Kurt well I'm excited about this though I'm very excited I yesterday I saw this I stumbled on this and I said oh we gotta do this this is neat um yeah and I just kind of threw this app together just as something to keep it simple and to Showcase what you do um it's not so hard once you see it done right yeah shorts fired shots fired so uh I don't know I guess um more to come right and that's right you know people pay big money for this now now Kurt what's what's the the burning the burning question in everyone's mind right now are you still there you freeze up yeah yeah I'm here what's the burning question in everybody's mind right now uh what's Kurt going to do next oh Reason YouTube thinks you're going to like this video next let's see if they're right or you can select this playlist which I've selected for you based on the content you're currently watching guys got to hurry click one of them
Info
Channel: PowerApps Tutorial
Views: 657
Rating: undefined out of 5
Keywords:
Id: mTozMjUyuGk
Channel Id: undefined
Length: 76min 4sec (4564 seconds)
Published: Tue Apr 16 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.