Virtual Agent - Live Coding Happy Hour for 2020-09-11
[Music] hello and welcome to live coding happy hour i'm your host andrew barnes along with our usual cohort of awesome people here today it is uh september 11th 2020 today and we are ready to do some uh live coding during this great happy hour um let's start out with the intros as usual my friend and co-worker brad you're first hey everybody my name's brad tilton and i am a developer advocate with a developer program uh just like andrew here at servicenow and have been developing on the platform as a customer partner trainer employee uh for about 12 years all the things apparently [Laughter] and our favorite co-host chuck demasi right there oh this one okay that one where where'd he go hi my name is chuck tomasi senior developer evangelist at servicenow been at the company for about 10 years doing all kinds of things around custom applications and integrations and i was a customer for a couple of years before that and i've probably seen you people always say oh i know you from the other well i've probably seen you dear viewer on another video somewhere awesome thank you chuck and i'm andrew barnes uh as brad said developer advocate here at servicenow i've been doing this uh servicenow thing for a little over six years don't don't have nearly as long as brad and chuck here but i i i've put in my time so far two years at servicenow directly i got my first uh product shirt here on today madrid he's uh he's about to be retired and uh and and no more once uh paris comes out um and uh yeah that's it that's enough for today let's introduce our drinks of choice for today what do you got brad something good i not not especially i have a shiner light blonde today uh didn't have a lot left it's it's a decent light beer if you have to drink a light beer so that's where we're at i'm i feel you i'm reaching the drags of like i think there's three beers totally at all left in this house period we are all in the same boat because i had to go fishing in the best i could come up with a dos equis hamburger nice nice so it is way too hot to drink this but as i said i don't have a lot of choices today so i've got a black mocha stout from highland brewing tradie on this yeah andrew when you wanted when you want to look more impressive with the years of experience you hide behind the aegis of combined years you go all right a combined experience on this podcast of 30 years that sounds pretty good right sounds pretty good that's true so today we are going to be so we're still in our paris early access time frame uh so you likely uh know about this in some way or shape or form uh that paris is available in the personal developer instances and if you are a servicenow customer or partner and you're in the early access program it's available to you to install on your sub prods and even productions at this point but it is not generally available it will be sometime later this month because it's out in q3 and the q3 is over at the end of the month so it's a pretty good indication that it's sometime this month and we're gonna be looking at uh as we have for the past what seven weeks now uh looking at uh features in paris um today we'll be focusing on a virtual agent and we're going to extend one of our apps to use virtual agent where we haven't used it before and as we're doing that we'll touch on some of the pairs features since this is the first time we're using virtual agent for this app we probably won't get to all you know dive deep into paris features but but we'll touch on them as we hit them um other things you want to add about that brad because brad is driving us along today he's going to be our master crafter for virtual agent yeah yeah out of the three of us probably the one who has worked with virtual agent the the least so it should be the most fun that's the most fun right i love that part you guys can heckle me while we're going here i don't think there's gonna be much time your experience is only about a week behind mine um yeah so so we're gonna set up a virtual agent in our meetup app and just get some basic conversations set up and the thing that we want to do specifically is we want to be able to ask our meetup app when the next meetup is and we wanted to ask you know do you want your personal meetup uh that you're the organizer for or any meetup uh which with them all being virtual is is an even more important question now uh since you know anybody can pretty much attend any meetup so we want to do that and then connect it to our meetup portal and uh you know get it all working and then if that if we get that done and have more time then we'll move on to something else um one i i think you said this already andrew but we did have a couple of virtual agent blogs this week on the blog uh we had one that was about the custom chat uh the conversational chat custom framework i don't think those words are i'm giggling because brad's the one who wrote that one so trying to remember the title of his own blog it's very entertaining to me if you read that blog and i and i'm consistent with the order of those words in the blog i think that's a win because i'm pretty sure the second one uh yeah it was a bit more of an overview of uh the other features um so i only went uh you know moderately deep in a couple of them and shallow and a couple more of them and then uh as we as we move on in later in the year and we have some use cases uh you know we'll we'll try and do some deeper dives uh for the parish related uh virtual agent and nlu capabilities on the platform so you ready to share your screen brad i'm ready to get in there and into the virtual asian designer i think so let's uh let's do it make it so awesome make it so this one let's see did that work i see it appears to work hey it's all right let's zoom in a couple of times he's getting better did you not need a reminder all right so this is uh this is the uh dev instance for the portal that are um or for the uh instance that our meetup app is on uh so we're gonna be working in this instance and i think the first so let's look at this uh let's look at this meetup portal which is not actually available to anyone yet because we haven't moved it into the broad instance um but this is our meetup portal which is pretty simple it just lists all the meetups we have some meetup content and then we have a catalog where our meetup organizers can you know request things like reimbursements or things like that and again this is uh this is just available to meet up organizers to help manage their meetups and so what we want to do is we want to connect a virtual agent to this and um and yeah we'll connect a virtual agent to this oh i had a i had a brain freeze here and then we will uh we'll get it going if i remember right all you got to do is add the virtual agent widget to the page and you're done i think it's different i i think you can do that and i but i think there's a way now that you can do it from the back end where you can say i want this virtual agent conversation to show up on these portals so you don't have to add it to all the pages i think that's pretty recent like last couple of releases but we'll uh we'll go ahead and build the conversation first and then uh and then go there um all right so andrew says since orlando since orlando and that's about the last time i used [Laughter] all right so let's look at our scope here i think we want to be in the meetup scope for this one we have a couple of uh of apps here we have a meetup portal app which that portal is built in and we have a base meetup app and so i think this is our first decision point uh my i think my preference would be to put it in the meetup app the reason i put that portal on a different app is because at some point we will probably rebuild that portal and now experience and the old one will go away um but uh yeah what do you guys think the base meetup app or the portal a facebook facebook meetup app yeah if the base meetup app that should have the guts of your conversation or your topic all right so we're there so let's uh let's jump into and then if the configuration for the you know adding it to my portal that should probably be in the portal one yeah i like it all right here is our virtual agent designer um i i it's hard for me to handle that this color is the wrong color here it's all right i can appreciate that i mean that it's black against that dark green is that what i think that's like old it's an old brand color yeah isn't it like the old uh it's not a gray color or a blue okay let's not talk about service portal designer then it's got the old logo on it all right so what we want to do is we we want to create i think a topic block um so we have these topics and then we have topic blocks and topic blocks are basically chunks of a virtual agent conversation that can be reused within multiple conversations i think similar to flows and subflows and script includes and that that's my take on this anyway um and then something new i believe in paris is this custom controls where you can um we'll we'll get to that when we get into the the inputs here but you can use a i think it's a now experience component or maybe it's multiple things within a conversation oops that was me did i say something something good no it's round two [Laughter] boxing match go all right so we're gonna call this uh meetup i have all these meetup options um what do i want uh we are getting the next meetup let's call it next meetup hey um and then this is my favorite description to put on something but we'll be good developers and put in a good description here um so uh get the next meetup for the user uh i'm not gonna give it a category because i don't like any of these and then we're gonna make it a topic block so even though i was in the topic block area and clicked new from that area it still asks me for this so it's gonna it sends you to the same form this conversation builder form uh no matter what and uh you you have to choose that so that's something to be aware of as you're doing this uh i don't think we need any of these yet so let's go ahead and create hit create all right so let's look at the properties oh that's what we just did all right it's a topic block that's the first thing the first thing we want to do is uh so this will be called from another topic and that topic i think will determine that this person wants to know when the next meetup is so i think the first thing we need to do is ask them do we do you want the next meetup overall or your next meetup so okay that means that we can yeah you just have to scroll oh so uh we want you an input yep so i think this thing really should be collapsible but yeah but as we covered earlier i am not a designer so we had a wonderful pre-show discussion [Laughter] so name type next meetup type and so that name should be for the person who is authoring this so that you know which thing it is that's not a forward-facing thing it's just for knowing which of these um components you have you're working on yeah i'm like putting a name on an email notification just so you can read it later that's a good point yeah so i think what we have the prompt here this will be what shows up yes so the name is what goes up in the blue box on the palette i i'm trying to think of a concise way to ask do you want the next overall meetup or your next meetup which i guess we can discuss that i don't know go ahead why don't you say um what what type of event do you want to know information about i was just going to say pick one yeah and like we could do next overall meetup or my next meetup yeah as the choices and then the prompt is should choose yeah uh yeah let's say so where is this going to be used is it is it part of the query so my thought was that this block would get called from the overall um so we would have a um what do we call it a topic topic that's the word a topic uh that would look for the word meetup and then that topic would determine if they're looking for the next meetup then we send them here because something else that i want to do eventually is um you know if they're looking for if it's an organizer and they want to submit a catalog request that well then we can point them there too and we could do all that all of that from the beginning topic yep okay so where is this prompt going to be used where's the information from this prompt going to be used is it what's going on right look at the user which oh so it'll be the query so the next thing will be the query to get them the information and so the outcome of this will determine what we query okay and the difference between next meetup and my next meetup is what whether or not you're in a meetup remember that's a that's a good question um so we should determine that the meetup so the meetup groups in this instance have organizers and owners i think and then do we also have members all the members okay okay so if we've got the members then we could even expose the name do you want the next available meetup or do you want the next phoenix meetup for example you could use the data you should do a lookup first and then say all right which one you want right but they might have three meetups that they're part of so take the first okay or we could or we could show all three and then and then say troops yeah because the next meetup i think somebody said is in india in about six hours that was me um yeah i'm not part of that chapter so the next one that i'd be worried not worried about but interested in would be you know the next one where i am a member of the chapter so in that case we do a look we wouldn't we wouldn't need this uh this one we do a look up first all right let's let's try that so i think we may need to do that in a script be able to do a look up we should be able to just do a lookup i think maybe all right they say give me all the records where this person's a member because that's a is that a many-to-many table i'm just not sure if uh yeah we might need women need a script inside the lookup ah not be cheating all right all right so this would be oh what's the name of that table number members there you go so we have xs and c dev meet developers say not a minute there we go there it is and then add condition so what do we have on here id remember i think oh what's the do you andrew happen to know what the idea is off the top of your head is that something that we can match to a user record the meeting id or the user id the the id is not something that is i'm sorry we're on the member table yeah we're on the member table so i this is a real data so i don't want to look at the uh data itself here i can i can go look at the real data oh for psii reasons so we have id and name i'm guessing name is just a so we could start this uh so the id should be the id of the member like their email address um let me i'm getting signed in yeah somewhere we need like the the member is me kind of like so why don't why don't we start this uh with just looking at the groups and returning because these are going to be this is for the meetup portal so most of the people in that portal are organizers or all of them so they're probably going to be listed as an organizer well that's not a that's not always going to be true but i think for our purposes um close enough okay that's a different use case than i was thinking i was thinking members could come here and say i think eventually it would be great to be able to put this uh somewhere where everyone can do that so the member the i think what you want actually yeah so i don't think we have the group membership in the way that okay we would want it so this one would be more organizer is dynamic me yeah or the user that that's right the user that's starting the conversation the member table you were on is strictly just the members and that's it so it's all of the users and their meetup.com id okay and that's for like check-ins and stuff right well that's just their user record essentially and then when they attend an event they're part of the meetup list for that event but we what we don't have is that they're part they are associated to a group that they haven't attended a meet up for so we don't have that data because i've never needed it we could but i i've never used that data i only care whether or not you actually attend an event so all right so what we did here i it looks like there's a few fields on that table that have organizers and everything and uh we're going to do that with the so the input variable i believe this is the user that initiated the grant i'm curious if that drop down list and then if the operator has is dynamic in there or not okay so we could have is dynamic me or we could use the data pill either way okay it's going to equate to the same values all right that looks like a good good query let's do it show me the ones because the people who go there are uh either want to be an organizer at least currently or they are and if we wanted to extend this to everyone then we would need to add them to the groups and so we would just add that table which we're not going to do today because it's not relevant yeah so today so so i think we're going to get an output of this of some number of meetup groups okay zero are you going to so that looks up the meetups and now what you really need to do is look up uh the next meetup for any of those are you going to do that within this one are you going to pass that as an input to the next one i think what i want to do is say hey uh we found that you're a member of this group these groups and then pick which one you want to know the next meet up you so do you want to know the meetup for a specific group or just for any any group uh why don't we just instead of making them choose because the the point of behind the bot right is to just give you the information quickly like with as little interaction as possible if i know which ones they're in just give them the dates for all of them they may have one next one they mean just one another each one it doesn't have to be one of mine yeah yeah that's a separate query but instead of asking them which one they want to know the next date for just give them the next meet up event for all of them that they are an organizer for um so we could say hey your next meetups are boom boom boom do you want um yeah do you want to know you know do you want to see meet-up events for some other group whatever just the next one in general but as far as returning the info for their meetups just give them the info yeah to me um so phil has a question about data privacy here um so i think uh you know if if you're just coming in uh this is a va conversation uh that will be on our meetup portal that's only available to meetup organizers so this is all data that they already have access to which anybody really has access to it's just you know any servicenow developer meetup and when the next one is so anybody can go in and see you know here's when all the meetups are are planned yeah those are public facing on meetup.com as well so anyone whether or not they're a member or not can see when the next event is for any of our public groups which this is for i feel like we're we're trying to enlarge the scope before we had an easy way any easy win that says when's the next meet up and just go boom there's the next meet up you know it's tonight in india and then and i think we can do that with the look up we have we just need to just go ahead and return them the results of all of ours instead of asking them a question so we want to return what do we want to return here links can we return multiple links with that we need like a free probably i want some flow designer concepts here do we need to script something i just do text most likely or cards oh yeah mark mark says make it a pretty card so pretty card it is let's go pretty card hey all right pretty might be a stretch but we could put it on a card see the singular record is is a problem though oh so yeah well choose the variables let's see what you come up with maybe you can pick a multi oh script uh table oh we already did that uh okay well yeah let's let's see what we can do with um look up meetups is the records um and then we want uh let's just start with the name and date did you filter the lookup meetups for uh you know has event in the future uh no because this is the raw so this lookup meetup says only is checking for the person who asked the question it's just getting them their meetups okay so i think we need to do maybe a second lookup and say let's take those whatever it finds and then let's see when the next one is in the future yeah yeah why wouldn't you build that into the same query though where it's mine where i'm an organizer and it's in the future yeah you're right we should do that you have to change the table and the query but totally doable let's say look up the reason not to do it is because we could use that like we can use it as it is for multiple things in this va flow yeah but this is our va block where the only thing that it does is get you your next meetup okay let's do it then then it should be on the events table yeah which is uh the meetup events is the name of it and then dot walk to find out if it's the right group yep so that one and then we're gonna dot walk on the meetup events dot group dot organizer etc all right so we want group and then the related fields is that at the bottom it didn't it didn't have oh no oh no no dot wonky no dot walkie do we get to script this i don't want to script it i want to pass in the grips from the previous one that seems like a big damn can i cancel this yeah see if the condition builder will do it again for us i think i need to change the table back yeah we gotta yeah we're going to change the table back oh it makes me sad now you can see we did a lot of planning on what we actually wanted from this today and sweet it remembered our stuff for us it was nice to see if they work well so i was thinking when we changed the table it still had three conditions in there yeah or data pills or anything we save that sucker and make a new one and then pass in the stuffs all right can i did i get a copy uh yeah you duplicate yeah i think that duplicates the whole thing well we got a we got a flow copy and then a mobile copy so in paris so far virtual agent copy has got to be coming around the corner right one would hope uh what was this look at for some reason i have a hard time differentiating between what a user input and what a bot response is um and and we want the thing at the bottom which is the blue ones they're black ones [Laughter] it's so much easier when you're not live all right look uh next events oh and this should say groups yeah groups look up next rants and here's where you can say in the future and yeah it's one of those now we have access to that data yes so we're going to group say one of my groups maybe is this one of contains contains oh wait do we have i don't know how it handles the output of that being a single reference but when you're getting multiple results oh is that a is it just a one record lookup is it giving us one record i feel like it's giving us one record i mean it should still work it worked for the first one [Laughter] i'm feeling like the va team and the flow team need to get together at some point you're not right you're not wrong chuck look up rick is relevant i've definitely done look up records i guess i scripted it lisa's in the chat lisa did we have to script that i feel like we did she said good night i'll enjoy the rest of life oh man she left me failed right at the right time lisa and i built a va workshop last year so i figured i'd ask her but she she gave up on us all right so i think we're good there we're looking for future meetups from what this returned okay and now and now we give it a card because it's only one thing it probably will only be one thing we already had down there let's kill this one all right so one very pretty card for the next meet-up hey and that's that's what we asked it was give us the you know one so i want the name i want the date the date and probably the time location and the link is there i think date is actually the time it's not well there's even do we want to know whether there's a government official there's date and then there's event time what's that there is event time is a daytime field which is what you want all right let's do that so you don't need date because that has both give me the link um oh that's perfect all right well should we test it absolutely why not [Music] it was a test the test test button you should have brought up a little daughter window you you have a one thing hey i got it it's been sitting there the whole time so i it wasn't uh it should have just popped up oh hey here we go this is different it is different it's new in paris yeah use it all right little daughter window look at this we got variables we got logs and if you have nlu they'll be uh nlutab as well can't find a valid record that sounds that actually sounds right you are you need to go set yourself as an organization i did i actually did some pre-work for this call on an uprising um on an upcoming meeting look at the variables nope i did not do it on an upcoming meeting do we need this rubbery oh click variables all right so look up groups it did find a group is that one of your groups i i think this is probably my group because i only assign myself to one group but i don't believe it has a next event yeah 619 dd can you add a new event for the houston user group um sure um can you do it let's just switch to shrubbery all right we will do practice like screen is cut off a little bit you can do it we're doing a privacy shrubbery oh you got it okay uh my meetup events should i have not left virtual agent well we'll see you probably shouldn't have but it's fine you saved it hopefully i believe you saved it um so let's just change the date of this one can i do that thirty-first is not yeah sure all right click the button and hit today wait so let's do this we want pizza i think we use the date field and the query no i want to hit the button a bunch of times all right all right you do you brad do people behind this rubber you're not missing much yeah please don't look behind the curtain all right you're missing brad hit the uh right arrow button six times instead of using the go to today on the calendar widget you guys didn't even have to say that i mean we could have pretended like i knew what i was doing there we could have pretended but that would that would be against the ethos of the show there's an entertainment factor we have to live all right hey it's saved with the next meetup type still being down there oh well it's something let's get rid of it mark scott wanted to hear girl from iphone email while the shrubbery was up but that might be that could happen i could have some hold music it can't be a girl from me ponemah but uh you can have some music publicly licensable topic preview mode oh i it probably will work but i get angry can't find a valid record click variables again so i yeah the same thing and look up the next events yeah if you could see the query that went on to try and get that um click logs actually and it's probably yeah all right so it didn't find a result um let's see uh why don't you go see if we can find the result um i can probably go yeah let me go well so let's uh why is okay there we go let's change the condition builder so contains let's change this to is which i think should not matter but trouble she's only getting one result it'll work till somebody's an organizer of multiple groups let's get an early success topic return values are empty object oh it looks like our screen is off on the youtube you can't see the test conversation yeah you're not you're not missing much right now this is what you missed not working yet all right um so we are returning a group let's uh should we make sure that that group is the right group um i'm going to pull that off on a different screen there you go and look that up real quick so we've got events this is where it's failing so let's look at events what's your uh which group are you in uh it's the houston houston okay that looks fine record looks fine it's in the future it's in the future i just had a obvious thought wouldn't an organizer know when their next meetup is yes chuck you're the one who made us do it this way we're aiming for the public later how's that we're still working on that vision i mean and and really the answer is no because there's multiple organizers for every event and it's very easy okay okay so yeah he might be organizing something but you could be and also even if i'm the organizer i totally forget when the next one is i have to go look it's possible because i'm bad is that the correct cis ideas that is not the correct cis id no wait i'm sorry i'm looking at the wrong record or the houston group um 961 990 yes that is the correct group and yes that is 0aa yeah and there's a next events record there is the next event so we're not passing the record appropriately so let's look at the next look up next event groups and see what we've passed into that condition builder and see what is going on there this is the output of the last group should we kill this condition and just see if it can see what the next anything is all right that seems reasonable and we'll go and script it yeah not opposed to that still modeling can't find a valid record and variable to the value variables again just so we see look up next fence is getting nothing well let's do uh let's kill the day part of the query yeah just go get give us our record so we want a meetup event please sir can we have an event no variables is also still nada uh okay so something is wrong with our look up next events let's take a look at that some more this is not where i thought we'd get hung up yeah it never is it's always it never is it's true it never is stop um could there be a no i mean there's not going to be a security issue made up events and that's the right table meetup and there are records in there for sure i can see them there's only 10 but oh no first off there are records in there there's 493 of them why do i have an issue when you don't have a condition a condition uh give it like any condition like reference active is true date is not empty something yeah let's go how about group is not empty save and run i'm not optimistic at this point andrew i almost this is upside down andrew i almost did the uh now learning virtual agent course this morning and i was like nah i'll be [Laughter] fine all right so the variables look the same here um something tells me if we go down the scripted route we're gonna have to learn something about variables well we shouldn't i mean we're not doing anything crazy here yeah this is very is this something hey drag look up next events above the other one flip them just just because i want to see if somehow the ordering i i love it now reboot your ins i hope that's not what what doesn't all right let's relaunch the test it was the the close and relaunch that doesn't seem right well everybody gets to take a drink on that uh that's wrong enough for that that is a great thing to have found out uh if uh you're following along close out the testing window relaunch it so let's make sure that that's what it was how oh group contains it's down it's further down the path because we flipped them i think i moved it back what did you oh yeah you did and and we want event date event time let's go event time header after that minute yeah i can debug some silly stuff close and restart you you wanted me to do that from the beginning and i i refused i did and so that's why i would not run into this problem because i'm i'm a i'd i don't find uh uh the same bugs that end users find because i am a good steward and so sometimes it's bad that's bad maybe that wasn't the issue hey there could be other issues but that was definitely one of them that was an issue that was an issue so what i want to do now is take uh the group out you know take the group out that seems reasonable review and test it all right ah you're going to right in november so that means that uh we're it's probably just angry how you're passing in the group so set it to like the cis id let's go it won't let you down walks well we could do this what if we dot walk to the sys id of the lookup groups oh it might have been passing the display value or something silly yeah let's try it pass pass the whole object here match this yeah either the display value or the whole object would have been very sad nope oh maybe it just doesn't like contains um well it should be is now we gotta go match that well it it'll work is is fine for whatever you should still try the sys id though you've already done this part yeah we i don't think we tested i think we just tested contains after we did our close yeah but do input variables look up groups society if you would please all right he'll sleep better tonight safe close close test that's the right one too hey so should we just take this and uh try to try to do it on the portal yeah let's do it i mean that's all we've got time for so the topic topic and we're going to publish um all right so let's see how fast we can do this we need a topic topic um uh meetup this does seem like they're missing a sysparm query to set that type for you doesn't it keywords meetup that sounds great uh let's let's yeah we don't we don't need to ask any questions let's just find our block i think it's like a topic it looks like and then next meet up name next meet up said it that's it save should we test this one no that doesn't seem reasonable yeah let's do it all right now i'm gonna go service portal i think and here i thought we were gonna get to nlu [Laughter] uh or is it under virtual agent uh agent chat there we go why is it always the ones you think will take ten service portal agent chat configuration we wanna be on the portal this time okay new new name made up order zero i want it to run first portal veto is i think yeah it is called meetup meetup portal nice and then i don't do we what do we do with the script here oh maybe this is not the right uh way to do this this is agent chat yeah this is the live agent chat this isn't the uh virtual agent maybe we do need to add the widget to the home page uh unless there's a unless there's a field on the portal itself yeah i think it's on the portal check the portal it might be like theme and that kind of stuff that's on the portal that's what my memory serves is that has no memory option on the portal itself third one external registration social q a 404 i'm about to google it let's go to the portal and test what you did well let's just uh let's add the widget oh hey already there somebody showed up here hey maybe the agent chat thing didn't work in chat okay let's go oh ho hi i'm your virtual agent let me know meet up success whoo it did work that's that's a victory right there the crowd really likes that one we've got do we want to do some nlu in the last five minutes absolutely let's at least associate a a thing with it so we can show the paris feature at all yeah i i was uh kind of joking but now that you said that we need a model built so we can do that from we don't even really need to do a model all we really need to do is just to do what i want is just associate a model to the thing it doesn't have to be the correct model i do that from designer now yeah uh yeah from designer in the properties set the uh so open up your thing uh topics i just got a good laugh out of that nlu in five minutes all right property properties nope it's not here it's another place it's oh i'm trying to remember where it is then it is i just did it yesterday uh no i guess it's a i guess it's somewhere else where is it it's uh custom controls topic because you have to associate the nlu to the topic yeah i mean like didn't you go to the topic block no he went no i was in the top oh you went to the topic okay it's a yeah it's nlu in the nav did we okay there's the models uh that's the model but that's not where you associate it too yeah where's the builder uh well the builders in studio oh okay you just go to studio for that um it's come on topic properties was a suggestion we just looked at that let's try it again over there no go to the virtual agent settings so like general settings settings settings enabled no no divider now we go back to the topic right so now you save and then it'll be a property on the so i did turn on the nlu plug-in earlier today i'm not going to get into it return back to the virtual agent ultimate designer designer and now go to your topic ah languages showed up which is great so now you set up the nlu model here no models i enabled a plug-in that had some models i wonder if there's some sort of uh filter models have to be published for them to show up so go go back to models and publish one where did we go i did effort through studio no it's uh just type nlu that was this model yeah and see it's in draft state and it's not published so it needs to be trained and published i can't train it right oh there you go and now you can publish it now you can choose it back in the virtual agent designer topic properties we have about 15 seconds left yeah how fast can you do it brad properties there you go and then you need an intent which is we don't have any let's refresh the list there we go but if you save it you should oh yeah we we have to generate some intents for that yeah the the thing we want to be able to see is there's a new tab as soon as you choose your intent that you can adjust the and uh you can add the intent phrases right here from in the designer oh nice so you don't have to go into the builder you don't have to go into the builder once you actually have an associated attempt with the topic the other thing we get here which is nice is the languages tab at the top allows you to associate multiple mappings per language so you get a mapping per language so english english gets a model in intent and french or german get a model in an end intent and you can do all this from the virtual agent designer but you you do actually have to have some intents first yeah all right i think that's as far as we can get today we will come back to this though all right i am going to stop the share [Music] now that was adding nlu in like four minutes five minutes five minutes and we were close we were almost there nlu is way easier than uh the lookup records uh step who'd have thought huh oh that's all so i learned that i need to close that uh tab the test tab that opens all the time and that was that was a helpful thing to learn i'm not going to forget that now i i won't either and that i think that's something that i could have struggled with that for hours mm-hmm and we struggled with it on your behalf viewers it's you got to laugh at it laugh at us it refreshed it loaded the things it looked like it was working but it was uh it was stuck in the past stuck in the past yeah because flow designer you do have to refresh you know when you want to get new new data into it because it loads everything at the beginning but the script debugger doesn't need to be closed and reopened what's up with that yeah the the test window um yeah it seems interesting that it doesn't uh doesn't do a full reload but now we know yeah click click the test button um i don't think i ran into that very much when it was a a pop-out window i would just close it when i was you're constantly closing it and opening it up but since it's its own tab it feels weird that it needs to be treated that way now yes i think we're gonna i think i'm gonna write a note about that one too well that was fun brad um thank you for taking us through that and we'll come back and visit the uh that virtual agent uh experience there a little bit more uh now that we have something working yeah i told you it was a low bar because we didn't have uh any va in this instance before uh you know a couple hours ago so and and no topics created of our own um so that was good um uh coming up new you know news in the future is uh we've got uh oktoberfest it's next month um we you should be seeing a blog about that from us on the developer site next week most likely talking about that we're going to be focusing on now experience so building or adjusting custom components and then carrying over from last year on our spoke creation from last year we're going to be enhancing some existing spokes as the is the focus for our packtoberfest events this year um so if you're unaware hacktoberfest is a event that is sponsored by um digitalocean and uh a bunch of other developer com companies uh go in all together on this and urge people to contribute to open source and collaborate and so if you do four pull requests to public repos during the window dot the window of october they'll send you a shirt uh and there'll be some organized events and the event organizers get swag and they hand it out i don't know exactly how that's gonna work out in this virtual world this time but uh that's it what we did last year and it was pretty great i went to uh minneapolis right i think it's minneapolis god i hope i picked the right and where where jase benson's uh meetup is we had we had an event there and it was a lot of fun uh and he got a whole nice big box of swag to hand out for his event and that was a lot of fun and we built some spokes and we you know contributed those to github and we'll be doing similar events this year um your podcast probably has a release uh it's almost it there you go i'm sure branding will approve of this one breakpoint uh so bitly slash sn break a point is there a dash between break and point there yes yes okay that's the servicenow developer podcast uh thank you to everybody who has subscribed and listened we're doing very very well spread the word tell your colleagues share it in your developer meetups there's a lot of great information and we had one episode with brad we've got one coming up with andrew we've got more in the pipeline so looking forward to bringing you all that content very very soon we'll have another one next week on the 16th of september well let's uh wrap up with the rating of the beverages around the horn we're all scraping the barrel yeah so before we get to my beverage we did publish a blog today about developer mvps for next year so if you are interested in being a developer mvp or you're just interested in knowing uh you know what what the developer mvp program is we publish something that kind of goes through why we do developer mvps and and what it is and then uh a really high level criteria uh that we use uh to determine who is a developer mvp uh for next year so go to the blog it's developer.servicenow.com and it'll be the the first thing there and uh find out a little bit more about developer mvps well thanks so much for that brad and now i had the shiner light blonde and uh i don't know it was it was good uh for a light beer i'm gonna give it a a 375 which is probably as high as you can get that being a light beer for me so yeah that sounds like the ceiling i'm doing a dos equis and i'm really kind of getting tired of these so even with our success factor i'm giving it a three and a quarter three and a quarter oh man and my black mocha stout from highland brewing uh in asheville here in north carolina where i'm at it's actually pretty pretty good it's not what i'd pick on a hot day like today but it's pretty good uh so it's a it's solid four all right especially with our victory well thanks everyone for joining us uh we'll be uh back again uh is our plan right now for next week and uh have a great weekend and we'll see you uh coding next time take care bye bye [Music] you
https://www.youtube.com/watch?v=yEOOWZiC1yA