Kofax Robotic Process Automation (RPA), also known as Kapow, is an easy-to-use platform that allows you to quickly set up software robots to replace manual tasks, decisions, and activities. In this webinar, we will share some tips, tricks, and common uses for Kofax Kapow software robots, including accessing business applications, web portals, and local files.
All right. Hello and thank you for joining another webinar Wednesday with RPI Consultants. This is our second of today’s double header. Today we’re going to be talking about some tips and tricks with Kofax’s RPA product, which stands for Robotic Process Automation and formerly known as Kapow.
Before we get started here, we’re going to go ahead and introduce ourselves. My name is Quinn Huntsman. I’m a business analyst here on the Content and Process Automation team in Kansas City, Missouri. I have a background in web development as well as Perceptive Content administration and troubleshooting.
I’ve been a part of implementation projects, upgrades and enhancements, so lots of background there. As well as I am a certified Kofax technical solution specialist for Kofax’s Robotic Process Automation product that we’ll be talking about today.
My name is Geoff Lilienfeld. I’m one of the partners at RPI and I manage our content and process automation practice. I’ve a little over a decade of experience with imaging solutions, integrating those solutions with financial systems and ERPs as well as designing and developing process automation solutions.
Prior to being in the IT space I was a management consultant. Kind of come from an entrepreneurial background. My fun fact here is I bought and resold 14,000 iPhones in 2008.
Quinn Huntsman: That is a fun fact indeed. What we have on the agenda today, we’re going to get into a little bit about RPI Consultants, tell you who we are. And then we’ll get right to the bulk of the presentation, discuss some tips and tricks we’ve learned with working with Kofax RPA.
At the end we’ll open it up to you all for questions and summary and then at the very end we’ll discuss some exciting upcoming events we have regarding RPA, so stick around for that. About RPI Consultants, we are a full-service professional provider for the industry’s leading enterprise content management and automation software, including Infor Lawson, Kofax products such as RPA that we’re going to discuss today.
And then the Hyland Software suite such as Perceptive Content or Brainware. We have over a hundred full time resources including technical and solution architects as well as project managers who are ready to add value to your business every step of the way. We are based in Baltimore, Maryland, but we do have offices in Tampa, Florida as well as Kansas City, Missouri where I am presenting to you from today.
Some of our technical services include strategy and architecture as well as new installations, upgrades and migrations as well as process analysis, systems design and implementation, managed services, staff augmentation and projects and change management. We can go ahead and start with the bulk of the presentation here and share with you some of our RPA tips and tricks we’ve learned along the way. Without further ado, let’s get right to it.
And definitely, please feel free to ask questions too as as we go.
Absolutely. You can do that in the GoToMeeting panel and our moderator Michael Hopkins here will kind of feed those questions to us. The first thing we want to share with you, it’s the first place you start with your RPA project, which is designing your robot. A few principles or tips here on designing your robot.
The very first thing you’re going to want to do is step through that process as an end user. That’ll really help you understand what it’s going to look like as far as the robot because truly what RPA does is [inaudible] end-user steps and process.
It will look very similar to that as far as the workflow. Another point here is to keep in mind that you can kind of chain your robots together. It’s a really good idea to build or design one robot with the idea of having one robot execute one task in mind to really keep things organized and clean.
A few other points here that you can identify when you’re designing your robot or identifying variables, things that you need to store, whether that’s usernames and passwords for a login screen or really anything to that effect. Also, it’s important to identify points in the process that absolutely do require a user input or intervention of any time.
For instance, we have a vendor due diligence verification robot that we built that we accept the input for a vendor name, so it’s pretty crucial there. And then the last thing as far as designing your robot is to start to think about how you want to schedule this robot.
Does this robot need to run every morning at 6:00 AM? At night? Is there an event that needs to occur before I want this robot to run? Those are all points you can bring into consideration when you’re talking about how often do you want this robot to execute.
And going back to Quinn’s point on the one robot per task, one of the cool things about the way that Kofax RPA or Kapow is licensed is that it isn’t actually based on how many robots you build. It’s licensed based on how many robots are running in the back concurrently.
You can build as many different robots as you want to, as many different tasks as you want with just one concurrent license. And with that being said, it actually chose those robots. You could kick off 10 different robots and based on when those robots get kicked off, they’re actually going to queue up and then get executed once the license becomes available.
It’s pretty unique compared to a lot of the other players in the RPA space, most of which are licensing based on the actual robots that you build to perform a task.
Kofax RPA, the licensing scheme certainly offers a lot more freedom than some of the other RPA products on the market. Moving on here, once you’ve designed your robot using the principles we listed, it’s time to get into building your robot. Now, a few first steps you want to do before you get into that, you always want to create your project directory.
Now, this is similar to visual studio, if you’ve ever worked in there, where at the top level you’ll have my project and then below that you can create sub-folders for things like database mapping, device mappings, which we’ll get into a little bit later, your robots themselves as well as snippets and types.
Types are sort of like variables that you bring into the scope of your robot. This allows you to organize your projects and the dependencies that come with those projects such as things like snippets and types. Another point here that is often handy is when you’re testing your robot and you get through a chunk of steps that you know works quite well and you’re comfortable with that.
If you’re trying to execute steps beyond that, it’s often handy to disable steps that you know work so that you don’t have to wait for those to process and be complete before you get to the point what you’re trying to see next. All you have to do to do that is right click the step and disable it.
Just don’t forget to enable it later on. I have definitely chased my tail trying to figure out what I did wrong when it was just a matter of the robot, the testing disabled. The final tip here on building your robots, and this is probably the most important one, is to use snippets. Snippets are definitely your friend.
You can think of them as reusable chunks of code. Say you have a web portal that you have three different end-user processes you’re trying to automate but each one of those processes starts with logging into the web portal. Now what you can do is let’s say logging in has three sub-steps of it, which would be open the website, enter the username, enter the password, and then [inaudible] login.
You can save that on what’s called a snippet, which is really quite easy to do from the design studio and then you can reuse that snippet in other robots. It saves you some time not having to rebuild the same steps over and over again.
And one of the cool things there too is that if a username changes or a password changes, you modify it in that snippet and then that new username or password gets modified throughout all of your robots.
With that being said, that’s always something that you want to keep in mind is that if you do have a snippet and you want to modify it for a single robot, you should copy the steps out of that snippet and then paste them into the robot before modifying or anything. Any change you make to that snippet will be a change across all robots if that snippets used it.
Absolutely. All right, so we’ve covered designing and building at a high level. There’s certainly a lot more to that. Sort of an endless bucket of tricks there but you’ll kind of discover things as you get more comfortable in Design Studio. The next big tip for beginners certainly is that the product documentation for Kofax RPA is available directly through Design Studio, which I always thought was very cool.
At the top of your design studio window there’s just a toolbar and you can just click help and then the user’s guide and it’ll open up in a browser, the documentation that actually does come with your install provided by Kofax. One thing that’s super awesome about the documentation is that there are tutorials available.
This is tutorials from writing to an Excel sheet. There are really some very in-depth tutorials in there that you should definitely leverage. Overall this documentation is end-to-end so you’ll find information on how to you use Design Studio, really anything you can think of in there.
Management console which is the web-based application that you sort of use to administrate RPA and then the desktop automation service we’ll talk a little bit about it later and then Kapplets which is like a user-friendly interface to run robots. And of course, you can find more information and additional documentation at knowledge.kofax.com.
Kofax RPA is truly the only enterprise software I’ve ever seen that you can install and by performing the tutorials and utilizing the documentation that comes with the software, truly be up and running and start building robots. It’s very in depth. The tutorials are awesome.
That means a lot coming from Geoff. He makes sure to go out and find new software every day. All right. Our next point here is when we discovered relatively early on regarding working with web portals and security as it relates to that. All websites on the internet are secured using some Transport Layer Security protocol or some certain kind of SSL protocol.
Sometimes you’ll get an error when you load a page that says SSL handshake error, which essentially means the protocol that your robot is using to trust the site and what the site says is the standard do not match. The way around this is to first as a starting point to figure out what the site you’re trying to access is running on.
If you’re in Chrome, at least, you can right click and inspect the site and then go to the security tab and somewhere in the middle of that tab it’ll tell you this site is encrypted using TLS 1.2 or something to that effect. Then what you can do is going into your robot to configure it to match those settings.
Now, what we often do here is, and that’s in the default options window here you’re seeing on the slide, is set that to accept both SSL 3.0 and TLS 1.x. Now, this is sort of a catchall. Of course you can have it match up exactly. If it’s like this TLS 1.2, you can see setting above there to have it accept only TLS 1.2.
It’s a bit more secure. But with setting it as a catchall, I guess the decision point here is, well, how far down does my robot extend? Are there other websites I’m working with? Because if not, you can just set it at the global robot level to access pretty much all connections.
Otherwise, if later on in your robot you have another site you’re working with and you need things to be a bit more secure, you can get more granular with the security there.
Yeah. I mean, if you’re trusting the site then more or less utilizing that catchall setting is going to be fine. I’d always recommend at least utilizing that while building the robot if nothing else. So even if you wanted to go back and really make sure later on down the road if you are matching up, then fine.
But definitely for the sake of development I would set at the global variable. Otherwise, it gets pretty painful trying do it for each step and making sure that it’s correct.
Certainly. I guess another tip here that’s pretty handy to know is, and we kind of alluded to it, you can set the settings at a global level for the entire robot, but you can also handle these settings on a step by step basis.
The settings you’re seeing over here on the left regarding SSL and TLS, those exist per step. If you have multiple load pages that’s with different websites you can handle it that way or you can do it at the global level.
A little bit about error logging and auditing. There’s a few options that you have. The software does come with some out of the box logging which can be set up through the management console. You need to be sure that you start the development database whenever you start Kofax RPA or Kapow, that doesn’t happen automatically.
And so you’ll have a little icon on your desktop or in the start menu that looks like this little black icon here and you’ll just want to make sure that you actually execute that so that you start the development database. And then you’ll be able to get some basic error logging as far as crash reporting, that type of stuff, exceptions through that database.
One thing that’s really cool too to do is you can actually utilize Slack to create a logging channel or a notification channel, whether that’s for you or for end users. And you can do that just by making web service calls inside of Kapow, right? So just right inside of your robot you just add steps to actually call your Slack workspace.
Even if your organization doesn’t use Slack, it doesn’t really matter because for free you can go on to slack.com and just create a new workspace. Once you know how to do this it’ll take you about five minutes to set it up each time and you can create your own custom app with your own box name, all that type of stuff.
That can be extremely helpful. Another option is you can log various results of steps to CSV files or to Excel files and then store those in a shared folder. That might be a network drive, it can be box, it can be Dropbox, anything like that, that’s then auto sinking to your machine and then users machine, anything like that.
These are all just options for allowing you to really know what a robot is doing without having to log back into the server that you’re running the management console on or that you’re dropping others CSV files into.
To elaborate just a little bit on Geoff’s first point here with making sure you start the development database executable there. Anytime that you’re working in Design Studio for RPA, there’s actually about four different executables that just open a command window that you always want to start.
And so if they have to run those as an administrator, can those executables like WinRAR start robot server, start management console, which are some of the background tasks that you need for RPA or for your Design Studio builds to be able to communicate back to the server.
That sort of brings all this information together. And then there is also an executable that just starts Design Studio, but that one’s pretty self-evident.
Especially if you’re going to be writing anything to the file system as Quinn mentioned, make sure that you’re right clicking even for Design Studio and that you’re running as an administrator or you more than likely will get an error and a Kofax RPA will not be able to write to the file system.
This dives a little bit more into the actual Design Studio. And when we’re looking at various web pages or web applications, a lot of times it can be very helpful in the bottom right corner to click the little ignore styles button on a website. If you look on the left here this is what a sign in form looks like before hitting ignore styles.
On the right side we have without the styles. What can be nice about that is sometimes there are elements that depending on what page you’re on are hidden and you won’t be able to see those elements and then all of a sudden once you ignore the styles you can see them.
Not that this would be super helpful here, but let’s just say somehow you didn’t understand that this first box on the left was a username, right? Over here we can now see the label of what this box is or field is. The ignore style is a very handy thing to kind of turn on and off as you’re building robots, especially if there’s an element that you believe might be on a page that you can’t see.
Yeah, certainly it helps clean things up from a designing perspective. Note hear that while you are ignoring the styles, this doesn’t impact the style sheets that are actually running on the website you’re visiting. This is just telling how not to render the CSS or whatever that you’re seeing and only pretty much displayed the base HTML there.
And then another aspect that you’re going to find just to the right of the ignore styles is our frame navigation. What that is is as you’re browsing various websites, there are all sorts of different frames that might be popping up and that doesn’t necessarily mean like eye frames.
They can be various Java Script, pop-up windows, that sort of stuff. This allows you to actually, for one, navigate those various popovers. But also, you can actually block them. For instance, sometimes you might be crawling a website and every so often it asks you to create an account using Facebook to continue forward.
Otherwise, you have to X out of that time or that sort of thing. You can actually block those from ever occurring so that the robot can continue executing without having to try to navigate those popovers or popups.
Yes, and then it kind of ties into the last slide about ignoring styles. Kapow offers a lot of options to clean up what you’re seeing as you go through a build in Design Studio. It’s definitely very handy to get familiar with those.
Continuing down that line of thought, a lot of times we get questions about speeding up robots. That the robot isn’t executing as quickly as you think it should or as quickly as it’s executing in your browser outside of Kapow. One of the ways that you can mitigate that is by using this continue when functionality.
You can actually access that from the configuration window in most steps or you can right click on an element and use the wait for option. What that does is if you’re telling it to continue when an HTML element appears, let’s say for instance that you want to get the text out of a field.
You don’t necessarily care about all of the other fields loading, You just need that one field to load. You can tell it, hey, as soon as we see that this element has loaded, stop loading everything else, get the text from that field and then move forward. For certain robots and certain websites this can really speed things up quite a bit.
On the flip side, you might want to really make sure that a page fully loads and so you could use the wait for the page to stop changing and actually set it to say, okay, I want to make sure that this page hasn’t changed at all for five seconds because I know that this website is very slow and something strange happened, That type of thing. It’s very flexible when Kapow or Kofax RPA is going to move on to the next step.
Absolutely. Next one about to hear we have the matter of scheduling robots. This is a bit more informational than tips and tricks, but it’s definitely very important. A lot of discussion we’ve had so far is about being in the Design Studio. We definitely wanted to get you familiar with some of the things that go on in the management console as well.
Scheduling your robots, whether you’re used to a Linux environment and the Cron path format or Windows scheduled tasks, more traditional scheduling, there’s options for both. You can choose either format and additionally you can include scripts in your runs to actually keep before or after the completion of your scaffold run for the robot.
This might be handy if you’re wanting things like notifications or a daily summary or some kind of report from your robot run. Important note here is that you can not only run just a single robot given a scheduled job, you can actually have the scheduled job run a group of robots. It’s very handy.
It’s definitely going to give you some flexibility on when you want to execute your robots and you can chain robots together even which is often crucial to a process executing how it should for a lot of organizations. Now, this is Kapplets which is sort of a user-friendly interface for robots.
Kapplets are deployed in what we called the Kapplet zone. This also exists within the management console. Again, it’s just a portal where an administrator can go in and upload the robots and assign them to certain users and then a user can go in and then they can run the robot very easy.
It’s a very user-friendly interface where they can just put in if there’s input value and then press run essentially, and then the robot will return the results back to them there. Additionally, you can brand and customize these portals so you can have your own company logos in there and you can even modify the CSS and whatnot behind the portal here.
Again, this is very handy and we would suggest using something like this if you have a robot that requires just a single user input. It can handle multiple, but again, it’s a very handy thing to deploy to your users who are used to doing a task a certain way. You don’t want to change their day to day too much by implementing RPA solution.
For example, on the right you’re seeing that that vendor verification robot that we alluded to earlier. The user would come in here, and this is actually a screenshot of the Kapplet that’s deployed, and they would put it in their vendor names such as the American Red Cross there. And then they just go hit start there at the bottom and then it’ll run and then return the results.
Finally, again, this is more informational, but there are some important tips here when working with desktop automation. A lot of what we’ve talked about up to this point is working with websites in RPA and you may be asking yourself, well, what if I’m trying to automate a task on a desktop application and maybe a legacy system or just within windows.
Kapow certainly has the capability to do that and the way it does that is with a service that comes bundled with the install and that service is called a desktop automation service. Essentially what you’re doing is installing a service on your automation machine, which is considered the machine that you’d like to automate a task on, and point it back to your management console server.
It just runs between those two machines. The fifth here is that to make sure this is going to work as far as from a network standpoint is to have those two machines ping each other first. To make sure that they can communicate overall and then be aware and kind of note any potential firewall conflicts that you might have going on there.
Usually if the service can ping each other, that’ll work. But you can also use the windows Telnet command to access the server on the specific port that management console runs on which is by default 580. Just a little bit more preliminary work you can do there to make sure the desktop automation services kind of work for you.
A few use cases here. As I mentioned, our windows applications, Java applications and terminal applications, that might be on legacy systems. They can work with some pretty old applications to help be off of those systems as well.
A lot of cool stuff you can do with desktop automation.
Absolutely. All right. At this point in the presentation we wanted to go ahead and turn it over to you all to ask us questions. Throw your use cases at us, let us know what you got there. Just as a reminder, you can submit these questions through the GoToMeeting panel and our moderator and Michael Hopkins will feed that to Geoff and I.
That’s me. All right, we have our first question. Does RPA work with Java based applications?
Yep. It would work with Java based applications using the desktop automation service. One thing worth noting there is that there is a requirement of the Java access bridge to be running on the automation server that you’re trying to complete the task on and you can get that by installing the 32 bit JRE on that machine.
All right. Next one, does RPA securely store passwords?
Yes. Any time that you enter a password into a form, it’s always going to encrypt that password. And in addition, it actually has its own kind of password database. You have a whole password management system inside of the management console. It’s very, very robust when it comes to storing passwords.
Yep, whether you’re creating a variable as a password type or you’re using an inter password step. The only time that it… actually, it never displays that password in plain text so the only person that would know the password is the person authorized to take that password and build it into the robot. Great question.
All right, and that’s all the questions we have.
All right. Well, thank you everyone for joining. We appreciate you. We do have a couple more notes here before you head out to talk about our relationship here with Kofax a little bit.
RPI is a Kofax platinum partner. We’ve been working with Kofax for over 10 years. We really run… Well, I used to be able to say the full suite of Kofax products but they seem to be adding one a week. But our main history is in Kofax Capture and Kofax Transformation now called Kofax Transformation Modules more and more.
We’ve been using that for accounts payable processing for, like I said, over a decade. And then with Kofax TotalAgility they’ve now essentially built Kofax Transformation into Kofax TotalAgility. We have quite a bit of experience with that now as for a lot of our newer clients.
Instead of going to Kofax Transformation, we’re utilizing Kofax TotalAgility since that has workflow that goes with it as well. And then of course we’ve just spent this time discussing Kofax RPA. And then ReadSoft Online is Kofax’s fast invoice processing solution, which is a really great solution.
It can really handle organizations of all sizes. When choosing between ReadSoft Online or something like Kofax TotalAgility, it’s much less about the size of the organization or the number of invoices, but definitely a lot more about the complexity of the data that we need off of the invoices and the workflow that occurs after.
With that being said, as you likely know, RPI is very deep in the accounts payable and financial process automation space going on something like 20 years now doing that. And then also we’ve seen a lot of automation for HR and HCM type solutions. We automate business processes of all types. I mean, there’s really no industry we haven’t touched and very, very few types of use cases.
And Kofax keeps giving us new tools to configure out and expand and so it’s awesome. Now, the last thing before you head out, we do have a upcoming RPA workshop. This will be a two-day event, October 8th to the 9th of this year and it’ll be hosted right here in the Kansas City office.
I believe Geoff and I or maybe just me will be here to help give you some hands on experience with learning RPA so you can come and prepare your use cases, sort of add that and we can kind of show you how we would approach that or how that can be done with RPA. We haven’t really been marketing up to this point so your first to hear about it. If you are interested be sure to register as soon as possible at rpic.com.
Excellent. Thank you everyone. We definitely hope to see some of you there. Thanks so much.