Nintex Foxtrot RPA

On March 4, Nintex announced that it has finalized acquisition of the EnableSoft company. The company behind the Foxtrot suite. Starting then RPA (Roboting Process Automation) software became part of Nintex products, somehow completing the gap between business processes in the cloud and those being done on users’ computers “locally”.

What is RPA?

Basically RPA (what stands for Robotic Process Automation) is software technology that allows for the automation of various computer tasks or computer-based business processes. RPA is a broad term for process automation or workflow automation technology, used to streamline both complex and simple processes that are typically done by a human on a computer. Automation is achieved by deploying software “bots” that have been trained on the exact mouse-motions, keystrokes, and rule-based logic underlying a given task. Simply, this software helps companies to automize those repeatable tasks that looks the same every time – like putting data from SAP to Excel, copying data from emails to SAP (like when email initializes a process), moving files across file storages and so on. Those tasks usually do not require any sophisticated knowledge and can be done not exclusively by a skilled workforce, but by anyone. RPA does those repeatable job for us, letting us to focus on more unique tasks.

What is Foxtrot?

EnableSoft created a product that can really do a lot. It has hundreds of built-in actions:

Hundreds of actions in Foxtrot
Hundreds of actions in Foxtrot

It is designed to deeply work with such applications as: Internet Explorer, SAP, Acrobat, Outlook, Office (Word, Excel). It also allows to manage computer, use DOS/ PowerShell scripts, connect to FTP, call REST endpoint and then if something is not defined as an action, user can use the bullseye to target application and then select how Foxtrot should interact with it, e.g. there is no built-in command to print a document, however creating a sequence simulating that user is clicking on the print icon and then hits the “Print” button is a solution as well:

Nintex Foxtrot RPA bullseye functionality
Nintex Foxtrot RPA bullseye functionality

Foxtrot is a suite that contains 4 applications. Foxtrot, FoxBot, FoxHub and Foxtrot Administration.

Foxtrot

This is a process designer. It is designed to allow authors to create processes, define steps and actions, built the logic. Foxtrot also allows to execute those processes to test if they are working properly. It’s interface is built from the following sections:

Intex Foxtrot RPA interface
Nintex Foxtrot RPA interface
  1. Bullseye – the app targeting functionality,
  2. List of available actions,
  3. Library – it is used to lookup all possible actions and functionalities,
  4. List of tasks – step by step what the process must execute,
  5. List of credentials, connections, lists, variables and tasks used by the process,
  6. Icon to create new connection, list, variable,
  7. Menu to switch the display between items defined in the process,
  8. Execute bar – functionality allowing to trigger the process and to test it.

FoxBot

Once the process is saved it can be then distributed to multiple machines. Each machine – the “bot” should have this application installed. Then the process can be opened and executed. FoxBot cannot make any changes to the process. It is just a user, that runs the defined flow.

Nintex Foxtrot RPA FoxBot interface
Nintex Foxtrot RPA FoxBot interface

FoxBot’s interface looks nearly the same as Foxtrot’s – it is a simplified version, with no left columns containing actions, library and bullseye. Just the execution.

FoxHub

FoxHub is the central place to orchestrate the defined automation jobs. It allows to see all of bots and delivers information about their status and what they are doing at all times. It allows to manage individual bots by adding it a job, or by adding a team job for multiple bots to complete. FoxHub runs jobs in an orderly fashion through a job queue.

Nintex Foxtrot RPA FoxHub interface
Nintex Foxtrot RPA FoxHub interface

The work is sent out to the FoxBots which reside on their own virtual or physical machine. When creating a new job user must pick which bots will participate in it. Jobs involving data can be assigned to a single bot, or can be set up as a team job allowing multiple bots to join in. If this is a team job, FoxHub is in charge of managing the data and distribution of tasks to the next available bot. Once the project is complete, FoxHub starts assigning work for the next job in the queue.

Foxtrot Administration

This is the application designed for managing licenses, user accounts and other global settings for all Foxtrot suite applications.

Nintex Foxtrot RPA Foxtrot Administration interface
Nintex Foxtrot RPA Foxtrot Administration interface

Licensing model

The model for Foxtrot processes (or workflows) is aligned to Nintex Workflow. However licensing for Workflows does not include licensing for Botflows. Therefore if you would like to have a solution using both Nintex Workflows and Botflows you need to buy subscriptions for two products separately. The volume-based pricing and enterprise-wide pricing today are the same for whenever you want to buy either of the product. So for the volume-based you can choose between the following amounts:

  • 10
  • 25
  • 50
  • 100
  • 250
  • 500
  • And additionally buy blocks of 5 flows

