Blue Prism Integration Overview

1. Introduction

This document is a starting point for people looking to build integrations with the Blue Prism platform.

Integrations with Blue Prism generally fall into two categories.

  • Inbound to Blue Prism
  • Outbound from Blue Prism

Some solutions may include integrations that are both inbound & outbound.

1.1. Inbound Examples

Some examples of inbound integrations include:

  • An Enterprise Case Management (ECM) system invoking a Blue Prism process, that has been exposed as a SOAP web service, to collect data from other systems (ex. legacy mainframe). In this case, the Blue Prism process might integrate with the mainframe via a terminal emulator to pull record information that it then passes back to the ECM system.

  • A Windows Service executing a Blue Prism process via command line to apply patches or updates to system software.

Inbound integrations are generally trigged from by a system or application outside of Blue Prism.

1.2. Outbound Examples

Some examples of outbound integrations include:

  • A Blue Prism process connecting to a backend mainframe, via a terminal emulator, to update records on the mainframe.
  • A Blue Prism Visual Business Object (VBO) connecting to a web service to process an image using facial recognition.

Outboud integrations are generally triggered from within the Blue Prism environment.

2. Inbound Integration

This chapter provides a high-level overview of the various methods available for invoking/executing a Blue Prism Process. Recall that inbound integrations generally involve an application, outside of the Blue Prism platform, calling in to the platform to initiate some action.

2.1. SOAP Web Services

Blue Prism is designed to automate any application that can be accessed from a Windows PC through the Graphical User Interface (GUI), however there are some scenarios where users may wish to automate and integrate via web services.

Web service connectivity is supported by Blue Prism to allow:

  • Third-party applications or developers to utilise and initiate Visual Business Objects and Process within Blue Prism for purposes of:

    • Interacting with legacy systems which are already automated by Blue Prism.
    • Adding work items to the appropriate queues ready for processing based on the pre-determined schedules.
    • Triggering work items to be processed by Blue Prism immediately (subject to resource availability).
    • Retrieving data from systems which Blue Prism automates.
    • Retrieving information from Blue Prism (e.g. details of work queues, schedules, work history etc.).
  • Blue Prism Visual Business Objects and Processes to interact with third-party systems through use of published web services.

Web service integration is a traditional software development technique and its use should be evaluated against the following high-level considerations:

  • Performance impact on underlying systems during periods of high demand.

  • Ensuring that any data validation that is implemented at the presentation layer is manually applied to web service interactions (e.g. verifying that this validation logic is not bypassed through use of web services).

  • The level of IT governance may differ to that required for GUI-based automations. Often web services provide broader capabilities than can be achieved by an end user working through the graphical interface of an application.

Further details regarding how to expose a Blue Prism VBO or process as a web service can be found in the guide available at the following link:

https://portal.blueprism.com/documents/v63-user-guide-web-services

2.2. Command Line Tools

The Command Line interface can be used to start a Blue Prism Process. Windows Command Line (cmd.exe) is used to execute the Blue Prism AutomateC.exe program with additional parameters that specify the process and the Blue Prism resource PC the process should execute on, in addition to other configurations. This approach allows 3rd party Schedulers to start a Blue Prism Process. It also allows a Blue Prism Process to start another Blue Prism Process on a different Resource, branching the flow of execution and executing in parallel.

AutomateC.exe can be launched from either of the following sources:

  • Windows Command Line (cmd.exe)

  • A Batch File (.bat) that contains instructions for the Windows OS

  • A Blue Prism code stage

  • A 3rd party Scheduler on the machine that also has Blue Prism installed

Further details regarding how to invoke a Blue Prism Process via the Command Line can be found in the guide available at the following link:

https://portal.blueprism.com/documents/guide-dynamic-process-execution

Further, the AutomateC.exe supports a Help command line parameter which provides details about all available command line parameters. Simply execute the following command from a command prompt on a machine with Blue Prism installed:

"C:\Program Files\Blue Prism Limited\Blue Prism Automate\AutomateC.exe" /help

Additional help regarding command line parameters can be found under the Help menu option within Blue Prism Studio. Simply search for the topic "Blue Prism Command Line Options".

2.3. Scheduler

The scheduler allows Blue Prism to execute processes at specified times and repeat their execution at various intervals. The scheduler is a background process which waits for the next schedule activation time and then activates any schedules due to run at that time.

A schedule represents the point of execution of a set of tasks. Each schedule is self-contained and consists of various data such as a name, description, timing data, and a set of tasks to perform. A task represents a component of a schedule. It defines a set of sessions which are configured to be performed on specific resource PCs. A task also defines the next task for the schedule to execute on completion or failure of the current task.

The schedules can be configured to run once, or be repeated at minutely, hourly, daily, weekly, monthly or yearly intervals. Calendars can be employed to cause the schedule to run only on working days, skipping specific certain weekdays and/or public holidays.

Image 01

Detailed information about how to work with the Blue Prism Scheduler is available at the following links:

https://portal.blueprism.com/documents/blue-prism-guide-scheduler

https://portal.blueprism.com/documents/blue-prism-dynamic-scheduler-examples

3. Outbound Integration

This chapter provides a high-level overview of the various methods available for the Blue Prism Platform to initiate an action on another system. Recall that outbound integration involves the Blue Prism platform, calling out to the external platform.

3.1. UI Automation

GUI automation is one of the oldest integration mechanisms used in RPA (i.e. screen scarping). UI Automation is an extension of GUI automation. UI Automation is a Microsoft accessibility framework for Windows, available with all Windows operating systems that support Windows Presentation Foundation (WPF).

With Blue Prism v6.2 and above, UI Automation mode is available through Blue Prism's Application Modeler which can be used to automate many Windows and Browser based applications. If you must integrate through GUI automation as opposed to more direct data access such as direct database queries, application APIs, etc., it is recommended that UI Automation be used as the preferred spying method.

