logo

NJP

The #BuildwithRPA Challenge: A Daniel and Pranav Special

Import · Sep 08, 2023 · video

hello everyone my name is pranav bhagat and I am a senior developer advocate here at servicenow and today I welcome you to a very special episode where I'll be taking up the build with RPA challenge that we just recently launched so people who are wondering what exactly build with RPA challenge is it's all about empowering our servicener community to create learn and share innovative ideas about RPA so I'll put a link in the description which contains all the things that are about build with RPA so you can go through it and today I'll be doing the build with RP challenge so I thought of inviting the creator of this Challenge and let me introduce you to Daniel hey Daniel how are you how you pronounce good day I'm good how are you doing good so Daniel why not you talk about what this challenge is about and and you can start with your introduction and then you can talk about what's the challenge about please so I am Daniel with service now as a product success manager in the Creator workflow space so greater workflow as you all know is what we all love to do creating stuff on servicenow and last year we launched our RPA technology called RPA Hub right um and with that coming out this year knowledge I created one of the labs out there to show new features around RPA that's a challenge we're going to go through today using UI recorder as one of the things we will see going today which helps you to record like a macro recorder uh activities you do on screen and can replay them later on as a robot fully automated I'm excited about that how about you I am excited like anything and any like we are doing this Challenge and you are the creator of it right so what's the scenario in the challenge so that our audience is aware like what's it's about sure absolutely yeah as you know we have our yearly conferences knowledge right and going into the preparation this year for knowledge I thought about how can we show and teach to our participants there the new features about RPA and that's how I came up with this challenge that's the the challenge envisions a scenario where we have a corporate portal where we can register visitors to come into our campus to our premise maybe to the university whatever it is you working for right and these visitors need to register they need to get a visitor badge when they come into the front door we want to greet them properly and they might need something like a parking space or you want to order food for them something like that that is the intention of the challenge we register a user in service now in the service portal that you all hopefully use and laugh on a daily basis ordering stuff so that's a central place and from there we will automate registering that user with the batch application that's used by the front desk and another application which we just well that's an Envision this is the parking reservation right we don't have a parking reservation application but we use a pop website to do that perfect I think that's great Daniel so let's now let's get into the instance and I'll show you like what are the different components and Daniel is there to help you out so I'm doing this challenge for the first time so yeah I have an expert with me let's I'm watching you guys So Daniel like this is the challenge that's there so now like people who are watching us go ahead and click on the link in the description uh and it will take you to our build with RPA Community page you will find the link to this challenge uh there in the community article that's there so first thing is like we'll be having you can see we have a lab guide here that's attached you have a ebook format as well as a PDF format and you are you have an instance that's there and also you have a kind of an rdb machine because you know right uh you have a Windows VM also because you know right RP runs on a Windows machine only so we have a Windows VM that's there with the login credential and all so like let's go into the firstly let's click on this lab link and see what exactly its lab is about so I'll just zoom it a bit so this is the same scenario that Daniel just explained and you can see like first thing it's asking us to login into the instance to just to see if all the plugins are activated for our use case it's more of like we need an RP Hub plugin an app engine plugin so let's quickly go into the instance and see if we have these plugins there so if you know if you have done it before you have to go to the plugins and now let's let it load for a minute and once it gets loaded we're gonna check I'll just close this duplicate one so we're gonna check if we have the app engine Studio enabled and also RP Hub that's there so you can go let it load up and then we can check that yeah these steps are in the lab basically on the instances we provide it should all be there but if you run it on your own instance like a PDI which you can do right it's all available in pdis you need to go and make sure that these plugins are there and active it's a reference point if you want to do that in your company instance as well exactly yeah because these are our lab instance so we have already set up everything we have set up the RPA Studio as well as we have set up the app engine studio also both the things are there so just I'd like to show you how you can just see these things it takes a bit extra time to load up so yeah let's wait for it all right so it's loaded up and we can see that we have the RP Hub that's already installed and we'll just go to the app engine Studio I think that's the plugin name so you can see that app engine Studio that's this one we can copy here or the easiest way is to like just copy the plugin ID and paste it here directly so yeah app engine studio is installed so that's good now let's go into the app engine studio and open the Western management application that's as part in the lab right so let's do I'm gonna do app engine Studio and I'm gonna open the vister management application so done in like quick question to you like what's this Western management application it's is it like something that you created custom for this lab absolutely that's a custom application we created to kind of showcase the end-to-end process you can use RPA for any Baseline applications and incidence changes wherever it makes sense for you which for the purpose of this lab we tailored a small bespoke application to to show the process yes awesome so yeah that's there so now we have opened the Vista management application The Next Step you are asking us to do is like go to the experience Tab and click on the preview button I really like the detailing Daniel like you have mentioned everything that where they have to go and all so that's really nice and click on preview and uh then we have once we click on preview the engine we have previewed it and like let's go to the list open list and click on all that's there and let's see what's coming up so you can see all these thing is there now we can we can open any data set of sample data that come with the application perfect and let it open up and now you can see that we have something like send data to robot so that is like what's this send data to robot is doing right so for this scenario I may we made explicitly a UI action a button to to activate robot because we wanted to to show that and you can look behind the button you can use that as a reference in the example if you want to go forward and use similar technology capabilities in in your implementation it basically triggers a flow that will send data to a robot work queue and will come to the work unit in a moment but it's basically triggering a flow taking the current record preparing it so the robot can work with that um you could use that flow as a trigger thing on a status change on a request fulfillment whatever but that's the intention behind that button gotcha so yeah I think that's there so now like the next step is like send data to robot so once you click on it so yeah it's send there is no confirmation message that's coming up that's totally fine so we didn't added this confirmation message but if we go to the RP Hub as mentioned in the next step and let's see what happens there so now we have to click on the list that's there we have to go to build and queues so that's there click on Queue and you can see there is a Vista queue that's there again that's a prepared entry that we made as part of the instances you won't find that natively on an on a manila instance come on we'll explain that during the training yeah perfect so you can see that uh now I think there is a work queue item that's also created right right that's the one that that's the one that the button created correct oh that's nice and is there any way done and we can just view what's in that oh maybe it's just open that record and scroll down a bit and then you will see the content that the button actually put in there yeah that's there so you can see the whole content that's there uh certain company name all these thing that's coming up perfect so now input for our robot basically we choose to use a Json string here that's very easy to process on the robot side which we'll see later you can use any format you want to right it's basically just a string field oh awesome so I think that's great so now let's next step is like we have to go back to the list and go to the bot processes so like let's click on this and go to the bot process and we have to go ahead and uh we have to sell assign a configuration right let's see we're gonna click on assign but firstly what's this assign configuration Daniel so with the Utah release we have separated some entries in RPA um so let's say configuration data from cmdb data right in in previous releases all these records what processes they were pure CI records CIS do not travel with deployment so it is kind of a bit cumbersome to create them in every instance Dev test broad you have to go everywhere and create all of that from scratch now with Utah we have made a more deliberate Choice saying is some of the entries we do here are actually configurations implementation information data things like how is it named how often should it be running on which machine should it be running all this information we Now package up as metadata as configuration files and that's why we call them a bot configuration once that is available in the instance we need to assign still the CI record so we can make the robot visible in our cndb that's one of the strengths of servicenow that we can visualize where do we have robots which application do they interact with and things like that perfect gotcha that's why I asked you to join me for this challenge because I got to know a lot more things so I think then we we can go ahead and now assign this particular uh particular like I think assign this configuration to this part process and submit it you will see it's kind of pre-loading your Bot process with a lot of value like it's an unattended robot it's triggered by API and things like that so this information is coming from the configuration I reckon you see is still the CI that you might know from the previous that's that's great like so yeah it populated the unattended process on all these things that's there perfect and let's let's move into the next step I think the next step is to connect connecting to a virtual machine so if you have seen this thing we have got a virtual machine also that's there so for my use case as I'm on Windows right so I'll just skip the Mac version but that's great like you have if you are using a Mac you can follow the steps all the steps are there right let's go to the windows part so if you want to do for the windows it's all about like going here and typing remote desktop and once you click on it you just copy paste the same URL that's there you paste it here and once you paste it it and click on connect it will ask you for credentials so this is the credential that's there which I am highlighting it's for my engines don't go ahead and use the same one so let me just copy paste this grid and enter here so I have entered it let's see it's trying to connect now all right so it's connected and boom so you can see the slab this instance uh the VM is there and I already opened this Liam like sometime back just to test if it's working fine or not so that's why you can see the instant that's open up and also the lab guide everything is all set for us so let me just scroll it back to where we were so quickly let's go there and I think we have we have already connected our VM and now let's see what's the second next step that's there so it's all the steps are there so you can see that like let's let me go into the texture View and just to show you that we have the RP desktop Design Studio as well as the unattended robot already installed in this VM so you don't have to install it again so it's already there for you we have just confirmed this thing and the next step is like we have to set the default browser right so let's do a default browser because like for this virtual machine the default browser is set to Internet Explorer and so Internet Explorer doesn't support JavaScript now so that's why we have to set it to uh we have to we can just set the default browser but I love the detaining and detailing Daniel like you have set all the detail thing like even to set the browser default web browser so I've already set it to Google Chrome so that's yeah and for a virtual machines you get from us this step is actually important because once you log into the design studio we use the default browser to log in and then it is not render nicely it doesn't look good and weird so that's why we want to want you to change it to a modern browser internet explorer is that since years right time to move on absolutely all right so now the next step is we have to navigate to the RP hub so it's asking us to go to the RP hub and uh let's let's open the RP Hub I'm gonna close this other tab and in the RP Hub we have to go to the list and robot I'm gonna unpin this all application because we don't need it and I'm gonna click on this particular thing list and we have to go to automation robot Administration Administration robots we are going here and now we have to click on new robot and once you click on new it's asking us like to put a name and everything and but before this it is asking us like to open window Powershell the lab guy is saying we have to open window Powershell So Daniel like why not you give us some brief why we need to open this window Powershell and what oh absolutely so what you're doing here essentially is you're registering that virtual machine as a machine we can use to run a robot on right it's similar like when you install a mid server you need to let service now know that you have a mid server and where that mid server is right that's basically what we're doing it could probably be more convenient like hey a register button on the desktop and it does it himself it's fairly manual at this point that's also why we need to know the machine name so when the robot connects to the service no instance that we know ah yeah we know you you are a robot you are okay to connect right so that's basically gotcha and I think yeah this is one thing like people who are watching us live so in the lab it's mentioned hostname and here it's mentioned machine name so both things are similar I just saw that perfect so I think this is now we have created this robot now we have like now we can go back to the list and we'll go to the bot processes open the visitor bot configuration that's there and open the assigned robot list let me open that and here we're gonna click on ADD and I think we're gonna add the same robot that we just created right all right now basically RPA huh that this virtual machine which you call lab VM is allowed to execute our visitor bot oh got it so I can understand like this bar process is more of like a container which have all the things like credentials configuration Bots and everything I think that's that's there right yeah that's perfect all right so I think we are set here now let's go into the next step is like to open this particular KB article as per lab guide so I'm gonna go into knowledge I'm going to pin it again for a minute you can search in the global search but I just sometimes I prefer like going old school way you can use Global search the same result that's okay exactly you can do that it's it's like kind of my Habit to type knowledge and go there I didn't yeah that's there but like let's open this particular KB article that's there so once we open this article say we will get this particular batch tool that's there I think this is our custom application done and correct me if I'm wrong that is correct and you're now in the back end of your article right there's also the front-end portal ways and view both ways work but in this or this article keeps files that you need in this case it's a batch tool which is a Windows application that we have crafted and Built For This purpose to show how our UI recorder which we'll get to in the next exercise size can interrogate such an application that's that's nice let's let's go and uh like the next step is more of like because I think this is a custom tool right so we have to unblock it otherwise like it won't run right so let's let me open settings yes you downloaded something from the internet right somewhere yeah this is there is no instance but still it's downloaded so window thinks this could be a malicious file and you need to explicitly allow it gotcha because this is a custom thing so I just open the file and right click on it click on properties oh where is that property go on like let's click on again so we can click on unblock and let me click on okay so that's there what's the next step will be I think we can just go ahead and quickly run this application just to see if it's working or not so let's see if it works okay now it's working fine perfect I'm I'm gonna close it for now and next step is more about like let's connect our unattended robot to our instance so Danny like what's an unattended robot I have heard there is something like an attended robot so what's the difference and why we are connecting this to our instance right so yeah let's start with the first question we have an unattended and intended robot the difference is that unattended robots are as the name suggests running unattended so they typically run in the data center ritual machine and a server somewhere nobody sees them doing work it is just really background processing doing stuff that's the unattended Rover an attended Roboto is something that would run in collaboration with the user in front of the screen right so it might open up screens for the user to look up stuff right imagine a call center agent when a call comes in we we take the phone number and we open up his CRM system right at the correct screen so you can see who's the customer calling things like that so the difference is attended runs in collaboration with human in front of the screen and unattended run somewhere in the back in the data sender what you install now what you have here or what we have pre-installed here is a service that gets installed on the Microsoft machine so if you look under 800 if you look in Windows Services system setting Services you will see that listed as an entry there it starts automatically when the machine starts up and things like and to differentiate we also have the unattended and the attended service so depending on your needs and your use case you install either one of them not both at the same time if you look here for a service now unattended robot something like that servicenow unattended robot yeah that's there oh so major differences like unattended robot is more about like there is no supervision required from the agent or someone and attended means it works in collaboration with the agent yeah there can be certain cases where we need the agent to be there gotcha so the second question was like why we are adding the URL and connecting it correct absolutely sorry Mister um so the unattended robot that is installed on that machine or that you install in your environment needs a connection service now to unattended robot itself won't do anything it's similar to a midservice just sitting there not doing anything so we need to have a connection to servicenow to work with modern firewalling system networking systems the connection is going outbound from that robot Machine 2 service now so it's a standard https connection can go through proxies if it needs to so you do not need to open any firewall ports expose that machine to the internet or something like that that's why we have that connection out going from the virtual machine hence you need to enter it here and register it or let it register with the service now instances gotcha that's perfect thanks Danny and then I think like these are different authentication type right one is the basic and one is the mtls that's supported for the laptops for the lab environments we typically use basic authentication regular user and passwords for real life custom environment with probably more security than in this lab environment you would rather use the mtls which uses certificate based authentication so you can really be sure it is the right machine and not somebody trying to use that credentials as a backdoor to your environment yep yep totally agree with you and I think Daniel you have even put some references for a certificate like if somebody wants to refer thank you very much for that adding it all right now I think we are into the designing of the automation part I think this is my favorite part like how we're going to design it so I'm gonna just minimize this particular thing well I think if I even click on this close it will be running in the background right right it will stay in the system tray you will have an icon uh it is a service that runs as a service right so you don't need to have it open ah gotcha so I think like the first thing is about you have to give it like a name lab instance and I think then we have to give the URL of our instance similar to how we connected the unattended robot but this time it's different let me just put the URL and I click on proceed so let's see now I think it's just downloading all the required components that are required right I think it might take a minute or two foreignizing the local Studio to the Target instance that's why it's asking for an instance uh to do that um over the design studio does not necessarily need to be installed on that virtual machine you run your unattended robots you could install the studio in your local Windows machine it's the authoring environment for the robot it's like visual code for programming right you could run that anywhere else it is the building environment we just did before is the execution piece of it so on this lab we do both in the same machine but that is not needed as such gotcha so I think it's more of like yeah it's sinking that's why I didn't ask us for any kind of credentials or anything as of now in The Next Step yes it's currently only synchronizing libraries gotcha I thought like it's doing without any credential I thought like unattended robot it's pulling the credential from the unattended robot itself but yeah it's completely separate it will ask you for credentials probably in the next step perfect young let's give it I think it takes a couple of minutes maybe it's a few megabytes it needs to download and the lap environments are not really fast yeah I think it opens it's only the first time you actually do that right the next time it connects it figures out oh it's the same version still and then it's much faster oh gotcha so I think now it's trying to connect it to the instance that's there okay cool that it's it's connected and I'm gonna do a similar thing now like the what I did previously I have a split screen I hope you're able to see the left side also now in the step we have something like you have to give the name and the description and just skip the description and click on okay and again it's downloading certain things and once it's done then we're gonna explore certain things so let's see the next step is more about like expand activities in the project Explorer so I see on the project Explorer So Daniel like I see this project Explorer activities and Global objects so what are these things so a project is uh in automation file you can see that if you are a full stack developer like you Visual Studio you open up a development project that has all your libraries references and all the things in it that's the same here you open a project for a given Automation and in that project you can have activities which are different routine sub methods subroutines that you can use and reuse for example Global objects are like Global variables you would use that you want to have available in each and every of the subroutines or activities as we call them so it's kind of holding together everything needed to execute that automation sounds about gotcha so I think it it has all the component like the activities Global objects all these things are there so like in the next step we we are trying to just create a new activity and once we click on the new activity it's asking us to give it a name so it's saying like get data from RP Hub so I can think I can just copy this thing and probably double click on it and add the name here right correct that's just it I like to organize things in activities you don't need to essentially but it kind of is a more cleaner environment if you come back to that robot six months later with the activity understand easier what it's actually doing than having one big flow gotcha I think yeah that's there so I just put it like get data from get data simple and now it's asking us like okay we have created the activities now let's do something like expand the RP toolbox in find queue so it's in the RP Hub on the left side that's a toolbox it's asking us to expand Q and it's asking us to drag the queue to global object let's do that so I've done that thing now I think I have a Q object that's created so let me go ahead and rename this thing so let's click on it and you can see that we have two things one is the name and a queue I think name is a backend value so we shouldn't be changing that we should just put it in the Q name that's what you are mentioning here the name is basically how it's been presented within desktop Design Studio you can change that just for your organization Q name is the name that it has on the service now instance that has to match exactly what is in service now that's kind of how we pair servicenow objects to robot objects gotcha I think yeah that's there so Q name is for us and the name is the backend name is the queue thing we can change it but it's better to uh don't we shouldn't change the official things if somebody else is viewing it they might get confused so that's a good point so second thing is like uh we have to now we have this pick work item that's there uh we have to drag it to the canvas yeah why do you do that I think there's one thing just for the viewers of this that might not have seen it you double clicked on that Q object as you renamed it by that double click the left hand side of the screen refreshed and showed activities or actions methods you can do with that queue so the queue in a global object provides certain features you like picking work item that's the one you we use here to take an item out of the work you there's others like updating and things like that but double clicking the queue refresh the left hand side of the screen to show the methods available for that particular object gotcha and yeah that's there I missed that like when I double clicked on it this thing got refreshed so that's a nice thing like all these things are connected and now like I think that for the next step in the lab you can see we have to connect the start to the queue so I think like what I am understanding is like pick work item it's more about like what are the work you that we created initially in the starting of the lab it's it will be just picking those item that's there so I think yeah that's okay so now it's like we have to just select this thing up and then we have to click on the gear icon that's on the top so I think this is more of a configuration for this particular uh activity that's there and it's saying that go to this Json properties and add the like all these Json part notation so I feel like these are the same data that's coming from the Q item so that's why we are adding these things right absolutely correct that I have the component will pull an item from the queue and within that item we saw early on that Json string with the data elements and to process that we need to kind of expand or extract it from the Json and as it's a very simple change with Just some name value pairs we can use these convenience method configuring our Q object to immediately extract that as individual attributes variables whatever you want to call that gotcha so yeah I think that's there and that's why I'm just sideways are entering it all these like the Json entry it's basically the same thing uh so people who are watching us live you can even go back to the Json that I showed earlier which is also in the lab you will find all these filters similar to that Json they need to be exactly written right they are case sensitive to really find it if you make a typo here you will miss that and it cannot find that attribute oh that's also there so I think what I'm gonna do is like I'm gonna paste these labels in the chat also like in the description and everywhere so that people you guys can copy paste directly because right now I'm typing it and sometimes it I can we can make typos right so I'm gonna give you a list also of these things yeah and yeah well just talking about maybe future right we could imagine that we inspect the Json string and build it automatically things like that so there are things that are enhance for sure but as of the Utah Vancouver release that's how we do it yeah I think I like the idea like we give it to Json and it automatically creates all these variables yeah that's something that's nice and uh so now it's more of like you have put the description like the component will pick data from it and uh that's there now what's the next next step is more about like you have to create variables again in the global so what's these variables right right now you basically have that Q component that would extract the information and we have them available as outputs of this component box there but later on in the lab we want to reuse these variables or these informations in other activities like populating the batch tool populating the parking space reservation so we want to reuse that to make it easier for usability we're going to create Global variables so we can store the information and pick them up from anywhere right now there are only a local information within that activity and not available to other activities Goddard I think we have to create like six ten of these items I think I've created one two three four five six I have to create like total of 10. I think yep I have created 10 items so I just have to now go ahead and rename these things up correct a lot of typing copy pasting ah yeah that's there so that's why for our users who are watching us I'm gonna copy paste this particular list uh in the description so that for you guys you don't have to type everything you can just give up guy there should be a table somewhere of these but yeah yeah we can also update the lab guide that's there so I'm gonna do something like access level and then at this point as you create these Global variables the names here you could have different names right they are not necessarily need to be one-on-one matching but obviously it's a good idea best practice for you to know what you'll be doing to keep it in sync somehow got it and I don't see there is a different like like how we had a queue name right so that's there so it's different it's like just a single name thing so then like I I also heard these are like Global variable is there something like a local variable also absolutely yes these Global variables are accessible from anywhere in your automation we mentioned earlier on we can create different activities like we did the get data right and we will do some more activities later Global variables are accessible from any activity the same thing on the activity itself you could also do a right Mouse button create variable then you have the variable only within that activity as soon as the activity finishes your variable is gone oh got it so those are local these are these won't go away that's it they will only go away when the robot finishes got it so I think I'm gonna put this thing last name that's there and we have put like save location and lastly I'm gonna put something like work item book Item ID cool so I think we have put all we have created all these things now it's asking us to drag the company variable to our canvas so I'm gonna just drag it and it's asking us to drag all the variable on the company one let's see if I do this this oh it's creating in one you could have them all separate it's just making more messy screen let's say but in this case you can have all at the same moment yeah I think I like this way this it has all the things so I think I just counted again so if we have created all 10. I think I created nine is it something like we need nine so I have company we have email we have email then we have access then we have title I think I missed uh the first name ah good cat I I felt like there is something that's missing I feel the work and talk I highly uh appreciate you for that yeah I I'm like now I'm getting used to it so I think we have created all the variables now and now it's it's more of like I think I I got it so we have to just uh whatever the items that we are getting whatever the queue is you're just copy pasting those Json into these Global variable for us to use in later so I think I get that one so I think we have to do location to location and I I have to do the mapping correct so work item that's there and we don't need we we have company so I'm gonna do company then I I hope I think I can zoom it a bit for our audience to see oh yeah that's there and I'm going to do title all right it's a bit messy folks people might be saying oh so many connections right simple if you go through the lab guy that's there I just started off like from bottom so it's like a bit messy I think that's there like let me do ID and I'm gonna do some last name and lastly I have we have first name also so we have connected everything now and I think we have this thing and to ensure the automation runs only when I'm reading this 20 second step we have to drag the is null or empty component from the toolbox and drop it out in the port so I think it's more of like if the variable is empty or not right correct it's like the pick work item or that yeah work item element that we have will return no matter if there is a work item or not right so we don't know yet if there were something it could just be an empty string of course that's why we say we'll we'll double check that what comes in is actually really what we need or we can something we can work with input validation we can call that perfect and I think now the next thing is like that is available in the toolbox so instead we have already object Explorer is open so we have to click on the toolbox and I'm just gonna search the same thing and I'm gonna put it here is null and once I put it there so I have to then connect it to this and once I connect it I think that's how it is and or no I think we have to have a decision also yeah yeah we have to put a decision here I'm just putting it somewhere right now and in the decision I have to connect it to we have to put it somewhere here is null or empty that's there it's connected and drag the decision components and connect it to uh is null activity I think let's see I'll just go scroll a bit so that I have a some screenshot of how it's getting connected so we have connected this and I'm gonna drag the end activity a bit bottom and now I think we have to connect this to this I think it's not is null it's just is empty is empty and I think I can do is empty that's there maybe while you do that what it does in in a traditional programming language you would do that probably in one line of code like if it's null or empty Open brackets you're variable and just do that in all in one line we can't do that here we need to connect different components the first one is null or empty we'll identify if something is not or not so we get a true or false information back and the second one the decision will will allow us to to Branch off if it is null or not so the first one is identifying it the second one is making that decision what to do with that information got it I think like if it is empty then we are just doing it end in not doing anything and and other thing is that this decision is connected to this something like terminate activity so that way I think just created in above I think I'll just scope I'll screwed it a bit and I'm just gonna search terminate correct and so Daniel like what is this terminate activity like I get it like somewhat but I thought of checking with you what's it should terminate will as the name says terminate our automation it will stop and it allows this message back to service now saying why did we stop what went wrong right it's kind of an error handling technique to say we need to stop something is wrong we cannot continue with the execution of our Automation in this case we say if the entry that we get is empty we have nothing to work on we stop and we tell back the service now you didn't give us anything to work with got it got it and I think that's there and it's saying that we have to put it at static and we have to mark it through market like that based on this thing so I think that's we will tell service now this is an error condition we are stopping because of an error got it and I think let me connect this thing up and yeah I think we are done cool so this is how our automation looks like let me just Zoom it a bit and put it on focus and let me Zoom it more so we started off like let me give so because I I understand like it might be overwhelming for people if you're seeing for the first time and um you can see like we have firstly created a queue in the back end and we are just picking up the Q item then uh we are just parsing the Q item and storing it in some Global variables like once we are done storing those things what we are doing is like uh we are just checking if the queue is empty or not if it is empty then we are just terminating those things so that's pretty much it that's what we have done just to capture all the variables uh from the Json and storing it as Global variables I look like that we end our Automation in both cases after the decision in the moment but the difference is the terminate is Ending full stop to automation versus the other end gives control to the next activity we will connect different activities later on so that will make more sense after the next step ah got it I think that's there and maybe we have we'll do something in the main window that's there if this is more of a new activity cool I think I'm somewhat getting a hang of it now so now let's let's do the second bar it's like part two is the recording the batch tool so the tool that we downloaded we have to record that thing up so uh so Daniel what's this recording thing that's there what's this launch recorder what's this Universal recorder thing so that is a new new well how that we delivered with you to release right yeah uh earlier on this year and that is uh like you could see that in excellent macro recorder right it it monitors what you're doing on screen and generates at least a shell or stop or something to start with as an automation flow we will see that as you go through you can really tell it hey click here enter text here click here do this once you're done you say now get me the automation file and it will generate the flow like we see it here now that what you have built manually it will generate that flow elements for you is it perfect probably not but it gives you a good starting grid right you don't need to think about all the individual steps you have to do as it records as you do it got it I think like so side by side I was just reading through the steps because when I'm doing the universal record I don't think I can come back to this thing and uh I can follow certain things so yeah let's play around with it like maybe this is my first time playing with the universal recorder so it might be a bit challenging but what I'm gonna do is like I'm gonna drag this particular file The Bash tool to my desktop and I'm gonna launch it so we let me click on it it should launch up and yeah it's launched now what I'm gonna do is like I'm gonna click on this launch recorder button so I have clicked it now let me just so for people who are watching us let me go through the guide ones what we are trying to do so we're gonna click on generate employee batch we're gonna click on this thing uh when we have when we have turned on the universal recorder then we're gonna just set some text and other stuff and then we'll just uh stop it so let's see it's more of like how we are doing manually all these things we're gonna use Universal recorder for it and you can have the lab guide open and in parallel it doesn't hurt right as you tell the recorder which steps are relevant so you can move it off in parallel it's not that it's actually everything you do you you need to tell him what it has to capture gotcha I thought like that's it that's that's actually a pretty good thing so I didn't know that that's why you are here Daniel stuff that we could mention in the guides or in the documentations even more right yes so because generally like idea is like if you're clicking on something record General ideas like it will record the whole screen like how our normal recording thing works so that's why I felt like we shouldn't be opening this lab right but yeah now the recorder tries to not use screen elements for navigation it tries to decompose really the objects it sees on screen and saying oh I find a button with that name oh I find a window with that but so wherever you move the window to it should still be finding the objects afterwards Ah that's there cool I think now it's time to play with the universal recorder like let's click on this recording and first thing is like we're going to click on generate batch and it's saying that okay you have to click it let yeah that's the operation it automatically identified that now it's saying like Okay we have to enter the name so I think it's not a click it's more of a set text so I'm gonna do set I'm gonna put it name and uh and I'm gonna do the same thing with ID number I'm doing it into ID number [Music] these flyovers pop overs whatever you want to call them these come from our Universal recorder so everywhere you move your mouse to we try to identify what is underneath the mouse what kind of control element do we find is it a text box is it a control box is it a button and then we try to give you opportunities or actions that we can do with that object right uh that that's kind of why it's not important where on screen it is what else is on the screen around so we we used in bespoke actions to record what you can do sometimes it's a bit picky you see it flicking around as we try to get your mouse movements right that's just the way how it works so try to work slowly with your mouse if you have to and and make sure you get the right element sometimes also underneath your mouse there might be multiple elements right there there may be hidden screens or nested elements and then you can navigate it the lab guy teaches you that with I think Arrow up or Arrow back or something like that yeah that little arrow up there to navigate through the different elements it sees make sure you hit the right one sometimes there is a span and the edit element is inside the span and things like that that takes a bit of practice I would say to work with the recorder yeah I think like but Daniel it's it's a very smooth experience like I know it's like uh it's showing us as click we have to click on above and all but I felt it's a very smooth experience like using it for the first time using uh this in the lab so I think it was a really smooth experience so I think we have recorded this particular stuff I thought like it might be a bit complex but it's a very simple that's there and let's save this recording now and I'm gonna give it like a name so okay it's save as a global object enter data to pass to and I'm creating a new global object that's there and I'm gonna put like patch tool as object okay we are creating new activity and this is a new object that's there you'll see that oh there we go oh it created all these things for us that's nice yeah I really like this tool for now that's there it's it's like much much faster all right and now you have the whole sequence of activities and all you need to do which is the next level uh steps in in the guide wiring up we have the variables that we did in the first part now we have this that we recorded in the second one and we need to marry them marry the variables to the steps where we need them put in some residency and things like that but overall we have overflow perfect I think yeah that's there let's let's quickly do that so we what we are trying to do is like now whatever the variable Global variables were there you're gonna map it to this particular activity so it's saying that like we have to click on we have to right click on the batch tool activity that's there and I see these are all edits I don't know like select one of the edit elements and uh okay it's saying that edit that's there and it's saying that we have to copy the name here yeah that's it that's the recorder records your activities it names the entities that it finds by the type so all the text fields are edit Fields so that's why they call edit now it's a bit difficult working in the canvas in the flow in every object is called edit right which edit am I actually putting targeting that's why I would say well go in and rename them to make it more easy for you as you build a robot that's why we go into this step and do that it looks a bit cumbersome and maybe we could be smarter in terms of naming these elements in the recorder yes but for the time being go in make these changes and rename the object so you know which one is which and you try to marry it up with the variables yeah I think that's what I'm trying to do so for easy way what I've found is like when you click on these things you double click you click on it you click on the ID you just copy the name and then you click on something else and you click hey back to the edit so you can just copy paste these things up so that's kind of a easy way I found and I think I have one more question Daniel for you in this let me just quickly base this thing up so you can see like in the lab guy it's showing as yellow color right that's there but in my thing it's not showing that so what's the thing so the yellow greenish color there means it is identified you can go on to that batch tool that you just highlighted put click a right Mouse button and say refresh refresh will try to find the elements on the screen right now so it will go through and when it finds it it turns on that it's like a traffic light green yes I found it and you can do that in each and every one of them and I think there's also refresh all which just goes to the whole tree trying to see can I find the elements at the moment are they currently on screen yes or no and if you're green then our robot says yes I found them all and they're all unique I know exactly where they are if there's more than one right sometimes the ID might not be unique something like that I think we'll see that later it will put in a square up bracket behind the label name and a number how many entities did we find so if you're working with tabular data Maybe you find five rows and you want to get one element it will say well I find five which ones that you want right so it helps you to go through that but the green light says yes I know where the element is I found it it's currently on screen and I could do something with it yeah I think like because our batch tool is opened up right so that's why it's able to find it on the refresh it will turn red saying I don't find them oh let's let's try that something new to try now at least it tastes white yeah I'm not ready I can't find them I don't know where they are yep yep yep perfect so I think the next step in this is like more of like uh we have to click on the batch tool and just to remove this class equal because I think class changes multiple times so we don't want uh like when the batch tool is running we don't want it to also have that class as a criteria so every time you launch the application windows will assign a different class it's just a thing for a window being opened gotcha so I think we are we are done with this process click on down and we can see all the components are there and it's all everything is updated with the new names perfect and I think now what's the next step is like it's now time to replace the recorded values with Dynamic inputs from the previous activity okay so we have to drag Journal format tag text format Edge tool does not have a separate input for first name and last name it only has name so we need to concatenate first and last name into one field and we use the format component to craft the string that we need for the batch tool gotcha I think that's the best manipulation put in here yes so I think I'm gonna drag these both this thing and I'm gonna just put it together you can remove them the lab shows you a different way to do that so you can just take that off okay that would work as well but you have tried it's not wrong just trying to uh the lab guide shows you a different option on that format text you need to create the inputs inputs first and that's with that green icon on the format text that's the step 16. two different inputs that's where you can drag your first and last name to so yeah I think I clicked on the screen and there are two entries that are there and I think now it's asking us to drag these two together yes first name and I'm gonna oh on these yellow dots that's the data ports not onto the row really on the yellow Dot okay let me see if oh now it's there and that one here is what we call a data teleportation we teleport the information into that box without showing any lines makes it a bit cleaner on your canvas the other thing would have worked a variable in front of it dragging the lines into it would work the same way it's just more components on screen more wires to to do whatever you prefer yeah I got it I think I totally get it now that's why both ways work like you can add variable but this looks much cleaner I think that's there and I think like the gear icon when I clicked on gear icon this toolbox came up it's more of like uh telling the component that it's like concatenate both the things both the variables there is you could have hard code attacks in between like Mr Mrs quote signs or whatever it's kind of putting in the pattern what to do with the two inputs in our case it's just concatenating and I think you have added a nice challenge like add a third input so if we have to add a third input I think we have to drag it here and I think we have to create first input first and we have to do this title and then we have to do something like care icon it's scare icon and I think we have to do curly brace and two correct yeah I got it now and don't forget to add a space otherwise it will be like first name and title will be concatenated like same thing so cool I think we are good with this so we have this particular thing now we have to it's saying like we have to double click we have the format text coming right before the text name so we have the text name I'm gonna just pull it down a bit so this is the name it's asking us firstly I think I have to delete this one I think if I click on delete I I just press the delete icon so it's saying I have to connect this thing up and I have to yeah maybe I have to remove this default value that I set correct right make a data port yep I have to do this now and now from here I'm gonna connect it to this I think this is the one this is how it is right let me just zoom it in the lab guide just to verify that that's how it should be yep you can see that format text it's there its output is going into a string so that's that's how we have done that okay so the only missing step is now to open and close the batch tool okay so that's there so now let's we have we have to double click on the batch tool project Explorer okay that's there we have this and we have the start activity so we have oh that's that's that's kind of my question it was like how we're gonna start it now it's mentioned in the lab guide so you launch it before you start a recorder the recorder doesn't capture the starting application so we'll need to add that oh I think I've just added this particular thing and I'm gonna just slightly just dragged here okay so you can see here by the way is frozen right oh is it fine now yeah oh now it came back it took a while now we came back oh I've missed like the last two minutes on stream yard okay I think now it's there so you can see uh we have the start activity that's there we have added it now in the start activity it's more of like uh we have to add we have to just I think maybe configure it so for the double tap you have to copy the path okay so it's like application type will be will be it will be application type I think that's there it will be it's an application so we're setting it as application and uh we are also we need to set the path that's there so how we can get a path is I think like it will be much easier if we I think it will be mentioned in here also like how we can get the part so we have to go to the properties and security tab we'll get the path so right click on the application click on properties and go into the security Tab and you will get the path on top that's what I found the quickest way there might be others but I yeah the whole thing that any everything is there I think let's go back to oh I don't need the instance I'm gonna do this and I'm also gonna do my lab guide so you can see in the path I'm gonna put the path link here and now last step I think is it's more of like connecting these things together correct and I just did the connection perfect so now I think we have we have connected everything oh one more step is there it's it's more of like uh you have to close the batch tool also after it's open up because we let's say I think we could have recorded that using the universal recorder also like if you click on the cross icon it should probably lose if that's there I think let's see but for now we didn't record it so people who are watching as you guys can try it like try to record the record also or like the close option through the universal recorder so I'm just doing this and uh I'm gonna connect my batch tool and I think my automation is so I think my automation is almost set all right I replace all the other variables already variables elements oh no I didn't do that so I think I missed that step probably it's a name though but we need like the access level and all the others right oh I think I missed the repeat this step step number 23 where you can see this all these things are empty right so I think we all the other way were able to accordingly yeah yes that's something I missed I think we only did for first name and uh ID number only I think that will be easy thing because if we just remove this empty text I'm gonna remove for everything so that we have this green door that comes up right and now what I'm gonna do is like I'm gonna do Title Here so you're now teleporting the variables again so you don't need anything right yeah I like this name teleporting there that's there and we have the phone number also that's also text so I'm gonna do phone number and I think this this particular access level this is also hard coded so I think I can just put it to access level I think yeah let's go back to the this PDF and just choose I'll Zoom it so I did it for ID I did a title location as well as the access level it's cool so I think we are done with all the steps in this lab oh that looks good perfect I think I'll that's there so now let's see So Daniel can we test this thing up yeah you absolutely can uh what you need to do is you need to run the get data to get information and then you run the other one in a sequence without clearing the log in between and it should work okay I'll do something like I will execute main main doesn't have anything yet main is empty so you need to go into the activity and do a run from here inside the activity oh I think okay run from here correct State I right click on it uh so for P for people who are watching us like I just right click on the start I firstly went into the get data activity that's there I clicked on it I did run from here and it's like throwing some error it does it it's saying that exception is thrown please use assign bot process ah yeah we don't need to tell them which robot we are that is correct so they say button in your toolbar saying assign robot we need to tell the design studio as it's not connected to an instance yet which instance do we want to work against which robot process are we actually executing so we'll need to set it up something so we can run as a kind of a development environment gotcha I think that's perfect so first thing is like uh folks when you click on this assign thing assign bot process you click on this edit one and make sure you have checked the launch in default browser otherwise it will try to open in IE which won't work so I we have done this thing and let me just CLI try to click on connect so it probably will ask me for to click on allow and once I click on allow it should connect and I have the bot processor vegetable bot configuration I have a lab VM and let me click on OK and it did not ask you for any credentials as you were already logged in in the browser with the same instance so we found the cookie it used to session that the browser has if you don't have a session in your browser open with series now you'll get to the login screen first gotcha I think yeah that's there and it's always like when you're building something first time it won't work if it works for the first time I think you're doing something wrong so that's always a worrying thing like that did it do what it was supposed to do yes let's let's go from run from here and I think it's it's running oh it it worked fine there is no error now let's go into the batch tool I'm gonna do it from run from here and it's running let's see what's coming up oh there is an error here let's see what's there it's saying that we cannot find see this particular path that's there so let me see why it's not able to find that so we have added the path like this if I just put like something like batch tool will work it will it does need the full pass but it's it's kind of a tiny phone so I can't really spot if there's an error yeah I'm just gonna do a zoom it let's see oh it's still an error let's see what's the error so it's saying that file doesn't exist with the name Vista robot patch tool oh it's trying to find a file in the Vista robot if you don't give it a pass it will try to find it in its execution directory yet but if you give the full pass it should actually find it where it is gorgeous so I think what I can do is like I can just copy this batch file into our Vista robot file which was created by the desktop Design Studio we're just trying to get the whole path again it should actually really work from the desktop that's how I did that as well okay I can can try we can add a path also I think I can do put the whole path this is the path that's there I put it like this all the Backspaces and backslash backslash is all correct then it should actually should work C cologne backslash everything so he uses them in here that looks I think it looks good let's see let's see if there is anything that comes up I think it's trying to execute it let's see if there's oh it's Error is coming up so what it's doing is like it's trying to you can see like if you're able to read it you know it's a font small uh but I can read the error for everyone it's saying that file doesn't exist with the name it's basically it's what it is doing is like it's whatever the URL or the path that we are providing it's considering it as a file name that's a thing it's not taking as a full path so that's the thing for if you guys is able to see I can probably do this let me know if you're able to read it uh it's yeah it's a bit blurry but okay see the is the path correct with all the backslashes or does it in there but part name is correct actually I think so basically learning like what's happening is like path name as a full file name so if I remove this path name and just keep it as file name and I have pasted the file name inside this Mr Robot let's see now if it works let me just try to yeah it's now it's working fine so I think like what I did is like Daniel I just put it just the file name and I just copy pasted the file in the vister one in the Vista directory and it started work fine okay strange but okay yeah let's see yeah I think there is some more error that came up so let me just run it from here so it's not setting the values like did you clear the lock meanwhile yeah I think I did I did and then all the variables are empty again and you need to start from get data oh gotcha see let's see now let's do run from here and we have this particular thing now we're going to run from here oh it works fine that's there awesome success success finally so so folks who are watching us like in the lab guide uh if you see in the lab guide let me open the lab guide side by side so that so in the lab guide when we are in the particular step when we are setting the start let me go to the step uh this is a step it's saying that we have to enter the whole path right if this thing doesn't work what you can do is like you can just put the file name like I am I have done here I can zoom it a bit it's for everyone to see and you can see I have just put the application name here that's there and what I did is like I copy pasted the batch tool in the Vista robot directory that worked for me so up to you you guys can try both the ways and let us know in the comment section if you face any issue we'll try to help out with it okay still and I think like we are almost at like 75 percent done in the challenge now let's do something like third last part of the challenge I think let's go and they now recorded a Windows based application or dot net application the batch tool that you created and the last step is we want to record a web-based application to show you how that works gotcha I think we have to click on the launch recorder again let me do that quickly and you can see this launch recorder is there I just clicked on it and now what is it's doing is like I think I can still open this thing this is something I learned from you Daniel now I can keep the laptop opened up so that's not an issue so I'm gonna go to this website that's like RP challenge I think it's it's saying that there is some error there is a new extension that's there so this is an I think an RP extension so you have to enable this extension that's there so you can see that and then one time to enable it yeah got it so I think now we have to go to this RPA challenge dot com so I can just type RP Challenge and it will open the same website that's there cool that's it loaded up so now what we have to do is like we have to click on the record recording one and we have to follow the similar process that we did previously like setting the text and other stuff so that's pretty much easy so let me just click on record the start button and I'm gonna do something like I'm gonna just you can see it's there I'm gonna click it now I'm gonna put set text to it so I'm gonna put last name and I'm going to click on record similarly I'm gonna do for raw so I'm gonna do a roll and especially in web pages as you try to record elements the flyover might move around there is typically a lot of elements on the page you can prevent that moving around by clicking I think the left control button or left shift button and then that popover will stay at the same place gotcha so I think it's saying that unable to invoke action but the action was added in the list so maybe it didn't set the value here on the web page but it recorded it yes that's that's what I think so I think say I can do phone number I can do record yeah it's there and I'm gonna do something like email email and I'm gonna record it I'm gonna do something for the company name and these are the elements we're holding the control button on your mouse prevents it from moving around once you have the right element selected hold Ctrl keep on it then you can move the mouse over and it will stay again yeah good tip thanks Adam I think now I'm pressing the control so it's not moving that amazing yep and I just did that and the last step will be more of like click submit oh and now let me just stop the recording and I think we have all the text entries I'm Gonna Save the recording and I think we have to give it like a different name all together let's go into the lab and just set the name exact oh it's submit it okay it's doing it for everything the activity name is like enter data to form I'm gonna do like activity name to in the data to form and it's like global object name will be RPA challenge yeah so for each application you want to control you want to have a global object that's why we have no two we've got one for the batch tool and one for this website we have something else it's not a global object right we want to treat them separately as entities in your automation got it got it and I think like Daniel what I feel is like the next step will be more of like configuring these edit these edit ones right the set text one yeah let's similar to before right it it started giving them very speaking for a name I think they are just numbered one two three four five six or something like that really helpful names for us um and also that website has an extra challenge put to it every time you load the page the fields are on a different place on the phone so when people want our robot to find a field wherever it is we want to make it intelligent and I think like uh similar to how we did with the batch tool we have to go to the project Explorer now right click on the RPA challenge click on configure you can see that it's all numbered one that's coming up right so that's there and now in this particular thing let's go ahead and quickly read through it what we have to do so basically for we have to select any number element that's there and I'm going to zoom it in the lab guide so that everyone can see you can see like we have to select the locator as tag name right so we are not doing CSS selector because as Daniel you mentioned that in the RPA challenge thing it's it's the field fields are changing so CSS selector won't work for us right so that's there and the second thing is like in the match to match attributes we have to attribute to NG reflect name that's equal to because that's there and I think we have this last name that's coming up so what I'm gonna do is like I'm gonna do something like this and I'm gonna rename also good yeah so so for people like who are watching it it might be a bit confusing but just follow along like click on any numbered one you have to change the locator to tag name right and then you have to put the NG reflect name equals to label name or whatever it is or for that particular thing then you have to copy the label value of it and you have to just click on any just click on two or whatever the same number that you just opened and just put the label so that your name and this particular thing are similar right and when you click on next you can see that it's renamed similarly just perform this step for everything right yeah you're doing you're doing great right and and you're basically doing two step in ones in here one is by changing the locator is how we find that element on screen the default the recorder does is kind of following a CSS Tree on the web page but as the elements move that that structure will change what we do him now we tell our locator hey find an input component which is a text field buy an attribute called NG reflect name that's the unique identifier for this particular website for another website it might be something else right so you kind of helps to know a little bit about web design and maybe inspect the web page before to know how it's structured but that's how we can find these elements wherever they are on screen gotcha so I so I think um done like I'm just putting everything similar on the screen and I think folks this this might be a bit prone to mistakes so what you have to do is like once you are done with everything make sure you just go ahead and check everything right which I'm also gonna do once I'm done with all these things so and maybe if you have followed exactly what's in the lab guide so you will be able to see like the company name on top but for my case it's like company name is coming but below that's fine and I think that's also depending on how the web page looked when you open it right I said it will look different every time you load that so our first field that we loaded was the last name on top I think for you it might be company or phone name whatever because that web page is kind of intentionally moving things around because that's why it's called RPA challenge website exactly it wants to show kind of that can every RPA tool do that and how complicated is it in that given tool if you're funny to go through you have basically all the ingredients and do that challenge use the Excel sheet extract information and put it in might be another thing to learn yes exactly I think and people we have done this challenge in the past on the RP challenge is a creative toolbox episode that Daniel and I did some time back so I'm gonna put that link also in the comment section so that you guys can play around with it so I think we have added all the last name and everything I'm just making sure that we have added everything correctly and yep we have done everything correctly now it's more of like uh we have repeated it for everything and then we have to just select the submit button that's there and change the locator to tag name for this also and we have to we are I think and we have to enable the attribute type submit equals to so attribute type equals to Summit that's there and we are done I think so I think we have created everything now again the step that I missed last time is to remove all these hard-coded values and set it to the right values that's the thing we have to do from the global variable itself correct that's why we did the global variables before so it's very easy to access them from any activity yep and I'm gonna do for everything I'm just gonna firstly remove everything that's there so that it's easy for me because I have the label on top it's label last name so it's kind of easy for me to find the last name here uh it's company name let's see first name last name you this is the last name that's there I'm gonna drag it here it's called teleportation right exactly that's that's a cool name so for the role so now let's do what we can put in the role I'm seeing that company I use the access level the website is relative so simply it doesn't have any validation of the content so yeah that's fine and anything will work so for the address thing I think I can put an ID or location I think yeah I think I put location here the location you can put so folks you can just put anything if there is no validation on the website that's there and we are doing the email that's there and I think company and lastly we're gonna put like first name okay so I think we are all done for this particular thing you can see that we have set everything and let's go back to the lab guide and just to verify what are the next steps that are left so in the next step it's more about the app same thing we have to uh like open the web page also right so for that I think we have to open the RP Challenge and we have to just click on start the same thing that we did and this time like we have to double tap the app type and we have to put it as Chrome because it's a it's a web page that's why we have to put Chrome last time we put as like we have put it to application because we were opening an application and you can see that now we have this particular RP challenge just make sure that you are copy pasting the right thing and see I like how what I did is I just paste it in the path and cool now let me Zoom it a bit so this is how it's looking like you have the Chrome and everything that's there and you have to do the connections like I'm gonna do the connection so you have this and now you have to put something like this and I'm just gonna connect it and before I connect it I think one thing I can do is like when we click on this website I feel like there is a some loading time that's there right so maybe our website might not load and our robot will try to do the steps so what I can do is like once I launch this thing I can give some a timer right well actually The Next Step that you see in the recorder which the recorder put in there is a wait for create so it does actually wait for it already right so it's it's doing that to load so you don't need to do a timer because whenever the page is ready it will start got it I think that's there and uh cool I think I have put everything there we we can also put a close one like a close like how we did for the batch one but I'm not doing that close thing as of now because I would like to see what the what are the information it fills so firstly we'll go to data get data to run it from here right and once you have data now we're gonna do data to form and I think I'm gonna close I hope it's it's not opened up I'm going to close it and run from here and let's see it's loading up oh it just submitted it so I think as we had a submit option so it just took it to there so our automation worked hopping randomly around right that's kind of the logic to find the elements wherever they are they were they were obviously in different sequence than before so that's why it was not from top to bottom it was randomly popping through the fields yes because of our tax selector that's three that we did right correct yep perfect I think we are lastly we have done this thing in the last step will be more of like just putting these all the things the three things that we have created into the main activity right I think that's that's a thing so let's see so first thing is like we'll go to the main and we have the start and end I'm gonna do this and we have the get data first thing will be the get data thing so I'm gonna put it get data here and then we have we are entering the same thing to to our batch then we are entering the same thing to form right and let's connect these things up together I'm gonna connect connect I think this is the same thing we have to do if you come back to red robot in six months time and you open domain you can actually see oh it's getting data it's putting data in a tool it's putting data to or so you kind of follow what it's doing it's kind of why I like the activities to separate out the different disciplines or steps that the robot needs to do gotcha and I think it's asking us like a double tap on the Queue activity uh that's there I think it's asking us to double tap on the Queue activity and you know a job site Explorer with the methods basically that's why so that's why it's saying that and it's saying that uh update object Explorer it should be update work item that's there and now once I'm doing this update item so I think we have to do the same thing for we have to grab this thing and put it here to service now at the end of the process say hey we are done and actually it was successful that's the step right now right we had that one terminate to break if it fails we probably should have more kind of error checking in in the various steps but also what we'll do is at the end to say yes it was successful we have completed that task Hmm got it because I was just trying to find a screenshot like how it will look so maybe it's like uh after we enter data like we have we don't have to join this thing up and we have to connect it to this Q and we have to also put like um the item work item IDs our Global variable so I'm gonna put teleportation that's there and we have the request content will be more of like application that's between the Green boxes in the lab gate so that just stays I says you don't need to do anything to the request content oh okay so I think I can do application right because that's I think we have to type that that's the next one with the next field I think isn't it the execution type I think execution type let's see what's that it's I think static and we have application that's it yeah oh okay cool I think on top there is I added an extra step but I think it should be fine and let's click on this end thing yeah the status is missing the last one the success it currently starts in progress we are working on it no we're not we're done got it yeah it's success like let's click on success I think we have application release all these things okay now I think we have to test everything so we'll clear log and I'm gonna also close this application we don't have the batch file opened up I'm gonna also gonna just minimize the lab guide and just make it big let's see the action if I am successful in doing the build with RPA thing let's do it let's see okay it's working fine actual and you see how fast it actually runs through all the things yeah it worked very well I think like so I have successfully done the build with RP challenge and I think there are some more steps that are left in the lab where I'm gonna quickly go into the latter and see maybe couple of steps like how you can put this to your instance and all these things all right to the instance and running it completely unattended right now we still run it from the development environment from our studio right we still simulating the execute while simulating we're executing as part of a development cycle it's not included as a background process that's the rest in the lab guide how to publish it and make it callable from servicenow got it so I think we have to click on the publish one and I clicked on the publish once I clicked on the publish it's saying that I have to enter as a new version package to an existing one so that our package will be the Vista robot that's there and we can just provide like some command that exercise 3 is completed I can just I just remove all all these extra things and I click on publish and once I click on publish it's saying that project was published successfully that's great and now like let me see click on ok now it's like uh we have to go back to the instance so I will just minimize this thing up and I'm gonna open the instance side by side which is already opened up and you can see that it's asking us to go to the RPA Hub again I'll just go to the RP hub and I'm gonna do something like let's see let's wait for it so we have to go to the bot processors and the Vista bot configuration and then we have to go into the details tab so let it wait all right folks so we have loaded up the RP Hub so uh like the next step is more of like opening the vister thing like we click on the list similar thing and which bot configuration it's in the build part processes vistapot I'm just I'm gonna unpin this thing so that you guys are able to see it properly and I'm gonna make the lab get bit small let's see I can do that oh okay cool so that's there it's loading up I think it's learning like what's this thing about like what's this step is about so that that's kind of the benefit of having service now was the central management engine for RPA what you have done is you uploaded that automation file into service now right it's now an attachment in a record a record that you're actually selecting yeah um and whenever we need to execute that automation on a robot machine we will ship that package to that machine and say Hey you please execute for me so you do not need to worry about synchronizing robot engines across your environment making sure they have all the same state of the automation stuff and things like that we do that as part of RPA Hub we ship the informations to the different machines when when it's when they need it so and they will download it run it and delete it again so it's not that you have a big store of files and history and caches whatever on there on these virtual machines they're really tiny execution engines for us guarded and I think like the the published version that we just did it just got published like two three minutes back and that's like one zero two and I think I've did that let me just save it and I think and I think the last step is more about like adding the credential sets so we have we can just click on new yeah so robot needs to know how to log into the Windows machine right typically Windows machines would lock you out of the inactivity of I don't know half an hour 10 minutes whatever your setup is so the robot needs to know how to log into the machine that's what we're telling you so we need to store the credentials they're safely stored and encrypted and all these things right but we need to tell the robot how you can actually log in got it so I think you can see that it's uh I have to put the window username and folks I'm I have this host name that's that I got it in the previous step so I'm just copy this thing and I'm gonna put it something like this that's there and the window password is some um that's specific to our machines right in your environment it might be a domain name backslash something or whatever it is most time is specific to the willow machines how we log in you will probably need to talk your to your it infrastructure team saying how what kind of user can the robot use is it a local user domain user whatever it is but you need properly to create a technical user so the robot can log into that machine got it so I think like we created the credentials set and now we're going into the details and we're here we have to navigate to the process robot credentials what's this process robot credentials Daniel yeah that's how that looks a bit managing all the things twice or maybe even three times in in the bot configuration right yeah he is and why we do that is on a bot process if you have really a high volume of transactions that you want to pass through then you might need more than one robot executing it and that's when we need to assign okay this robot has staff credentials the other robot uses disk credentials they might have different passwords to log into their machines and things like that that's why we maintain it so complicated let's say but it opens the flexibility to scale if you need to so if you're like hundreds of Records coming in hundreds of visitors coming in in the morning and all need to go through that you might want to have modern more robot executing the things got it I think yeah that's there so it's more of like we did a end-to-end process how you will design a robot and then you will publish it and all these things in this lab so it's like a pretty much comprehensive lab every if a person who is very new to RP Hub if they try this lab they will get a lot of information that's what I felt so I yeah and I think like we are done with the labs so finally let's bring us back to the screens So Daniel like we are finally done with the lab so firstly thank you very much for creating this lab it has so much details in it like it it didn't felt like like I was doing a proper lab because it it was so comprehensive it had so much detailing in everything so thank you very much for it and now question to you how I did it how did it yeah and I saw you got a hang of it and you get faster as it went through yes exactly like that's that's the thing like uh when for people who are trying the RP for the first time when you try it you might be a bit slow but as you progress it will be faster and I have done the RPA challenge if now it's your time to do the RPA challenge so I'm you you have the link to the build with RP challenge page and everything in the description click on it request your instance and start doing the build with RP Challenge and we'll be there to answer if there is any question so thank you very much any final word done in anything you want to plug in before we oh I hope you all enjoy doing the build with RPA Challenge and I I'm looking forward to see what you built outside the lab what kind of ideas you have what do you want to automate with that let us know I'm very interested and excited to see that perfect I think yo that's great thank you so much Daniel for your time and see you guys thank you bye bye bye-bye thank you

View original source

https://www.youtube.com/watch?v=XUfO7SrYmJE