For the enterprise-wide (related to the number of employees company employees) it looks as below:

  • 200
  • 1000
  • 5000
  • 25000
  • 100000

This is always a yearly commitment. All fees are paid per annum. If you would like to find out more about prices, don’t hesitate and contact me directly.

More to read

Working example

The solution I created was is a proof of concept for a more efficient handling of a conference registration and check-in process. It was inspired by a recent conference I had co-organizing. Process is divided into two parts. First, the bulk registration of attendees from a specific company, and then the process of check-in at the venue.

The first process goes this way:

  1. Company send an e-mail with an Excel file containing a list of attendees to register and their pictures, zipped.
  2. Someone must then unpack the zip file, crop images, adjust their heights and widths so that they match the available area on a badge.
  3. Then for each attendee a QR code must be generated and send, that then will be used as a ticket.
  4. Next each attendee must be registered in the database and its badge must be generated (as a file). Also an e-mail with registration confirmation must be sent.

This process is totally covered by the Foxtrot and other apps installed on the machine. This is how it is done in Foxtrot:

  1. E-mail arrives, having specific keywords in title.
  2. Process in Foxtrot starts.
  3. It unzipps the file with pictures.
  4. Opens XnView app, navigates to a folder with unzipped images, resizes them and crops them. The prepared images are then saved to a location, that is being synced with SharePoint library, via the OneDrive for Business.
  5. Next it opens Excel file.
  6. For each row (each attendee) it saves data to a SharePoint list by calling Nintex Component Workflow (the one that can be triggered by HTTP Request) and passing it data of the current attendee. Next it generates QR code with attendee data using an online service.
  7. The Component Workflow (it can be Microsoft Flow as well!) also generates a badge and saves it to PDF using the Document Generation functionality.
  8. Lastly Foxtrot creates an email message, attaches the QR code and sends confirmation to the attendee.

This is how it works live:

Nintex Foxtrot RPA demo – parsing attendees process

The second process is “installed” at the venue location. Imagine there is a kiosk device, with a QR code scanner and a printer. Attendee reaches out a kiosk, shows the QR code received after registration, and:

  1. FoxBot unpauses – new code is scanned
  2. It reads data from scanner, gets user e-mail and looks up database in SharePoint to find the user’s badge.
  3. Once it finds the badge, it downloads it and opens in Acrobat.
  4. In the end it clicks to print the badge.
  5. After the badge is printed it also calls Component Workflow, that is updating user record, checks him in and sends him a welcome message containing e.g. conference agenda, links to presentations and so on.

This is how the second part works live:

Nintex Foxtrot RPA demo – checking in attendee at venue

Coll huh? 😊

What I learnt

When I first read about Foxtrot I was thinking how Nintex is going to combine it with its existing apps, but it turned out that this integration somehow already exists – via Component Workflows on the one side and HTTP calls on the Foxtrot side. This way Foxtrot can also be integrated with Microsoft Flow or other cloud-based solutions.

Another thing I liked is the adoption. The tool is intuitive, moreover for someone who works with Flow/ Nintex or other process designer tools this is a very short learning path. Couple of hours to get familiar with even advanced techniques.

However I also found that it has its issues. One of the most irritating is that the bullseye functionality gets totally lost on devices such as Surface Book, having ultraHD resolution and scale set to different value than 100%. To create a properly working solution I had to change layout to fullHD and scale to 100%.

Another thing is the web browsers support. Currently it works only with Internet Explorer, support for Chrome engine is on its way. It is said to be available this year.

Also it has issues with MFA authentication when creating connections to Office 365 based apps. In my case even using app passwords didn’t work for Exchange. Maybe I did something wrong 😊

I haven’t also found any way to automatically trigger a Bot if a specific condition is met. But here also – maybe I wasn’t searching deep enough.

Nevertheless this tool has really great possibilities. It really fills the gap in integration between systems that e.g. don’t have API available, or it’s configuration is very much time consuming. Then this is possible to simply set up a bot working on virtual machine, that can be called to get and return data from a specific 3rd party app.

Foxtrot can also be used for testing purposes – you can create user tests, to follow defined scenarios for clicking app interface and checking outcomes.

If you would like to learn more about the Foxtrot contact me. I can help you with the app adoption and implementation in your business.