ABBYY Vantage Video – Integration with Automation Anywhere™

Watch a video to learn how you can integrate an Automation Anywhere™ Bot with the document processing skills of ABBYY Vantage.

Hello. Today I’d like to share with you a video about how we do an integration between Automation Anywhere and ABBYY Vantage. Once again, being able to take advantage of two best in class platforms from RPA to OCR, with classification and extraction, and really mend them into one full process, giving us the best of both worlds. And what you see in front of us is an Automation Anywhere Bot, and this Bot is responsible for interacting with the Vantage Web Service API to pass documents and take advantage of those skills that we have within ABBYY Vantage.

So what I wanted to show you is my dual setup here, where I can show you the bot visually, but also the steps specifically called out for us. And really this is the high list of steps. Is we’re going to obtain an Access Token. We’re going to go get some skills. Specifically, look for a specific skill that we want to interact with. Then we’re going to process the files. We’re going to upload some files to ABBYY Vantage. We’re going to get the transaction information back. We’re going to download the result file and convert that Json to a CSV.

So it’s fairly simple. In fact, what I’ll do is I’ll go ahead and run the bot so that we can see what happens. I’m going to hit run. And we’re going to have a couple of message boxes that load up for us just to kind of show us the different pieces of the interaction.

This would be our Access Token. This would be our SkillID. Then we have what’s called a TransactionID within ABBYY Vantage. And once again, these message boxes are just for information purposes so that we can track how the bot is progressing. All right, now the documents have been fully processed. So what you’ll see is we have this information extracted to a CSV file. If I double click that CSV file, I will have the results that I’ve gotten back from ABBYY Vantage here within my CSV file here in Excel. So this is just one example of exporting that Json query to something that’s usable for us downstream. It gives us the ability to obviously take that Json, and do anything we want with it. Whether it’s use it within the bot, whether it is passing it to another process downstream, or consuming that Json through some other method.

So the cool part is here that we have that all working as one seamless process, but let’s dive into the bot for just a few seconds here. It’s very simple. It’s just a REST Web Service Action that we’re using within Automation Anywhere. So we’re going to go ahead, for example, post our API to Access Token Request. We’re going to go ahead and extract the data from the response and we will then get an Access Token. So if we wanted to take a look at the Access Token Request, we can pull that up here within our variable. We have a variable where we store all of these specific calls. And you can see here, we’re applying this here to the endpoint. We actually have two different URLs that we’re using. So we use the URL base of the URL, and then we use an Access Token amended to it so that we can keep those as two separate locations.

Obviously then we will extract our Access Token. Now, an interesting part here is that we want to look for a specific skill. So what we do is we can obviously get the skills through a web service post, and then we can extract the specific Web Service ID of that skilled name that we’re looking to interact with Vantage here. So what we’ve done is we’ve asked Vantage to give us a list of skills. And now we’re specifically looking for a specific skill that we will interact with downstream. So we’ll store that SkillID and a variable, which we will then use when we process new transactions.

Now we have a DLL that we use to kind of package that document and pass that over to Vantage. You’ll see, it’s actually fairly simple. All we’re doing is we’re giving it a file. We’re giving it the Web Service URL and the Header, and we’re passing it to Vantage, just programmatically, making sure that we combine all of those beautifully. But then the rest of this is once again, interacting directly with the API to get the transaction information. We actually pass a document to Vantage, and then we ask Vantage to give us the response and then we loop until it happens until we actually get a formal response. And we put a delay of five seconds here. There’s a number of different ways to do this, but this is just a very basic way to show you that we’re passing a document. And then we’re just pulling for status periodically until we get the status that we expect to receive.

Now, when we pass a document to Vantage, the important part to know is that every transaction gets logged. So we can literally see what’s going on in that transaction. We have all of the logs you can see from top to bottom, where we came from. You know, bottom is the very process starting and then it goes through a number of steps where then the workflow is completed.

Within our skill, the one thing I will tell you is our document processing skill has an output within it. And you can see here, we’re telling the software to don’t provide an output, which by default is an FTP output, but we’re just saying don’t provide one. Instead, we’ll use our Automation Anywhere actions to pull the results. So that’s what we have here. This would be a typical setup of a Process Skill, where we’re going to provide a document and we’re going to classify and extract, and then we’re going to output it, but just know here, if we’re just interacting with the Web Service API, we want to make sure that we have this first option selected here.

And then of course we will pull. And that’s what I was sharing with you here on the Automation Anywhere side. We will pull for that document periodically until we get a proper status. That means we’ve extracted the data. And then from here, we can download the result file, which is the Json file and we can convert that to anything we want. In our demo we’ve converted it to CSV, but you can obviously do all sorts of exciting things with that Json. So this is an overall solution that gives us the best in class of both worlds from RPA to OCR and classification and extraction. I hope you enjoyed this video. If you have any questions on this, please reach out. Thank you so much.

“Automation Anywhere” is a trademark/service mark or registered trademark/service mark of Automation Anywhere, Inc. in the United States and other countries.

ABBYY FlexiCapture 12 Video – Link to Automation Anywhere™

Watch a video to learn how to integrate Automation Anywhere™’s RPA technology with ABBYY’s OCR software, ABBYY FlexiCapture.

Hello. Today I’d like to show you a video of how we integrate Automation Anywhere with ABBYY FlexiCapture. The combination of these two tools gives us a really unique advantage in using a best in class RPA through Automation Anywhere, and a best in class OCR technology through ABBYY. And it’s actually a pretty simple integration, just a few steps to walk through. So what I have in front of us is a bot. It’s just an automation bot. And the purpose of this bot is to call the ABBYY Web Service API. Now the ABBYY Web Service API is very advanced. A lot of cool unique methods in there that we can call and customize our document capture workflow. But you can see here, it’s actually fairly simple, at least in the way that I’m interacting here with this bot.

