Build Chat Bots in Microsoft Teams using Power Virtual Agents - 🔴 LIVE (July 17, 2021)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] hello everyone hi welcome to another session live with reza today's session is all about power virtual agents we will look at how to build chat boards in microsoft teams and this is a topic of interest for a lot of folks uh especially someone who has been on my live sessions for the last uh forever actually and uh he's been very active in chat uh power virtual agents uh is something that that he has heavily invested in and for today's session yes we have the hands-on laps which includes powershell agents for microsoft teams which i will execute but we have daniel christian here with me hi dan hey good morning and that is someone who is extremely passionate about power virtual agents and uh i don't think i could have found anyone else who can give a better introduction to power virtual agents than than dan so i i asked him whether he would like to do it and uh without blinking he said yes so thank you dan for for doing this and uh we're gonna start with dan today who's gonna give us the intro to pva and then head over to me for building chatbots inside microsoft teams so then the floor is is yours awesome awesome so um good morning good afternoon and good evening to everybody thank you for joining our show uh hopefully be productive and um so let's let's get started um i'm not gonna do a you know a death by slides but there are a few things that i do want to point out over here and then we'll take a you know overview of what what pva is so as far as pva goes one of the things people always ask me is that why are you interested in power virtual agents and here's really why um i was interested in automating a little bit of work so that the phone calls um can be you know like telephone support phone calls can be actually you know made easier so one of the things was um q a maker because most of the phone calls if you see granted a lot of them can be tech support but others could just be the you know the calls which are leaning towards just simple q and a type of situations questions and answers which cannot be accomplished by the frequently asked questions that's where the chatbot comes in really handy so back i mean it's july 2017 so we're actually going four years ago um i jumped into q a maker and i'll tell you q a maker was a good step in the right direction for me because it was very simple to use um it was also a lot of work involved into it but it was very simple so it was a good step for me since i was not familiar with the chatbot at all uh but there was a lot of work involved in q and a maker i mean it was time consuming to train it um and you had to do a lot of entries you know to judge the answers and whatnot so eventually about a year after that i switched over to lewis now i'll i'll i'll be honest and maybe it's just me um there was a bit of a learning curve from chatbot to lewis i mean q a maker to lewis there was a bit of a learning curve um a lot of it was chat in q a maker i got so used to that easy of you know uploading questions in bulk and answering bulk um lewis just took a while for me to get to it but i liked lewis was because it was a little bit more intelligent than q and a maker but anyway all said and done this is my background when i come from and when pva came out power virtual agents man it was just a breath of fresh air i enjoyed it it was a very intuitive to use um and one of the interesting things that you will see is that it's actually sitting on top of q and a make and lewis lewis and q a maker are still with the fundamental chatbot systems out there in the back so now we know power platform as the four men these four members or the family and usually you see this you know this this slide deck or this uh representation but if you actually look at it this is the fundamental representation of it and the reason for that is because the the pva chatbots sits on top of the powerapps power automated power bi and it gets more and more involved in it so yes power you know the pva is the youngest member of the family but this is the best representation i like to always show that it sits on top of it and it's leveraging each of these other members of the family now the bot framework which the pva leverages is still all of it so that's why i always you know tell people hey um the q a maker or luis is not gone uh you can go ahead and leverage all of these ai and machine learning languages which are still the fundamentals of microsoft we are still leveraging all of this so don't always think that your chat bot is or in pvas is completely new which in a lot of case it is but it's still going ahead and leveraging this entire cognitive services and you're calling all these apis over there um and that's that's the whole you know the beauty of it so that's basically all i had we'll come back to the you know some of the announcements in a minute but now i want to show you just a little bit of overview before reza dives in and starts making the bot over there i just want to show you and give you an overview of what the pva is um just from the original standalone pva site um so let's let's actually just go in there all right so i'm gonna now jump into my power virtual agents and this is a fresh brand new tenant uh which i have so i haven't even actually i mean i've logged in uh this is the first time i'm logging into pva and uh now that i've logged in the first thing i gotta do is create a part now what it did do is by default it went ahead and leveraged the same entity uh i'm sorry the environment that i have in my um uh power has power automata or the power platform so let's pause over there for a minute and talk about is there any difference in those entities um and sorry in those uh those environments and the answer to that is no and yes there is a difference and then also there is not much of a um difference so at the end of the day the environments that you see in your powerapps your power automate they have the exact same environments that you see over here however there's a little twist the twist is right now those entities that you see in your environments when you go from powerapps and power automate you just don't see them easily over here well when i say easily you just don't see them over here however you can leverage them from a power from you know use make a calls from uh power automate but but in that in the case over here i'll show you you know in a second when you go in there are actually these entities over here these are not the exact same entities that you see in um in the um in the powerapps and power automate now i know what you some of you already think you think daniel you just said entities entities has been changed to tables and all those columns have been re-changed so you know what are you talking about over here that's that's such a good question because i asked the product group the same question was like hey uh you changed everything on the power apps and power automate site well over here it still says entities and that's when they made this change which i think was a very intelligent way to think about it because now it makes sense because in the past i was confused like hey there's entities over here and then there's entities in powerapps and power automate so which ones which because they're not the same i can't talk to you know from here so they've intentionally left this as entities to show that there is a difference yes it's some it still stores it in the in cbs side in dataverse site but what you see over here will continue to stay entities until further notice and it also is a proof that it's completely different it is not the same entities that you're going to stay with there so hopefully if you had any doubts on that that went ahead and cleared it because there is a significant difference so here i'm going to call um you know my bot name as you know live show uh show and i'll go and select the language and this was one of the first thing which i really enjoyed uh back when i started playing this while it was still in private preview it was just english and there's more and more languages coming out and in fact they've really gone ahead and stepped up on all these other languages so um then there's plus five more in preview so for the sake of this one i'll go ahead and now just click on the us english and i'll leave it to my default environment which is right now all i have is just one environment this by the way is not a new feature where i can form here click on the section go into the admin center and click my environment and create my environments uh but i'll just leave it as that environment and we'll go ahead and create it now we ran into the block what is it man weekends are just not a good time for demo let's see if you can do that again let's try that maybe the and workers get live demo us which is let me see what was the default yep we'll leave it at that create all right maybe i think i put the ampersand and that's probably what made that a little issue but either way this is how it's going and creating the chatbot now when the first iteration of bba came out one of the things we would say was it can take up to 15 sometimes 20 minutes um and and it does make sense right because it's actually going ahead and you know setting doing all the plumbing so to speak in the back end um you know going and creating any environments that is needed going in and creating any of the uh you know base uh tables or entities that is needed it does all of that but they've actually made some improvements right here i left it at that is that you're building your your um your bot but it can take up to five minutes so they've actually speeded up the process to a third and then depending on your tenant you know and whatever you have um it can speed up a little faster so but you know the point being over here is that there's been some huge improvements in the performance of the chatbot and then there's been more improvements on the additional features what are important in these languages and i'll talk some more in in just a few minutes so i've gone ahead and created that and now i'm going to go ahead and just say explore the bot and right up over here it still says creating your bot and when it's ready you can save your work and see some analytics and so on and so forth so while it's doing its magic let's just focus a little bit over here on what all we are seeing um so right off the bat you know you can see all this information but let's you know work our way from the left and go up to the right home is pretty much home you know that's where you come in topics is and it just loaded all right and topics is the important thing that we focus a lot is what is the topic on which you are building a book it's literally that simple so when you go and click on topics by default it already goes ahead and creates a few topics um if you are slowly getting used to or you know considering to start playing around with power on um power uh uh virtual agents or pva i highly recommend that you go through these four lessons because they are really good lessons to go and learn in fact i did a lot of reverse engineering from those four lessons because each of them actually build in a more on top of each other but what i like the fact is that when you go in you know it literally goes into the lesson and it shows that's a very simple topic and then you go ahead and build on the topics using conditions conditions with variables and it does two things it gets you comfortable with going ahead and building the authoring which i'll come to in a second but then it also goes ahead and you know it shows you the differences between how you you know how each topic works so since we're on the on the topic of topics let's talk talk about that well that's a tongue twister um what i want to talk is that i just explained that yes a topic is what is the topic of the bot but there's a lot of room for improvement over here and they are well aware of it big one is the overlapping of topics now i will say this very honestly that um the the overlapping you know negativity is not just the service which is uh pva it is also up to us the maker when you are adding more and more topics do your due diligence to make sure that you're not overlapping because what happens is when you're when your your chatbot is using if you've gone ahead and put in any topics with some of the trigger faces will overlap over each other then it's difficult to gauge which topic will trigger so keep that in mind do your due diligence in fact um one of the uh uh power virtual agents uh in a day lesson which is provided by my uh microsoft and i'll i'll post the link in that uh sometime maybe reza if you can find it you can post the link um uh the chat bot in the day that's one of the uh emphasis on that training is that figure out how you want to break down these topics um so that you just make sure that when your users are searching when the users are having this discussion they don't overlap against each other all right so now i'll share some of my tidbits as i have used this is that once i've gone ahead and created the environment um i actually go ahead and close this which means i go and turn it off it takes a few extra seconds for it's turned off because i just want to make sure that for whatever reason i don't trigger that topic so that's basically something that i've been doing is after i'm done um you know creating this and i'm you know building one say for a production or a q a i intentionally go and turn that off having said that uh you build you just can't delete it you can't delete this one and you can't go ahead and delete these initial ones that they've already auto generated for you uh and and that's a good thing because all of these ones you can heavily use that you just don't want to use these ones that is purely as it states it's a lesson so you don't want to actually use it in any way um but what we'll do is we'll actually go ahead and at least start taking a look at some of these because we said that it's a topic and each of the topic has something called as a trigger so let's click on it and see what is the trigger now for a lot of some some of you already use this uh you know if you're already aware of it that's fine just hang in there for a while before we jump in but a trigger is literally what it means is what is the set of phrases or words or sentences you're going to use which will trigger this chat box topic for discussion that's what it is and you can go ahead and put in a lot of them in fact here it already says 52 and 52 is basically this number 52 comes from all the phrases that you've added over here uh interesting thing is you can do a lot of copy and paste so if you've gone ahead and say you're building one for a in your company as a replacement for some site and the it's faq frequently asked questions well go and copy those faq questions and paste them over here so that's you know you don't even have to do a lot of rethinking and redesigning you're replacing the faq you put those faq questions right here because that will be your trigger um so just kind of helping you understand things like that all right so now that we've gone ahead and created the phrases you actually have to put in at least five and but they recommend that don't go anything less than you know than ten bottom line is that the more triggers you have the more phrases you add the higher the chances of that specific topic being picked and again that comes back to the original statement i made is that you know make sure that it overlaps i mean they don't overlap too much um but you plan now in fact i've had people ask me this one question which i get i myself my victim to that is that you know then the these bots uh which have built they organically grow organically meaning was it was built for one specific situation then we went ahead and added some more trigger faces over there we added a little bit more logic and this is organically grown and now we are having difficulties where the bots get triggered for a lot of things your topics get triggered i hear you um that's where a little bit of planning comes in when you're going in and you know the bot is evolving just make sure that is it worth putting it in just this existing topic or should you go ahead and add another topic i personally am a favor of breaking down topics a little bit more it helps me in a lot more ways it helps me first of all troubleshooting because if everything is in one topic troubleshooting and improving is going to be pretty challenging so break it down into multiple topics because in that case troubleshooting and enhancements can be a little bit more easier all right so we are inside now we're going ahead and uh looking at our and our authoring and the logic and they all start this one by default here it will go ahead and show you all the triggers that you've already added and then the first message automatically comes up um now one of the things that it does do is if you're building a fresh topic uh it would still be the same thing it will add your triggers it will put this message box and the message box over here will be blank so you have to put something over here at least something over here before you can go and save it and then get outside because it will by default it gives you an error saying that you know that the message block is blocked um over here is empty so as we go down you can go down and it will actually show you that okay it's done is basic greetings and so that's basically a very simple part of this one is all it did was it went ahead and picked up that this is the greeting and then from the greeting area it's basically just put a whole bunch of messages and then here you can come and tweak um best things i've seen tweak over here is that if you have your chat bot company name um something else like you know if we say that hey here i am the rnb chatbot uh then i'll go and tweak this one i'll say instead of i'm a virtual agent i'll say i'm the rnd chatbot and the r and the bot and i can help you with whatever whatever and then i go ahead and save it um and if you know like from the power automate standpoint i can go in and do a verification and chat check over there before i save it or even after i save it same thing over here i can just go into a topic checker um and then i can you know either before or after um saving it so same kind of concepts over here but this is basically a great place for the greeting ones to keep it and also to go ahead and make sure that you tweak it to match you know to customize it for your company all right so gave you guys an overview of what we have over here in just the topics and going ahead and actually building on top of it you know different topics uh give you some overview of the lessons turn it off but also a good place to start um let's go down the pathway here really fast in entities entities like i was saying where you go ahead and create more and more places to start this so for example what exactly is an entity from this uh area in the end the entity over here is basically uh places where you can go ahead and i mean is is tables for lack of a better term to go ahead and help your uh a bot to go ahead and get you know pick up information from here whether it be events or whether it be addresses much more easier for drop downs much more easier for choices and also for the bot to be a little bit more eventful faster understanding and improve on its natural language in fact if you see over here it says that in natural language language understanding an entity represents the information that you're asking over there so if your entity is basically um you know adding entities for stuff like um you know emails events organizations person names things like that this is the place where you can go into an entity what i do want to talk about is when you add entities there's actually a few options and this has improved a whole lot uh using the regular expressions or going ahead and just putting in the simple list this was the way that it was it was available before in fact right from the get-go there was none of this there was just going ahead and putting in a small text size but this there's been some huge improvements and this is basically the way you go ahead and create your um entities so not spending too much time on entities right now but that's just the overview analytics has exploded as far as how much information it provides and i'll talk a little bit more at the end but um bottom line is this gives you a lot more information about how your bot is performing right down to the chat level uh it also tells you how the bot is performing as an overview of how many chats were successful how many of them were transferred over to say a call agent this this analytics out of the box is really impressive uh one of the things that i do like is the this preview feature just coming out and i don't have any content so i can't really show much but what is it is that it's telling you which topic is the one that is getting triggered the most and that helps you analyze your entire environment over here as a whole is that the reason for this type of environment and the bot the mix the central bar over here was to always trigger from that greeting spot but every once in a while it is actually getting triggered from another topic so what is causing that and this uh section which is the overlap detection was actually announced at the ignite of last year it's kind of slowly creeping into my area i was excited about this one i'm really glad that this is coming up because this is going to help me not just tweak the logic of the bot but the overall concept of you know where the bot is and where the topics are being triggered i'll show you an example of the sessions in just a minute i have a greater screenshot for that but one of the things that you have to do is once you build a bot over here in this environment you will have to publish it because say if you're going ahead and integrating this to uh you know either one of these uh uh uh you know locations over there you know be it you're just getting a url and you're embedding it somewhere or you could do whatever this other magic you've got to at least publish it once you can always go and publish it more but just like anything you've got to go ahead and publish it once which is good is saving it it's doing all this you know plumbing work in the back end and then it goes ahead and saves it so this is the main being of big things and then all in all you have channels you can go ahead and update you know you have details to go ahead and update the icon this was pretty neat because it didn't give you the flexibility to do that there's some more ai capabilities coming in big one was the flexibility to topic overlap if you know one of the takeaways that you have if you're if you're already an existing what pva user and you're familiar with everything i've already said focus your eye on this one topic overlay detection is currently in preview they announced it at ignite they also re-mentioned it an embassy this one's coming up this one's big this is actually the one that i've been focusing on really glad over here the ai is going to help us tweak our bots even more so let me just show you an example you know i've got a few examples that i have um let me grab okay so what i've always called my bots i've always put them as two different categories i call them as here is a static type of a bot um topic and then here's a dynamic one so what does that mean so let me go and go into a topic of need some assistance like i need some assistance i'm going to click on it and over here i went ahead and put in uh some hot trigger faces like free help i can provide some help for free labor so on and so forth um i had come up with this idea of uh back when you were still throwing something early code lockdowns is uh you know people coming into this chatbot and saying you know two types of assistance one is i need help and the other one is i can provide help so that is the triggers that i've put over here is that hey somebody comes and says free help well this will trigger it the other one will say i need i need help for this i need help for money financial assistance or any assistance that will trigger this and also i can provide help so that's an example but the reason i call this as a static bot is because everything is already put in over here what i mean is that the questions the answers the choices and for that i'll close this one and then i can zoom out right there so you can kind of see overall even though it's it's a fairly what looks big it's just it's a lot of repetition you know and the reason is that over here it's very static static means i've already put in all the answers all the questions are all the way here they're not going any other the answers are not going ahead and getting pulled in from another destination um they're all just copy and paste over here and this is why i call it static is because um the bots data if you go ahead and update it you got to come over here update it um in the authoring and then go ahead and publish it um one of the things about this one which i like is this is the one that you can build in in pretty fast you know you can literally build your bot in the day come in build a logic tweak it get some nice text in you know options and whatnot and then it will work um and it will work really fast and over here you can go ahead and put in some links or whatever but this is what i call static and static is because when you want to update any of the context any context any text also any content you got to come in and manually update that so that's one way and it's you know all in all it's not that bad one of the things um you know i can see the variable watch over here but the one i like was this one i find that very fancy it just right here it gives you an overview of your entire bot how it looks and then in my case it's it's a little bit of a box i can always you know instead of me zooming around over here and trying to find that i just click on this place coming over here found it great now i can zoom in and zoom out or i can click on that one so pretty neat i like it um but here's that there was the context of this one it is what i've always been describing it as a static bot static is it's not that it's content isn't dynamically getting updated it is all text over here which means to modify it gotta come in and you gotta update that so that's that one category i always call next one is what i call it as the dynamic one so this is my you know favorite one i use this in a lot of events um anytime there is an event i'll go ahead and update if there's a separate database table in the database table i'll always get the author's name when is the session um which room the session is the title and the description and once you come in you'll actually see how that helps so again i go into the session i've got you know a few uh triggers they're going to have a question regarding the session i have a question you got in the speaker you know so on and so forth so let's go and take a look at the authoring so in the authoring um got the trigger faces got the sessions over here and then after that i go and tell them that hey i'll go ahead here are the choices are you going to pull it based on the speaker name are you going to pull it based on the session name so they do that and then after that um you know once they picked up the sake it's going to be i want to search by the you know based on the speaker name comes in the speaker name and they say can you give me the speakers first the last name again this is the bot system asking and then here is where it goes ahead and triggers the flow so what the flow does is when i click now and this is neat because over here uh they actually went ahead and added this right section this was not easy to find before the flows because it was automatically added into a managed solutions places and when they they introduced this managed solutions was fairly new at that time so people were it wasn't very intuitive for them to go into power automate going to solutions and then hunting for their flow over there so i mean we give a lot of feedback on this like hey that is not easy to find it's like okay we got you we'll go ahead and put this link over here and now so much more easier you just click on that it directly goes ahead and you know takes you directly into your flows in the manage solution and you just find it over there and obviously i gotta do some read the authentication i'll ignore that for now but now when i come in i click on edit and it's basically that simple the the bot is triggered by power virtual agents and then it goes ahead and gets me this table the table is being filtered based on what i put in for the speaker which in this case was the speaker name goes ahead and doesn't apply to each because the speaker might have multiple sessions so it doesn't apply to each basically it's appending all that information and then it basically goes ahead and returns that back um yeah speaker's name okay that's uh it's you know basically just goes ahead and returns all of that back over here now coming back to the bot itself this is what i call it as dynamic because the logic of the bot or the you know the logic of the bar the authoring section is pretty solid it works all i have to do now moving forward is just update the dataverse table and the dataverse table it sits completely i mean i can access it directly from the powerapp site or powerautomate sites i can now come over here to my tables in the dataverse and it goes into my database tables and over there i should see the speakers or sessions but this is the only places that i have to go ahead and update it i'm not going ahead and updating you know the anything else it's just right here that i have to go in updates so there are the event sessions that's the one i go in this is where i go and tweak the data so now i think you understand what i was saying is that the first example of the code one it's static that's where you go ahead and make all the changes this one is more of a dynamic one because the logic of the bot is solid and this is where you go ahead and do all the tweaking you just tweak this so you could make it such that you've got a pva maker a person who's you know solid on making pva but you can have in a a power user or a business partner says that i don't want to build a bot but i can manage this content and that is where you can have this fantastic synergy is that one person focuses on the bot but the other person can focus on the content and they can share that load so coming back to the uh the slide deck that i have some of the latest announcements that were there i still have the old icon there is a the languages which we saw some of them are in preview there is more and more coming out so in fact my dates are a little months are old over there but uh there's more of these right now we already saw they were a five on preview but the the language is coming out more and more um wrong one um in addition to the um the dates i mean the languages they were adding more data centers for pva which was a good sign that shows that there has been growth of this either you know the chat bots in general multi-author support came out uh we were when we went into a chatbot we said you know you saw that little section over there that daniel is in and checking and working on it you can do multi authoring that was not available before export and input of chat box also came out you know it's it it's a little bit more work involved in it because it but you can go ahead and export the entire chat board you can go and export even the environments really helps you do that what you cannot do right now is that you cannot put in full-blown images you cannot put in full-blown videos you can't put in gifts though so in images it's kind of you can put in links and if you do um you know a little better markdown which you know i don't want to steal reza's thunder he's going to do a little bit of markdown but you know you can put in some links and that will work but i know you can put in gifts over there images you cannot add images over there yet i mean videos over there so it really helps now um i'm going to skip the processing of the licensing because this is a this is a non-licensing session giving you a heads up over there but there is this very important piece that i want you to look at it is that um let me go yep the capacity so what is the capacity which means the number of times the chatbot can be used depending on what you have uh it is not a carry over so you say in this year a month your chatbot was used for x number of while uh which means you know i should have so many other you know the chatbot is basically not used a whole lot can i carry over the sessions you know no it doesn't allow that this is this is not like your old you know our phone systems that we had a number of uh if you didn't use all the minutes you can carry it over you know it's either used or you you lost it so that's that's basically there but this is what i wanted to show you is that in the building section it tells me that the bot runs was 1133 but the actual billable ones was only 162. and that's because they're pretty smart at how was the bot actually being used uh did the person come in and did the person just say hi and leave like if there was no conversation it is not considered as a run but if there was a full-blown conversation then that's considered as a billable run so i like the um the uh the logging information that they provided over there because that's the important thing this is usually where it's a little bit of a gray area people understand is that how this works and that's basically the the building area over there and then finally i just want to end with showing the um the differences between the flow back then and now before if you know right now it's so much easier right the the trigger is right there and the return is right there previously it was http calls i mean it was that old-school style of doing it and you had to be in a put in the effort like i'm gonna make an http call i actually have to get that azure services url and all of that so yeah they immediately realized that yeah this this is not gonna fly so this is what the before and the after looks like and then this is what it was in the http i had to get the post for the url paste it over there uh whatever were the you know the entries made from the chatbot i had to put it as a json this was not easy man but now they've gone ahead and made that so much more easier so this is the overview i'm gonna hand that over to reza now he's gonna you know show you how he actually built one uh but he's gonna do it inside microsoft teams that makes it a little bit more easier so reza enough after you well thank you dan i think that was as comprehensive a 30-minute session as as it can be honestly i think you covered the length and breadth of pva uh there were a lot of questions in the chat as you were going through uh i tried to answer them uh i've actually saved three of them that i would like to pop on the screen and then we can just take those questions so i'm going to post these questions to you okay uh the first question was from cheryl the question was i know it's directed to me but i'm redirecting it to you can you use a sharepoint list faq to build a chat board i know you can do it from a web page question is can you do it from a sharepoint list so uh cheryl the example that i've shown about the sessions you could replicate that on the sharepoint list as well um you you know the the event information that i talked about is if you i put that in the database table but i could have taken that to a sharepoint list and i can put in the top session name event you person um the speaker um room and building all that i could have put that in the sharepoint list too and just tweak my power automate flow to go ahead and make the calls over there right now i personally am very comfortable with doing those uh with at least a three data sources with sharepoint um databurst and with sql those are the three that i think is very comfortable to do that um and then you can do that for your site sharepoint list as well i think that's what you mean is that the example so it would be two ways one is what you explained uh the other one is there is an option where you can import uh topics so can we do that from a sharepoint list maybe no i don't think there's an important topic like that okay got it thanks for confirming that um what you you know importing the topics right now is you need a full url and i think in here you're gonna render an authentication issue it just won't it'll run over there so the way they've built it right now is that a faq which is non-authentication which is an external access that will work but not with this one i do like that idea though so i'm actually going to make a note of it present it to the product group and see see whether where that goes so thanks perfect all right next question the questions are not going to get easy all right can you bring entities dynamically from data sources so again a question around dynamically getting data in and rebuilding things like topics and this time entities yeah gerard simpson is both my friend and my enemy the guy with hard questions man i have dedicated a youtube channel i mean youtube video for him um so gerard i think i want to say as long as you stick with the data source like cds or sharepoint it is doable my only maybe is on pre-existing choices is that the choice tech column that you asked over there that's my only maybe i think that you may run into a certain gotchas and i say that is because the example that i i had with the dataverse for the events i didn't add any choice type columns so the example the but your question is very similar to the example i give is that you you have a place where you've got the data you can go and update that data as much as you want just watch out for those columns over there because this is not going to be limited to what's what um the pva is going to do it's going to be limited to what you go ahead and what power automate will be able to call so if you're able to accomplish this in power automate then yeah you can present that into your chatbot so i don't want to say a 100 yes only for that pre-existing choices specifically twice that column so i'd say that's a that's a 90 yes okay and one last question there are many more than i know you're heading over to the chat but one last for the q a part uh is it possible to invoke bots from a team's chat conversation so can i trigger a bot from a standard team's conversation i'm having i don't think so but i don't no not not the way that i presented it as the pva chatbot um we'll wait to see what reza is going to show but because i was only showing it as a standalone no it doesn't um and i think i understand what you're saying is that i say reza and me are having a discussion together we say something and that will trigger the chatbot if that's what you're going towards james then the answer is no no right now it's very simple you've got to go into a very specific place and have a direct discussion but you're in my conversation if you say something it will trigger that no we are not even close to that right now um but you know that i'm glad that you say things like that go and put in that question in the um as a topic and we'll see where that goes cool all good questions uh we're gonna now switch over to the hands-on lab content again uh pva for microsoft teams i have the link running at the bottom uh i will go ahead and share my content screen now so uh dan thank you for for presenting uh and dan's gonna be in chat answering all your questions so if you have any additional questions for dan please post it there uh dan i haven't taken you off mute but i'm just gonna share my screen just confirm with me so i know that my screen is being shared and uh once you confirm then you can go on mute i will share my screen right now um all right i'm gonna share my entire screen let me know if you can see my screen done i can see your screen all right and you can see the hands-on lab i can see the hands-on lab yeah okay perfect so uh the link to the hands-on lab is running in the ticker at the bottom if you don't see it the url is bit dot ly slash dvt lab share this is something that that we've shared before it's the same url for all the hands-on labs we have we have conducted so far so in here is the original presentation around dataverse for teams our previous two labs on powerapps and powerautometer here and now we have our latest and final lab for the dataverse for team series which is the chatbots once you download this this is the hands-on lab that will walk us step by step to build a chat board for microsoft teams only what we will learn in this hands-on lab which i will execute live right now fingers crossed on the demo boards we will build a chatbot inside dataworks for teams we will call a flow from the chatbot so that flow can query our dataverse table our tickets table that we had created earlier in the first hands-on lab to check the status of the ticket send that data back to the bot and the bot will then post a message to the user based on the ticket number that the user provides to the chatbot and once we are done building this bot we will publish it to microsoft teams so that the teams members owners can install that bot and start having conversations one-on-one with that specific chatbot now one thing i would like to highlight very clearly here what dan explained about power virtual agents that is the full feature set you can publish that bot anywhere teams your own personal website i actually used it on my website for for taking uh suggestions for for video blogging topics i've actually used it for a very long time so you can publish it on website slack facebook you name it you can push your bot on any channel of your choice in this scenario i am specifically talking about dataverse for teens and the important thing to understand here is if you build bots using the technique that i'm going to showcase right now you require no premier licensing no additional licensing cost basically for the chatbot this is available for free for office licensed users as long as you has have the license to access microsoft teams you will get power virtual agents inside microsoft data works for teams for free okay so there's no license cost involved whatsoever so let's see how we can go about and build a bot to interact with our data now previously i had created this app using dataverse for teams wherein users can come in and create tickets inside the system basically a help desk application and then we added a power automate flow for approving or rejecting those tickets and right now if you look at my system here i have two tickets a sample ticket and a phone issue ticket the sample ticket has the status pending the phone assure ticket has the status approved okay these are the only two tickets in my system at the moment now we are going to try and build a chat board so that the users can interact with the bot post the ticket number each ticket has a unique ticket number and the bot will then query the database and give us the status so let's see how we can achieve that to get started with building power virtual agent chatbots in teams if you head over to apps this will take us to the app store here you can search for power virtual agents we have the app for this just like we have an app for power apps we can select this and add this in my case i already have this added so i'm just going to launch the power virtual agents app inside my team's environment now i am accessing this on the browser experience and i have noticed that sometimes it just doesn't load the app so i have to just go back refresh and come back it just acts up sometimes so here now i have my pva app inside microsoft teams it's very important uh to understand that everything is happening inside of microsoft teams okay so now let's see how this this piece works i need to create a chatbot right so i'm going to click on start now this will launch all the teams in my environment that i can select in order for me to start building a bot i am going to select the same theme for which i created the help desk application because i want the bot to be in the same context or environment as that microsoft team in order for it to read the data in that team so i'll pick my live team i'll click continue this experience is very very similar to what dan demonstrated earlier it's a very similar experience so i'm waiting now for the chatbot experience to load up once again i have noticed that sometimes this just acts up and i'm just waiting to have this experience loaded up right now just one thing to do i'm going to switch to content only go back and go back to power virtual agents let's go to chatbots hey reza while you're waiting over there here's a good question which was asked is that uh is there any way to call an external data source without using um our automate uh from pv so pva currently as it stands the only way to call or to query a data source no matter where that data source is your only option is power automate as of today one of the recent announcements in fact was announced uh three days ago uh the only option you have right now is to use flow but based on the recent announcement we are going to be getting all the connectors directly in the power virtual agents interface so be on the be on the lookout for that part but currently the answer to that question is no all right i'm still waiting for the bot to load okay finally i got this i will go to live team this is my team for which i want to build a chat board so i'm going to say a new chat board this should load the interface for the chat bot creation experience all right now i'm going to give my border name i'm going to call this my live help desk desk bot very similar to what dan did before i can pick my language i'll click create the only difference is all of this is happening inside of inside of microsoft database for teams so this is now creating the bot for me inside my experience all right so this has created my bot now i can start adding topics to this board now one thing if you observe here on the top right it says it's premium you need you need a license to access this this is true for the full pv experience but not for dataverse for teams so even though i do not have the license i can go about creating this board so i can ignore that message and i can go about building this board so the first step here was we access the app we select our team we give the bot a name and right here we go and create a new topic because we want the user to enter some text so that we can trigger a specific topic in our case i'm going to create a topic and give the name for this topic as help desk so back to my pva i'll go to topics click on new topic give my topic a name i'm going to call this help desk and here i can enter my trigger phrases this is where i need to insert text so that when a user is interacting with the bot if they enter something that is close to the trigger phrase that i have defined it will go and trigger this specific topic now in my case i've already pre pre-created the trigger phase phrases just save time and i need to put at least five in here so that the confidence of the trigger phrase goes high so i have some standard standard text of uh information that the user can enter to interact with the bot like give me the help desk status of my ticket or i need my ticket status information something on those lines is what i've been putting right here remember the bot understands natural language so even though my text does not exactly match the trigger phrase natural language processing at the back end will automatically understand my intent and accordingly associated with this specific topic once i have my trigger phrases defined if you look at the steps that i've said go in add the trigger phrases and then go to the authoring canvas this is where we will author our bot so now that i've clicked on go to authoring canvas the first step it tries to save the topic and this takes me directly to the experience where i can build the bot now here we have a message so i can say hello for example it's going to give a message that says hello and let's say just for now i saved this topic so all this topic does is it's going to respond with the message that says hello now if i'm testing this bot right here i can test it i can say hi so when i say hi the bot is going to respond with some standard text which is something that you can modify as well now here is where i'm going to define my intent so i'm going to say i need help with my ticket status now this is something that i did not enter as the ticket as the trigger phrase but if you want but if you note here the bot is smart enough to understand natural language it knows my intent it knows that it is somewhere close to these five trigger phrases so it triggers this specific topic and responds with that message hello and we can see that right there at the bottom left in the test bot section now what we need first is we need to ask the user a question when they say they want to check their ticket status our question will be what is your ticket number so i need to ask a question and the way i can do that here is by going to this plus icon here to add a node and i have a lot of options here one of them is ask a question so i will ask a question and my question will be what is your ticket number question mark and i can grab the information from that user now this could be in multiple forms and these are all the entities something that dan covered earlier if you're not sure there is an option here that you can just grab the text as is that is just get the user's entire response in my case i know my ticket number has to be a number so i'm going to search for the number entity and i'm going to select this and the response that the user gives will be stored in a variable inside the bot in a variable called var i can edit this and i can change this to where ticket id so that is going to be the name of the variable that is going to be created and this variable will hold the ticket number that the user enters so i have grabbed that information from the user next step i will save my topic so that the changes that i have made are saved after this i need to go and query my data source so someone asked the question i need to query something right i need to query an external data source or any data source can the bot authoring experience directly do that the answer is no we need we need power automate and for that once again i'll call an action and when i click on call and action the thing that opens up here is the ability for me to create a flow directly in the context of teams in the context of power virtual agents so here i will click on create a flow and the moment i do this it will launch the flow maker experience for us directly inside the chatbot interface directly inside power virtual agents interface directly inside microsoft teams so you see the connection here teams pva power automate they are all connected to each other right here so when i click on that create if flow action this will launch the flow creation experience for me wherein there are some predefined templates that we can choose from so i'm waiting for that flow to launch in the meanwhile dan are there any questions then you may be on here yeah i'm um we are going through okay here's a question with uh she sure asked that's a good one it's like r trigger faces of phrases insensitive uh case sensitive i believe no yeah yeah that's pretty much very good question well it was no it's a um um let's see if i can grab something else yeah bbx question okay i already answered that one okay yeah all right we're good for now you're good for now okay all right perfect timing so it launches power automate here and because i'm trying to create a flow from power virtual agents the only options i have are these templates to choose from some of the templates here are useful for example send a message to teams maybe you want to send a message to a team's channel or you may want to send an adaptive card we saw that last week or maybe you want to query a knowledge base to gather information so there are some nice templates to choose from if you're not sure or if a template is not available just use the base template which is power virtual agents flow template and when you select this it will go ahead and create the flow for you based on that very simple template and all this template has is the trigger which is power virtual agents and the response which is return your values to the bot now here i need to first get the ticket id so when i'm calling the flow how does the flow know the ticket id so i need to get it as an input parameter in my flow and for that i will add an input of type number i'm going to call this my ticket id always get my caps wrong ticket id so i'm going to get that number as an input parameter and if we look at the lab it's going to walk us through exactly those same steps now once i have my ticket id my next step is to query my table of tickets and grab the information so for that i'm going to use microsoft dataverse because that's where my information is stored so i'm going to use the listrose action inside dataverse connector so add an action search for list rows and here i'm going to click on the specific action now which table do i want to query i want to query my tickets table just need to wait for the tables to load i can search for tickets so i'm going to query my tickets table here now when i query my tickets table i need to also perform a filter query i do not want to get all the tickets i just want to get the ticket based on the id that the user has provided and for that what we need to plug in is a simple query in the filter rows action i want to filter the data or data style now one more thing i want to highlight here because there is not enough real estate if i select this you see flow shows something different right have you ever seen this what is this well if i kind of zoom out i get the standard experience of dynamic content and expression and flows but if i am zoomed in the the experience changes so bear so keep this in mind when you're building this uh i think it's important to zoom out to get the standard experience i find it quite difficult to work in that uh in that clunky experience which is mainly built for for the mobile device actually okay so i want to perform a filter query against my data source now here comes the question when i'm performing a filter query i am filtering against a column called ticket id and here i need to plug in the internal name of the column the internal name of the call and to get that internal name of the column i need to perform a few steps okay so if we go back to the lab exercise here it walks us through the steps so first step is open a separate tab go back to teams okay so i've opened a separate tab i'm heading back to teams i will go back to my power apps app inside of teams i will go to build i will go and select my team which is live team i will go to see all all of these steps are in that hands-on lab and i will go to tables now why do i have to take all these steps well because i need the internal id of that column and if i go to my ticket table and if i search for custom i need my ticket id column that i had created which is basically my ticket number column in my case and this is that internal name so i'm just going to go and grab this it is important that you have the exact internal name in that query that you perform and that these are the steps which are specified right here once i have that copied i'm going to paste it here so filter my tickets table where the ticket number is equal to under single quotes i need to give the value and that value is coming from the trigger in this variable that i created called ticket id so i'm going to select inside here i have to ensure my mouse pointer is right between those two single quotes very important and now from dynamic content which i got by zooming out i will pick the ticket id so this now will return the exact record from me from my tickets table once i have that information here the next step for me is to go ahead and return the status now there is a chance there is a chance that the user enters a ticket number that is not even existing so in that case i want to return a message to the bot that the ticket number does not exist so what i will do right here is i will go ahead and create a variable so i'll add an action initialize a variable i'll call this var response that's the response i will keep this of type string so i just created a variable of type string and next step once i get the data based on this query i need to check whether there was a ticket with that number or not that means list rows at least returns me one record ticket id is a unique column in my database so it will return maximum one record or zero if the ticket number does not exist and the way i can check that is by adding a condition and by typing expressions now expressions and flow are something that is a must for everyone to learn in order for you to work with flows to be to be to be proficient with flows you need to understand expressions uh i promise i'll cover expressions in depth on my channel in future i will do a full series on it maybe even do a live series but for now understand that there is an expression called length there's a function called length that can check the length of your spots if that length is zero that means there is no ticket with that id if i get the length as anything other than zero that means that ticket does exist and that's exactly what i need to query right here so i'll go back to my flow after list rows i will add an action i will search for condition and my condition will be the response the length of the response so i'll head over to expression here write the function called length open the brackets and inside this go to dynamic content and select value which gives me the list of items that the list rows returns it's an array so i just pick this and click ok it plugs my expression in here all of this has been explained step by step in the hands-on guide as well now if this length is equal to 1 what does that mean this is equal to 1 it means there was a ticket with the id that the user entered in the bot that was passed to the flow that the flow has found in my tickets table if it has in that case i need to send the user with the response of the status of the ticket so for that under add an action here i will set that variable to the status of the ticket the variable that i initialized which was an empty string so i'll use set variable i will set that variable as follows now here again there is an expression why do we have this expression well in microsoft dataverse oops uh in microsoft uh dataverse when you try to query a choice type column uh unfortunately there is no easy way for you to grab the actual text the only way you can grab that actual text is by plugging in an expression that looks something like this it may not look simple but the concept here is something that i will cover right now so i'll go to expression i'll plug in my expression here and let me walk through what the expression covers so let's get back here wow i'm just not able to copy for some reason no problem it's just keeps going to my text all right notepad to the rescue about that all right so the expression is as follows and once again i need the internal id of a column which is ticket status so to get that again i have a ticket status column i have the internal id i'm gonna grab that go back to my notepad and change this and this formula for now i'm just gonna copy it as is so just gonna copy this as is and i'm gonna head back to my port go right here go to expression paste it in here click ok so that's the status of my ticket if the result is anything other than one which is basically a zero in my case i will again set that variable so i'll pick the variable i will set that variable and i will set it to no ticket found okay so it didn't find the ticket and once i'm done with all of this i need to send the response back to my chatbot and i can do that right here with the return to power virtual agents action by adding an output of type text and i will call this my output and the value would be nothing but my variable because my variable has the text it either has the status which it can grab after querying the database or it can save no ticket fund once i have this flow built out best practice give a good name to your flow so i'm going to call this help desk checker flow i will click save and this will now save my flow inside of that team's environment the trigger of this flow is power virtual agents so once this flow is saved i will click on this back button here so it will take me back it should take me back to the bot creation experience and now if i go right here and call an action it will list out the flows that i have created i can see my live desk checker flow so i can click on this and the flow action will open up right here now in this i was sending the ticket id and how do i send the ticket id i already have it in my bot in this variable so i can just pass it from that variable right here and then the response is coming in the output variable and i want to show that as a message so i will show a message and here i will go and pick that output now i will click on save and this now completes my topic now if everything is correct and this should work so let's just wait for this topic to save and now let's test the board out so i'm going to say ticket status right i'm chatting with the board i say hey i need ticket status the bot says okay what's your ticket number i'll just enter a random number i'll enter 100. i don't think 100 is existing so this now should go call the flow you see the flow checked my database it got no response so it said no ticket found that was the check i made in the flow to check to see if the length is zero or one and now let's say i go again ticket status okay let's go to my teams and let's go to my help desk app i have a sample ticket id111 status is pending let's query with one one one so i'm getting with one one this time it returns the exact status of that ticket as you can see which is pending and this is happening through power automate power automate is doing the work of querying your database and providing the result back to your chatbot and this is exactly what you will follow in the hands-on lab step by step now one thing that you observe right here is the bot response data in plain text you may want to format the response make it more uh make it more appealing the only option that we have today is something known as markdown i will request dan to put this link in the youtube chat the markdown language is something that uh power virtual agent supports so for example if i wanted to look like a header one style all i have to do is put a hash in front of my text that i'm responding so i'll go back to my chatbot here i will click on this flow link which will open my power automate i will edit this so i can make changes to my flow and here when i was sending a response right before this i will put a hash okay i'll click save so i've just made a change to my flow once my flow saves let's try this once again let's refresh this and let's say ticket status this time let's pick a different ticket this one uh one zero eight so i'm gonna say one zero eight oops one zero it's going to query my database and check it out now you see the formatting changed it responded in a header one text style that's because i just added this markdown style to it so there are various things you can do here you can add lists you can add links tables you can even add images actually you can do a lot of cool things with this markdown is not an easy language uh last week if you remember i showed you adaptive cards it was very intuitive very cool that feature is also coming to power virtual agents this was announced last week i believe it's going to come about sometime in the october time frame okay so you build your bot you style your board you can add multiple topics you can query any data source of your choice uh once you have your bot built out how do i push this out to my team's users so they can use the bot for that on the left hand side here just go to publish because you want to publish the bot now and here you can click on publish first so all the latest content is published it's more like versioning you can have a version while you're building and you can publish the latest version once you have the bosch published you have to make it available to your team's users and the way you make it available is by clicking on share the bot you want to share the bot now now who can i share this bot with i can only share this bot with my microsoft team users because this is data was for teams this is not the full pv experience this is the free version that you get inside of teams with the team's license and all i literally have to do is on the bottom right you see there's add to teams i'm going to say add to teams and what this will do now is it will share this bot with all the members and owners of my microsoft team and now those users can grab this bot and install this bot it's like a it's like an app that they have to install it's not going to directly be installed for them i believe admins can push it out however the users have to go and install the bot and how do they do that on the left hand side if they go to apps just like you installed power apps and you installed virtual agents here under apps there's something called as built for your organization okay built for your org if i select this here at the bottom there's something called as built by your colleagues that means your colleagues your your users your internal users have built something and they have shared with you and if you observe right here i see that live help desk bot that i just published out to my team so everyone who is a part of my team will see that option right there others won't and when i select this i will have the ability to add this bot because this is a bot that i can converse with one is to one and i can pin this board on the left hand side so i always have it available and this now is that same bot experience for me right here let's check it out i'm gonna say hi so the bot will respond with some basic uh responses i will say uh ticket status so it's gonna get the ticket uh i need the ticket status it says hello what's your ticket number ticket number was what 108 yeah 108. it is going to query my data source by calling flow flow will send the response back boom it says it's approved so that's an example it's a very simple example that i just provided you can take this to the next level uh simple simple use case a bot that the users can interact with to find out the status of their tickets so rather than going to uh the power app they can also interact with the chatbot and someone asked this question in the chat around uh can i can i interact with this board on my mobile device of course yes if i go to teams i will have the same bot and i can directly interact with this bot in microsoft team in my mobile device as well okay so that was the demonstration and this is the hands-on lab guide that will walk you step by step uh actually invested a lot of time on this i hope this was useful uh three hands-on labs power apps power automate power virtual agents with data works for teams the full experience is right here the link has been shared before i will post it again so you can grab the link and test this out and now i will open up the floor for q a all right donna me and you again all right um carson grove by the way huge shout out to carson he came in um and uh helped with the q a so thank you thank you very much we'll definitely give you a shout out on social media for that um questions did come in um carson itself asked that as it is world emojis day today are emojis supported inside bots yes i did try it out and it is supported for sure it is supported awesome in fact i just want to add something on emojis uh you can use emojis throughout the power platform you can name your apps with emojis you can name your bots with emojis although it didn't work for dan today you can you can name your flows with emojis so you can do a lot of cool things with emojis uh so yeah bots also understands emojis so if you want to respond with cool emojis you can do that okay um then uh vinay asked a question i didn't answer him but we can talk a little bit more on that he said all of these actions can they be done using standard license yeah when you were building the the chat bot i mean the power automate that you were putting in some actions so he just had a little concern that you know um can we do those actions with standard license yes the response i gave this was that you know your license is tied to the connector not to the actions and conditions but you have anything else to add to that that is absolutely true the actions are tied to the connector because i'm using dataworks for teams the microsoft dataverse action that i leveraged is considered standard because i use dataworks for teams if i was to use sharepoint excel onedrive they are standard connectors so standard if i was to query a premium connector let's say the same what i built and let's say i want to query sql then the dynamics of the licensing completely changes uh i'll tell you what guys we have a licensing live session planned i have someone from microsoft coming out actually a licensing expert uh on july 31st so uh i will kind of hold off on all of the licensing questions for now because let's let's hear it directly from the horse's mouth yeah okay i'm looking at other cool questions here there's one from when i uh can the board be accessed within microsoft teams client and mobile so i kind of showed this when i uh i didn't show it but i explained it that yes you can go to your teams app you will have that same bot that you can that you can interact with so the answer to that is yes a great question from john can you change the display name of the can you change the display of the bot name and the chat the answer is again a yes uh in that same publishing experience on the top right there was a small edit icon wherein i can change the logo of the bot i can change the name of the bot and i believe i can just change a few colors around it so a few things can be changed the full version that dan showed you can actually brand the bot you can completely change the look and feel of the bot it's extremely powerful uh in what you can do with the full version the universe for teams version is is limited though in terms of in terms of in terms of what it can achieve um one question came up is how do you refresh the bot i'm trying to see if i can pop that question up on the screen this one i can't see the option to restart the conversation here so once you are interacting with the bot itself in a oneness to one chat there is no restarting you just say hi hello and the bot will come alive it will have the starter conversation with you when you are testing your mark when you are building it there is an option there on the top left on the top right which has that small uh reload icon that you can click to restart uh the experience so you should see that option but only in the maker experience not when you're consuming or interacting uh with the bot um ricky asks the good ones right yeah can you share the part with multiple teams great question by ricky can you share the bot with multiple teams currently the answer is no you cannot because dataworks for teams is a contained unit for a team same concept as apps the apps that you build you can't share it outside of your team nothing stops you from exporting it and importing it into a different team but then it's basically a copy of that board they have there are two different versions then so uh yeah you can export import but you cannot share it with with folks you cannot share it with multiple teams you can't do that share with colleagues i believe the answer to that is yes but not share with other team members okay raj put up a good one too he said is it possible to use pva in power be uh power bi service environment or in power apps environments uh raj i think you're talking about if can we do it inside a power apps canvas um there's there is a workaround right now but it's a messy work around so my but they i know microsoft it is i don't just operationally roadmap but they have heard us so they're gonna make it a very simple um control to just embed the pva um just like we have power bi embedding and everything so it is on the road map um as far as triggering it from power bi i mean are you talking about embedding it into power bi because again it could be messy where you gotta you know publish off your um your your chatbot that you made it in the stand alone then get that url and then embed that but the one that you made in teams i don't know if you can put that that's why you want to add to that so again i'm trying to understand this question i can take it in different ways now powerapps environment is the same environment in which you build your bots power bi environments are more like workspaces they are not related to environments that you see in power apps power automate and power virtual agents the bots that you build inside pva for teams are contained only in that teams if you want to take it out you have to export an import there is no other way so it's a copy uh dan mentioned about uh adding a pva bot inside powerapps i think on one of the community calls maybe eight months back i actually demand how to do that there is a iframe component a pcf control that uh yash agarwal built so i actually added the pva inside of powerapps using that option and recently if i'm not mistaken uh powerapps portals has the option now to add a chat board and i believe that option was announced and uh i think i saw it in one of the demos as well so more integration points are coming i'm sure in future uh we may have we may have uh you know uh the ability to add chatbots to any uh service and in m365 then i see another question i i want to pop this one up it's from nilesh i'll probably post this to you how many databases can we connect to in pva are there are there any limits around that so i don't know when you say pull databases and connect them into pva basically you're going to make the calls to those databases through power automate so i wouldn't say there's any limitations to that what what you want to plan is is where are you using those databases the examples that you know lisa and i have shown is you're making those calls to query data from the database um so i i really don't see any limits over there but i will advise you that plan accordingly how those calls are coming because you will have to use power automate to query that so um you know make sure that the database is already queried while you're making that call you make the connection you go to that data filter you create it right there um don't do it in the condition filter over there so the answer to that is no there's no limits on how many that you can connect to whatever you are connect to just use that you know plan that accordingly okay another question here from sheikh mohammed abdul if the customer asks any question can we send a response to them with a video presentation without a text message i know dan already told about this limit so i'll kind of take this just three days ago uh the power platform wave 2 uh features were announced so if you haven't read that go go and read go and read that i was posting all about it on twitter uh one of the key things on pva is the ability to post videos so adaptive cards with videos uh those options will will open up as dan mentioned earlier today it is not possible but uh in future that that option will surely be there so dan you want to add something to this nope nope you pretty much nailed it you can paste it but using adaptive card so i'm i'm excited for that yep all right here's another good question here from ricky this one i'll point to dan what is microsoft so dan and i don't work for microsoft by the ways but what is microsoft strategy when it comes to pva and azure bots are there any plans to integrate them in future yeah so again we don't work for microsoft but i can tell you what my gut feeling is my gut is very strong the gut feeling is that you know there will be two parallel lanes um they will they will not blend i don't think they will blend because pva is low code no code azure bots can be very dev in a heavy over there and you can have the direct integration so integration i would say with any connectors or pva that's the best one but there will be two separate lanes um and you can you know talk them together if you remember that slide deck i put in right at the beginning that all of those bot systems that are there those are where pba is built on so technically yes they are already integrating but as far as the end user to make everything i think they will just be two side lanes over there but that's that's our you know my microsoft mvp best guess on that and just to add to this you can even use both together you can actually have a power virtual agent called bot composer so there is integration with with the bot composer in pv as well so uh pro devs will always go to azure bots what composer uh but low code experiences i think uh pva is the answer for that okay another uh question here this time it's from james uh are there any api call limits for pva in database for teams great great question uh i know the answer to this this was not announced or uh you know i i did not see any documentation around this uh john levac actually brought this to my notice uh in pva when you call flows right that's where your api calls are being consumed right i'm calling a flow to do something so how many api calls do i get in that flow is it the standard api calls the answer to that is actually uh this is based on what john told me around 15 000 15 000 api calls per month you get for free so when a bot is calling a flow all the actions on that flow accumulated together in it in a 24 hour period is 15 000 so that's a lot and uh that is given to you for free so that's the answer that i am aware of i would still recommend you to check the documentation i'm sure somewhere in some documentation this this would be hidden okay another question from when i are there any permissions like owners members and readers for parts i'll put that to them um so i'll answer that two ways one is as a standalone bot yes there are differences in members and readers so the person who's making the bot will be you know the maker the member and then everybody else you share it with um either then if it's externally then everybody's a reader so that's that's on the external standpoint from the team standpoint again it will be the same thing where is the team owner um you know they they can obviously go and make make the bots as well but what i look at it as if you're gonna make a bot um in teams then uh it's best that you are also um the member you have to be the member of the team first but you should also be the owner of the team and then everybody else can just be the lead leader uh zeza just confirming on that one piece that do we have to be the owner in teams to also be you know i mean you have to be a maker but when the maker is adding it in teams do they also have to be an owner can you just correct me on that when the maker is adding it to teams no i don't believe they have to be a i believe the only roles that can create bots are in teams our owners and members owners and universe guys and members and bots bots are not available for external users of your teams because bots are a personal app that you have to install if you notice i installed the app in order to interact with the bot and guest users don't have the ability to add apps in teams and other tenants so right uh chat bots are not available for external users apps and flows that we built earlier in the earlier sessions they are okay another question from gerard uh would there be any issues with different copies of the bot i'm assuming multiple bots all pointing to a sharepoint online list there should be no issues because you are querying the same list you're going to get the same response and then it depends what you do with the bot so i think that's pretty straightforward answer there uh by d youssef is he's a very uh avid follower of my channel so hi buddy uh how can a bot be published in facebook and websites i will open i will post this question to them yeah so the when you build those as standalone bots in pva you have that option um in fact right at the end of the demo i was going through is that when you go to the left via manage facebook is actually a connector that you can already put in and then if you want to put it into websites go ahead and publish that what else are can be shared and you get a url and it's neat that now you can also tweak that url i mean like there's also show a little bit um you know with their own bot icon and everything and that url can be embedded into a website um and then you can just go and put in the http embed so that's that's the two way facebook already has a direct connector inside the power virtual the chatbots over there websites you can go ahead and embed it it'll have to be a fully published so yeah that's directly from the standalone site and another question on very similar lines can i have that same bot published to teams and facebook and my website for example can i can i push out the same bot to three different channels can i do that yeah you can um yeah my mind if you're gonna do it like that my direction would be to make it stand alone and then you can take a standalone one and you can go ahead and add it uh as an app inside the teams as well that will be a standalone and then that same one can be coded plugged into different places inside teams facebook or as embedded into your company's website as well my recommendation for that scenario would be a stand-alone one not built inside teams but the answer is yes okay there's a question from harish i have developed and deployed a chat board and a custom website using pva trial what happens after 60 days i think i can answer this uh i had it on my own website for over a year i just kept clicking extend trial and trying my luck out and my luck has been working since almost a year and a half so uh you are taking a chance because once once the trial period expires truly expires from microsoft standpoint they've given you x number of trials then uh you may your bot will stop working so don't take the risk take the full license uh but if you're trying it on your own website like i did i have it running since a year and a half yeah keep in mind though reza is an mvp so they might have white listed him as an mvp as well either that's just a really good looking guy and that's also yeah it's not free for mvps but it's possible that they might have white listed hours and extend it for a year my rule of thumb is always three refreshes after the third refresh you know you might have run out of your luck over there so don't take a chance exactly all right i really like this question in fact i'm thinking as well uh whose connections or credentials are used in a flow when it is triggered from the bot is it the person who is running the bot or the person who has created the flow so dan i'll post that to you first well um it's power automate right because if you're going to go and create those connections as power automate so that power automate connection still stays the same way is you've got two options over there one is that the connections can be tied to the maker of the flow they can do that or they can also go ahead and say that the user's connections can be used so there's two options over there it's on the power automate standpoint and so just think of it that way that oh because it's p and pva it's different no that connections piece still works the same way on the power automate standpoint and i think uh carsten hi carson uh he's kind of answered that pretty well as well it would be using the credentials selected when creating the flow so yeah the standard would be the author of the bot and uh those 15 000 api calls that i was talking about that goes on that flow not on the bot author so it's important to note that as well um all right lot of good questions uh uh pva on the basis of okay a question from ujwal how to read data from a microsoft list i'm assuming sharepoint list ms list from pba uh very similar to the hands-on lab experience i i gave today i took the ticket id took the input query database instead of dataverse you can use the sharepoint connector and flow and query sharepoint so the experience which one is going to be exactly the same no matter which data source you query uh bear in mind if you use premium data sources or premium connectors you need then you need the full license for for pva uh okay now let's put out something which is not a question good to see you i have learned a lot from both of you on youtube with powerapps keep up the good work so dan and me kudos to us awesome all right that's a good way to end this one also yeah yeah we need to close as well so uh i see i see a lot more questions uh i'll i'll just take one more and then i think we'll stop for today uh the the last question here is from sheikh mohammed again can we use html table as a response in a pot to give it a nice look and feel uh i'll answer that it is a yes using uh using the markdown language there is a way where you can build a table it won't be formatted the way you're thinking but uh at least it will look like a table when you're sending a response by using markdown uh then would you like to add anything to that no the the markdown is the way to go over here so yes you can go ahead and build a table but remember it's not html code it has its own type of code it's very it's similar to html but it's not so uh reza has downloaded that i've done a full video on that as well so you can go and take a look at it uh it's the same mark when we posted the link over there so yeah all right so i think we are on time for today as well and uh you can give a big shout out to like roma gupta who was there um angie was over there carson was here thank you for just joining and you guys will help with some of the all the q a piece thank you so much for doing that i was major kudos thank you thank you everyone who was helped in uh in the chat it really it really helps that we have so many experts here on our chat thank you for taking the time out on the weekend and coming out and a huge shout out to dan himself thank you dan for presenting today and uh this is the end of the dataverse for teams live series not the end of the live series so i hope you guys enjoyed this uh next week i will do tabs in powerapps because the number one question i'm getting on my youtube comments are all around how did you build this time at that time so uh i'll come in unplanned i will just come in and start building tabs on the fly different styles different layouts so bring in your questions uh and we'll try and answer them live i i'm hoping dan will be here uh to to help us out as well and uh i will see you all next week once again live with reza saturdays 11 easter thank you once again everyone and have a great weekend bye
Info
Channel: Reza Dorrani
Views: 8,335
Rating: undefined out of 5
Keywords: power virtual agents microsoft, microsoft power virtual agents, teams power virtual agent, power virtual agent tutorial, reza dorrani, power virtual agent demo, power virtual agent chatbot teams, build chatbot, microsoft teams chatbot, microsoft teams chatbot tutorial, microsoft teams chatbot integration, teams chatbot, no code chatbot, microsoft, pva, chat bot, microsoft teams, how to build a bot, virtual agent, microsoft chatbot, chatbots, creating chatbots, how to make a bot
Id: 5uNKnTJytsU
Channel Id: undefined
Length: 94min 16sec (5656 seconds)
Published: Sat Jul 17 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.