Spying is the process of interrogating specific elements within the GUI of an application to determine the values of their various attributes. An example would be interrogating the various text boxes

According to Microsoft, who developed this accessibility framework, "It is an interface originally created for screen reading and speaking applications." Through our software, Blue Prism has built a spying mode to integrate with this functionality in the Windows OS and which many applications offer. Like other modes, UI Automation works well with most modern Windows and Browser applications; however, since it is highly dependent on how the applications that you interact with are built, there is no guarantee that it will work for all applications or all elements within an application.

3.1.1. How to Enable UIA Mode in Application Modeler

To use UIA mode in Application Modeler, press the Identify button as normal to spy a new element, then simply press the "ALT" key when in the Identify (or spy) mode to change the interface being used. Keep pressing the "ALT" key until the spy tool turns purple and this message is shown at the top of the screen:

Image 02

Further details regarding UI Automation can be found in the version/language specific guides available at the following link:

https://portal.blueprism.com/documents/blue-prism-guide-uia

3.2. Visual Business Object (VBO)

Visual Business Objects (VBOs), are one of two foundational elements of the Blue Prism environment – the other being Processes. VBOs, like objects you might create in a programming language such as C#, C++, Java, etc., are encapsulations of functional logic. A VBO can take the form of a set of coded functions which may be written in VB.net or C#.net using Blue Prism code stages, or it could be a workflow of other logical stages from the Object Studio toolbar (ex. Navigate, Read, Write, etc.).

Image 03

Blue Prism is shipped with a number of certified VBOs which provide feature rich extended capabilities to your automations, in addition to the standard Blue Prism drag and drop features. Some of those integrations include wrappers for Excel, Word, and Outlook. Others include support for SQL Server, OLEDB, and Active Directory.

Blue Prism certified VBOs are available to import from the VBO folder within the Blue Prism install path. This is generally one of the following:

  • C:\Program Files (x86)\Blue Prism Limited\Blue Prism Automate\VBO

  • C:\Program Files\Blue Prism Limited\Blue Prism Automate\VBO

Blue Prism VBOs are also available on the Digital Exchange, along with VBOs developed by our partners and customers:

https://digitalexchange.blueprism.com/dx

3.2.1. VBOs and .NET Framework

VBOs and code stages give you the ability to extend the reach of Blue Prism to any number of applications/platforms as the various libraries that make up the Microsoft .NET Framework are accessible and available for use within Blue Prism code stages.

Image 04

Further information about VBOs, object design, and working with the .NET Framework within Blue Prism can be found at the following links:

https://portal.blueprism.com/documents/visual-business-objects-vbo-guide

https://portal.blueprism.com/documents/object-design-guide

https://portal.blueprism.com/documents/object-design-instruction-odi-template

https://portal.blueprism.com/documents/blue-prism-data-sheet-extending-automations-using-net-framework

3.3. WebAPI/Skills

Web API functionality is a new feature as of the release of Blue Prism v6.4. It provides an interface for configuring native interactions with systems and services that provide published HTTP APIs - the most common of these is RESTful Web Services.

The Web API Services feature allows Blue Prism processes to interact with these services to either provide data to, or to consume the data or services provided by these external systems within an automated business process. The features provided natively by the Web API functionality allow the most common services to be automated by Blue Prism and these capabilities can be extended using code stages to cater for bespoke or complex data structures and authentication mechanisms.

The Web API configuration tool has been designed to be as flexible as possible to ensure that complex API calls can be configured. Web API definitions are created in the Blue Prism System tab and each definition can contain multiple actions, each one typically representing an endpoint within an API. The actions define how an HTTP request is made and determines how the HTTP Response is translated into output parameters.

Image 05

Once an API definition has been configured, the associated Actions can be used in Objects to enable Process Developers to use interactions with third-party services as part of an automation.

Further information about how to configure and use Web API definitions is available at the following link:

https://portal.blueprism.com/documents/v64-user-guide-web-apis

3.3.1. Intelligent Automation Skills

Intelligent Automation Skill is a new capability of Blue Prism available as of v6.4. A Blue Prism Intelligent Automation Skill is an item of functionality, such as a pre-configured connection to an external service or capability, that has been branded and packaged for use in a Blue Prism process automation. Skill packages contain a web API definition and credentials that support the use of the API definition. Packages can be imported into Blue Prism and subsequently used as stages in objects and processes, providing a quick and effective way of interacting with different technologies without the overhead of having to create and configure the required Blue Prism items.

The following features facilitate the use of Intelligent Automation Skills in the Blue Prism client:

  • Skill packages, with the .bpskill file type, can be imported into Blue Prism using the File > Import function.

  • The Skills > Management screen lists all imported skills and provides controls to enable, disable, and find references.

  • The Skills toolbar in Object Studio and Process Studio provides access to all enabled skills, utilizing drag-and-drop functionality to add skills to Business Objects and Processes.

  • The Import Skill, Manage Skill, and View Skill permissions can be enabled for user roles.

Skills packages can be downloaded from the Blue Prism Digital Exchanged (DX) and are categorized in the following groups:

Image 06

NOTE: Skill packages can only be created by Blue Prism at this time. Should you wish to package your functionality as an Intelligent Automation Skill you can export the WebAPI definition and credentials as a .bprelease and submit it to the Digital Exchange. Blue Prism will then review the component, package it as a .bpskill, and release it on the Digital Exchange.

Once a skill has been imported into the Blue Prism environment, it is ready for use within Process Studio and Object Studio.

Image 07

Further information about Intelligent Automation Skills can be found here:

https://portal.blueprism.com/documents/v64-data-sheet-intelligent-automation-skills