What we’re going to do is we’re going to open a session. We’re going to open a batch. We’re going to pass it a file. We’re going to close a batch and then we’ll tell the software to process a batch. So it’s actually quite simple. Now before I go into a few of these steps and describe kind of our approach here, let me just run the bot. And the purpose of the bot here is to make sure that we pass a document into this batch. So right now there are zero documents and zero pages. We’re going to pass a document in here and the software will automatically process it. I’ll go back to our bot and I’ll hit run. When I do this, the software will perform those series of API calls. And when it’s done, we will have a batch within FlexiCapture that has pages. I’m going to just go ahead and refresh my screen. You can see now the software is Processing, and now it’s in Verification. Now that I’m in Verification, I have a document that’s been passed in to ABBYY for further OCR processing. So that’s kind of the idea of the bot.

Let’s go into some of the specifics of how we make this happen. First off architecturally, we use the Web Service API, like I already shared. It’s very powerful, gives us just a ton of flexibility in the way that we process documents. But one of the more important ways that we interact with the API is everything uses what we call a “session”. So if I expand our session, you can see here, I have a REST Web Service activity where we’re going to post to a Web Service URL variable. Now it’s pretty simple. I’ll just show you mine. This is on my local system, so you can see the value there, but I’m going to post it. I have a couple of disabled steps here just to see some responses. And then we’re going to go ahead and extract the text. That text will tell us the “SessionId”. That SessionId is fairly critical to downstream processing. So it’s an important value that we want to keep, and we will store that in this SessionId variable. So then as we interact with the API going down, for example, I may want to open a batch. Well, when I open a batch, we have to send the Web Service API here in value step number 10. In this post, we have to send a series of Json. So in order to do that, you can see here what I’ve done is I have stored our Json in a variable called “Open Batch”. So if I look at our Open Batch, you can see here, I have my Json here.

Now, a couple of interesting parts of this Json that you’ll see is there’s a “sessionid” and a “batchid”. Once again, these are other values that have been provided either by other steps or by other variables. And so we need to populate those values in our Automation Anywhere workflow. And the way that we’ve done, at least for this demo today is we just simply use a “String: Replace”. So you can see here, we’re going to go take that Json. We’re going to go look for this kind of flag of the variable, and we’re going to populate it with another variable that was populated from another step. And so that’s how we replace that sessionid and batchid so that when we have our Json, and we post it, then we have the ability to pass in those variables with the proper values.

The only other thing I’ll mention is that every time we made a Json call, we want a Json response and the way that we do that is, we have a dictionary. You can see here, this is my open batch response. And within that response, we have the ability to store that here at the post. Now, anytime I want to reference that response, say, I want to maybe do some debugging, or I want to use a value from that response. You can see here that now we can populate that dictionary with what we call a “Body” element of the Json. And that will give us the ability to see that Json in full from which we can then parse and do all sorts of fun things through the Json. So I’m a big fan of using the variables to your own benefit here using replacements and those sorts of things so that you can call the Web Service API and make life quite a bit easier on you.

The only other thing, I’ll mention here, just so you’re aware, there’s a couple of different ways that you can do it, but one of the ideas of integration with Automation Anywhere, is you’ve got to pass it a file that needs to be a base 64 image. And so what we’ve done in our demo here today is we have a little DLL that we’ve written. It’s like a three-line DLL. That’s very simple, but the purpose of this DLL is to take an image specifically a file. And take that file and create a base 64 string out of it, and then we store that string right here in this variable called “Base64Bytes”. And that’s what we will pass then to ABBYY, to ingest it and perform the extraction downstream. So a couple of hints there. There might be a couple of other ways that you may think how to do that, but this is actually a very simple way. It gives us a little bit of control and we actually wrote this DLL in .NET, but you have other. Python is out of the box with Automation Anywhere and of course you can implement other string extraction there to perform your file conversion over to base 64.

The only other thing I’ll mention here in this workflow. To wrap it up is we process the batch. And you can see here we are going to make sure our Json is pretty by giving it the information we need, so we have a couple of string replaces. We post it and then we do have a message box of the body here. That’s what makes this integration to ABBYY FlexiCapture so powerful is that it’s just Web Service Calls. It’s very clean. We can either use the software purely in the cloud. We can use it in a hybrid model or we can use it purely on premise. So the option here for web service interaction is really, really clean and a lot of different ways we can store the proper Json communications credentials within Automation Anywhere’s package to really make this a seamless interaction.

If you have any questions on this, please reach out. Thank you so much.

“Automation Anywhere” is a trademark/service mark or registered trademark/service mark of Automation Anywhere, Inc. in the United States and other countries.

green leaf in a water glass with a blackboard of text next to it

Challenges Encourage Growth During the Global Pandemic

Over this past year of 2020, workers and companies have been faced with new challenges relating to the pandemic. Illness, anxiety, fear, and unpredictable circumstances are just a few to mention. Many have had to learn how to make different decisions and adjustments to their everyday routines. Workers have had to learn how to be creative and flexible by molding their home and work environments together. Initially this challenge may have seemed overwhelming and at times not conducive for the workforce, but it is during challenging times like these that great advancements and positive change have had space to take root and grow. This is where recent technological advances in software will help.

Read More

board room with automation anywhere logo

UFC is now partnering with Automation Anywhere for RPA!

We are pleased to announce that we are entering into a partnership with Automation Anywhere! Automation Anywhere is a world renown leader in Robotic Process Automation (RPA) known in the industry for helping to automate processes in the workplace for over 16 years. They strive to accomplish the huge task of assisting people to reach … Read More