UiPath DevCon 2019: Front Office Automation and Attended Robots
I. Start. While they figure out. Projection. Issues I wanted to do a demo for you guys and turns. Out the HDMI connections, not working so we'll just wait for a bit and see how it goes. So my name is Paulo karakia, I'm, a product, manager here. At uipath, I've been here like three or four months now for months and, I, am running, front office automation and. So today I'm gonna talk to you a little bit about what, uipath, is doing in terms of front office automation, but. First I want to ask you guys some questions how, many, of. You here have, users. Using attended, automation. Not. Very many and how many folks here are on. 2,000, 18.3, and above. Okay. Good to know what are some of the challenges you guys have seen with your end. Users, using attended, automation, is it, working well is it not working what, are some of the issues. Anyone. For. Those of you here using it. And. For, folks who are not using it any thoughts on why. Alright. In. That case let's get started. So. Daniel. Denis our CEO said that our vision, is to have one robot for every person and, we. Cannot realize, this vision until. Attended. Automation, is truly realized attendant automation is key to, the success of this mission that we have if, you, think about it all of us perform a lot of manual, tasks, on a day to day basis especially when, you look at users. Like contact, centers or human resources or, or. Attacks and underwriters and things like that right they, spend so much of their time filling, out forms they, doing data entry copying. Information from one system to another or. Dealing. With data inconsistencies. Across multiple systems if we. Can arm them with attended. Robots to go make this stuff easy for them we, can significantly improve, their quality of work. So. With that let me actually go into more detail for how we uipath. Are trying to improve, product, to help with this with, this attended, automation scenario, first. Of all in 18.3. In 18.4. We, invested, a ton in enabling. Functionality. That a name that makes it easy for people to use our robot tray if you recall well most of you are still not at 18.3, so if you look at our robot trade today it's, fairly straight fairly, simple you can't resize it you can't search with. 18.3. We added the ability to resize, the robot tray we've also added the ability to search within the tray so, that if you have a long list of processors you can quickly find the ones that you need, next. We have I I'm, sure you've heard about floating, robots, in other sessions as well what. We've done is we've added attended, floating robots as well where. You have a one-to-one mapping between robot, and user in the past the mapping was between a robot, and user machine, pair we've disconnected the machine from that so now as a user if you move from one machine to another you're. Your. Settings, and all your processes kind of go with you as long as you have a license available of course. Next. Is we've added Orchestrator, in the settings as well so you can now switch with between multiple orchestrators, so if you have a, production, environment and, a test environment you want to switch between those you can do that from within the tray and you don't have to switch machines and things like that and, then the other, really cool thing that are also demo, a little bit later is that we've, added a couple of activities one, is to block user input, so in UI automation cases, where user input can actually break automation, you can now prevent, users from from, interacting with the system completely so it locks mouse and keyboard input, until, you press a hotkey which is configurable, and the, second one is custom input form so we hear a lot from customers, that you know attended automation users need to specify some basic information or. More complex information sometimes, and we've faced this challenge with our validation, station in.
Our In our. Ml. Space where we. Need to pop up some UI so the users can say yes this is correct or no this is not correct or enter some information and. So we build this ability to do custom, input form so you can build an HTML, page and, supply. It to this activity and it'll pop that open at whatever stage in your workflow you configure, it for and. Then. In 18.4, we introduce another activity, to report status so again you can kind of say you're not one step 105, or whatever you want it to say it's it's a text field and it shows up in your in your attended, automation, so I'll show you a sample of that as well assuming. My computer. Is working and. Then of course you know pausing, and stopping execution. From the tracer if you need to do some work while, processes. Are running you can pause it go deal with it and then resume. The process, processes. Have to be designed in. A way that it's easy to pause them but. The capability, is available and then we of course display, the running process, so let's actually instead of me talking take. A look at what, this looks like in. Practice. Okay. Can you switch to a demo is, it not working still. Yeah. Well. That's for my network. All. Right well just can't. Okay. I'm just gonna continue with the slides and then we'll come back to the demo1 sabers all day so. What. We've talked about so far is what's, already implemented, in the product we have a whole ton of stuff coming and as part of our roadmap over the next few months that. I wanted to quickly walk you through. First. Note that you guys are the first people to see parts. Of this roadmap and it's, nothing is set in stone it's very very early any, screens, that you see here are also very very early so. Don't just. Be aware of that fact that it's early okay. So. In terms of roadmap would kind of think about front, office automation and we've broken it out into four big areas of investment, for us for, the company first, is improving, the attended experience, so you already saw some of the improvements we made to the robot tray we want to continue expanding, on those over the next year as well and I'll go into more detail on each one of these coming up. Next. Is he oops sorry let's go back human. Process interaction, again, we build custom input, forms but that's only scratching the surface we, want to go make that significantly. Easier for everyone as well the. Next one is hybrid RPA we get asked from customers all the time how do we trigger unattended, automation, from attended, and vice, versa we have processes, that need to be chained how do we go make that happen easily, that's, something that we're gonna invest in as well and then the last and most important, in my opinion is client extensibility, it's, that you should be able to run any process, from anywhere so if you build a custom client and you want to just trigger a process from it you should be able to do that so, let's go into more detail on each one and kind of talk about what specific. Functionality, we are hoping, to enable. First. In improving. The. Attended experience, we want to focus on robot, tray accessibility. This has been just customer, feedback we button actually a lot of the things you'll see on this list are, based on feedback that we've got from many many customers, that you know keyboard access and. And and, things, like that are super important in the tray for them next, is the ability to have global hotkeys, for pause and resume I believe we already shipped this recently so. It might be something that already works but, we added the buttons to do that we, haven't added the ability to actually do it using shortcuts, so we want to add that into, and. Then another, huge, requirement from people is have. The robot tray always on top so as I can watch the updates the progress in my process or I can launch different processes, as one, finishes, instead of it hiding all the time behind that that's currently loaded. The. Next one is the, ability to mark processes, as favorites and apply tags to it so, as an, end user I should be able to mark a process as favorite and then assuming, I'm using a floating robot, go, to any other machine, and have my favorites show up for me the, second, part which is a little bit more interesting, is having. The. Organization, apply tags to processes, so you could say you know all of these processes are for human resources and you.
Can Bundle them under it and then if you notice on the screen over there. On. The right here you'll see the 17-3, and - I know it's a little bit hard to see these. Are just wireframes, but it's, the that's, where the tags will show up so if you mark something as Human Resources you should be able to click on that HR, tag and it will filter all the processes, down to just that list so if that's what you work off of for the most part it should be easy enough to find stuff, and as we try to get to, this point of anybody, can build automation, using. Studio X and anybody can run automation, using our our robot. Tray we, really need to make it easy for users to find what they need and quickly, run it and view, progress on each one so you'll also notice that we're, showing kind of the progress, for, how far along you are in this in this process. And. The last one is we've gotten to this a scrum enterprise as a lot is how, do you we want to put our own logo on here because we're deploying it to our user base and so, we want to add that functionality in, as well. The. Next big one is hybrid RPA this. Is the ability for attended. And unattended processes, to coordinate, with each other the ability to build chained, processes, so, you can pass context. From one to the other and, have, progress. Show up inside, of your tray or wherever you're watching you know Orchestrator, for that matter it's, knowing. Who launched the process which user launched the process and and, showing, that entire process chain, of where, it came from and presenting, updates, back to the user and now coming, up next is our, human process interaction, so the hybrid RP and this flows in very well together where, if you build your processes, already, to take human input even, if they're unattended, the, tray can tell you hey this unattended process, actually needs some human input or it's stuck you need to go deal with it and if, it's part of your chain it'll just show up in your tray, that's. A big thing that we want to invest in is making sure this experiences. End-to-end, sort. Of consistent, and it flows well. The. Next thing is forms, input forms so I mentioned, HTML, forms if this thing keeps working I'll show you a sample, of how that works today, what. We want to do is have a designer that lets you design forms, in a drag-and-drop manner, so you don't have to write a bunch of HTML code to make it all work and you. Know the forms can look a lot better and you can bind it to the data much better as well so we'll, add functionality, like business objects, or entities as, some might know it so, you can but there, are more complex types so you can bind your your, forms, and fields to that to, that entity or to that data type as well and. Then the last piece of course would equally important is process output, so if you want to show output from your process, how do we do it easily as well. Okay. In. Sorry. I want to quickly point out again you'll see the mock-ups here that show how. That process input, output scenario, can work this is of course one way our goal is to enable it so you can customize, that that, form view to whatever you'd like and. The. Last one is client extensibility. This, one is where we want to provide, a robot, API so. Anybody can build processes, directly. From within their application so we have many customers who, are like you know what I need, to learn I need to run these three processes from my context of wrap I don't want to have to launch the robot tray all the time here is an API you, can trigger the process you want directly using that API we, also want to provide the ability to embed widgets, directly, inside of your forms or your applications, so that you can trigger more than one but.
It's All integrated, so you have to keep switching between apps, I mean that's the you know that's the whole point of our PA right to minimize switching, and. So Trey shouldn't be one of the apps that you have to switch to so this, is something that we're investigating, looking into how we can you know enable, and you'll see an example over, here of what that could look like where, we, embed and you, know our our. Tray, or equivalent, an agent, that, that lives inside, of your application. Okay. And then, coming back to the Business Objects and data types that becomes really important, when you're now integrating, across, multiple systems because. You want to make sure there's one consistent, schema, for, all of the entities that you're integrating with or interacting, with or any data type that you're interacting with outside. Of the basic you know strings and things like that and so we want to build a business object model that spans, all of these different systems and, so, you can make it really easy to build your end-to-end processes. And. The last thing that we're gonna do is is. Sort. Of prototype it with a mobile application a mobile, application that you can't actually run. Process, on mobile but you can visualize, your process status you can see how your chain process, is doing you can look at the steps that have been followed and, what you need to do next or if human input is required you can potentially provide that input on, your mobile device as well so, those are the key things that we think will enable, this end-to-end, extensible. Platform that. We aim we. Aim to get to with, UI path attended, automation. Let's. See if we have our demo working Oh excellent. All. Right. Locked. This is not my laptop. It's. Not connecting. But. Yours connected. Okay. Okay. Let's see if I could do this I will. Build it in studio from. Scratch so it'll take a little bit longer. Excellent. So, what. I do here it looks like got started, and. Okay. This is not. That's. Too funny, okay. Oh. Can. I just VM, in to. Let. Me show you how I can switch to a, different Orchestrator. Instance. Here. Actually. It's probably quite okay nevermind we'll just build one from scratch. So. The sequence that I want to build. So. The sequence I wanted to build was I wanted to show you three activities, primarily. One, is a custom, input form which without, my access, to my HTML, it's, gonna be a little bit difficult to do I will. Show you how to do the block user input, and I'll, show you how to do a. Report. Status which you ready already has here it looks like so. In, a scenario where we want to report. Status of an execution. That's running we, can go ahead and pull. The status. Activity, so we have an out-of-box deck out, of box activity, for report status which. Yeah. That's. What I'm thinking I'm like something's running, if. You guys haven't seen it we have a dark theme now in studio that's, the dark theme. Sorry. Guys. This, was intended to be a little bit smoother. No. Okay. Let's, see if we can make this work. So. I'll just start with a blink process. And we'll drag and drop the the. Report. Status activity, which is what it's called or. Not. Sorry. What. That's. Right never mind. Alright. Okay. So we'll drag and drop the record status activity, and it, takes one, parameter which is the text that you want to present to that activity. And here I could simply say so the. Process that had set up we had a for each loop iterating. Through an excel file that would actually say I you, know I've done the 1 of 500 rows i process three or five hundred rows and so on and you can include this pretty much anywhere so in this case I could just say processing. Started, and. Let's. Go ahead and add a delay, here so that it doesn't just finish, really. Fast. I'll. Go ahead and add a delay. Apologies. There. We go okay. So. I'm gonna work. Yeah, but it. You. Think you have a. On. Mine. It works fine I think you have a different build yeah. Okay. Here's what I'm gonna do we'll make it easy and. We'll. Drop in a message box. Okay. Excellent. Now, if we go ahead and run this process. There. We go if we open, our UI, status, it tells you processing, started which is the message that I had provided to it now, I could, go ahead and add multiple, different statuses, as part of every workflow, and each, of these will show up here this is the best way for us to show progress, the. Next thing that I could do is add, a. Block. Activity, which, is where if, you, have you if. You want to block your UI you. Can go ahead and add your block user input activity and. Throw. The message box inside it and now.
Here Are alt F 10 is the key but you know what I prefer control-enter. Right, there, and, we'll go ahead and, run. This and, now. You'll notice that as this is running I'm actually unable to do anything with my mouse or keyboard, until. I press control enter in which, case now the the keyboard is accessible, and I can go ahead and press, ok here the. Last activity, that I wanted to show you is the custom in productivity. Which. Crafting, HTML right now is probably unwise but. I'll show kind of how that works here there, are two parts to it one you can show the URL that represents, the URL to the actual form that you've built it can, be a local form it can be hosted, somewhere else either, way when, you run this it'll, pull that form up and showcase. Show the data in here you, can of course then have variables, within that HTML, page that are that you can extract later, for, use within the rest of your process, so the. Sample process that I'd build took phone numbers and updated phone numbers in an excel file and so, you enter the email address and phone number and it would just take that data I just split the string and. Push. That data into Excel so it's a very straightforward activity. To use today the most complex, part of it is actually creating, that form, itself, for. Which you have to use external. Tools and that's something that we want to go you know improve upon later on, as. Well that. Was, the demo any questions. So. My question, is like in. The. Yes. The page, should just work the. Yes. Absolutely, right, so whatever, the variables, I'm. It's. It. And it has to happen with a new HTML page yes and then you can also have validation, you can you, have your variables, you take that output from that you, can parse it inside of your process and then you can do validation on it inside the process as well thank. You. Any. Other questions. All. Right well great sorry, the demo didn't work out as well as I'd expected, but kind. Of showed you the highlights anyway thanks. Everyone. Oh.