Bot Games 2021 introduced Bot Wars challenge pages - a series of challenges designed to be solved using Automation 360. As each new challenge was released, the difficulty level increased as well. The fourth and final challenge was introduced this week in the theme of 'Accounts Payable' - a challenge where developers are provided a zip file of invoices and asked to extract invoice data to be entered into the challenge page web application. Once all 7 invoices are successfully submitted, the challenge is complete!
Take a look at the video above for the full challenge walk-through. We'll outline a couple of pointers below as well as some additional times for maximizing your speed if you want to see how fast you can complete the challenge.
IQ Bot Package
Technically there are a few different IQ Bot Packages that you may find in your Control Room. This partly depends on if you're using Automation Anywhere Community Edition, Automation Anywhere 360 (Enterprise Edition), or working in an environment that has Bot Store packages that may have been already installed. For the purposes of this exercise, there are really two ways (and two packages that could be used) to accomplish the invoice extraction needed:
- IQ Bot Package - which does server-side processing of the invoices based on the selected learning instance. Invoice results would then need to be downloaded from the IQ Bot server once they have been successfully processed using the IQ Bot: Download all documents action.
- IQ Bot [Local Device] - which does local processing of the invoices based on the selected learning instance. With this approach, the IQ Bot [Local Device]: Process documents action is used - which will scan a directory for supported file formats, and output the extraction results to a selected output folder path.
Based on the IQ Bot processing approach selected, the challenge solution bot may change slightly to accommodate for files that may be named differently (IQ Bot Server Side Processing) or ensuring that all files have been processed before downloading them from the IQ Bot server (IQ Bot Server Side Processing). While we try to stay mostly objective in presenting alternatives to developers, the IQ Bot [Local Device] processing is likely the easiest way to go here.
All of our solution tutorials emphasize steps...so no big surprise to see that we're encouraging the use of steps once again. Steps make it easy to translate a Visio diagram or flow chart of logic into the skeleton/frame of what will become a fully developed bot. Beyond that, they're a great way to compartmentalize your logic and almost a "forced" method of commenting as each step should be given a name or short description.
Once all invoice details have been filled in, developers are asked to upload the corresponding image file as a part of the invoice submission process. There are several approaches for handling this file upload.
- Simulate Keystrokes: This is probably the fastest approach as you can set the ms between keys to be quite low - making the bot type quite quickly into the path to file field of the open file dialogue before submitting the file with a simulated [ENTER] keypress.
- Recorder: Similar to the Simulate Keystroke approach, recorder can be used to focus on the path to file field of the open file dialogue before submitting the file by either clicking the Open button or simulating the [ENTER] keystroke. Unlike the Simulate Keystroke command, however, you'll have no control over the time between keypresses when using the Recorder package.
Many times, the best way to learn new things is through having a specific problem to solve and access to the necessary tools. In this challenge, RPA developers are encouraged to explore how to use IQ Bot to accurately and reliably extract data from invoices. While you may not be doing invoice/form processing right now in your current organization, it's a helpful skill set to have and understand as use-cases may pop up from time to time where data extraction may be required. Hopefully, this challenge compelled you to learn some new skills, try some new approaches, and explore some new techniques you can apply to new and existing bot builds. If you haven't tried out the other Bot Games challenges, consider giving them a try as well!