Robotic process automation is transforming the enterprises worldwide and there is a lot of excitements about the RPA can be used to automate the more and more complex process by leveraging AI technologies.
Automation Anywhere defines cognitive automation as “Cognitive automation is a subset of artificial intelligence—using specific AI techniques that mimic that way the human brain works—to assist humans in making decisions, completing tasks, or meeting goals”
Well just to be clear … Cognitive automation is not machine learning. It leverages different algorithms and technology approaches such as natural language processing, text analytics and data mining, semantic technology and machine learning to provide useful information for process to perform the task more intelligently.
Blue Prism Intelligent Automation Using Cognitive Web API and Skills?
In the last few months, we have also seen the focus on DX as a lot of skills, VBO and other assets are getting uploaded every week.
There are also a couple of other natural language processing, text analytics skills powered by IBM and Microsoft are available as skills on a digital exchange.
Not only this Blue Prism plans is to deliver Intelligent Automation Solution and cognitive services on Microsoft Azure by leveraging the power Azure AI capabilities. This collaboration will further increase the capability of BP by using the Azure Cognitive Services and Machine learning as well to build intelligent applications.
With the help of these cognitive services API your process can see, understand, hear & speak and interpret. You will be able to make your process more intelligent by applying theses skills for Sentiment Analysis, Entity Analysis, Natural Language Processing (NLP)/Text Analytics, Language Translation, and Computer Vision/Visual Recognition – as well as Azure Machine Learning capabilities.
After the announcement of a free, fully functional enterprise trial of Blue Prism on the Microsoft Azure Marketplace It’s also possible to leverage technologies like Microsoft Flow, Logic Apps, Power Apps and Power BI with Blue Prism.
We need to wait and watch how soon this fully functional collaboration will be available on Azure.
Coming back to recent changes we see in Blue Prism tool …few weeks back I have attended Blue Prism Pulse Online on ‘Tips & Tricks: Introduction to Web APIs’ by Michel Lowe (Senior Consultant, Blue Prism) and Bimal Sebastian (Solution Architecture, Blue Prism) in a live webinar hosted on Biz-talk …
The key takeaway from this webinar was about the Blue Prism perspective on Web API & Blue Prism Skills to leverage cognitive technologies.
- BP Skills are nothing but packaged WEB API that allows quick consumption of Web services exposed by many other industry leaders and partners.
- These skills can be submitted to Blue Prism Digital Exchange from where you can download and distribute your Web API.
On the other side; Increasing no of assets/skills on DX gives clear indication towards how capabilities of AWS, Google, Microsoft can be utilized using skills or WEB API.
To use most of these skills, Web API require –
- Valid service account with a subscription plan
- Authorization Mechanism (Google OAuth2 JWT Credential, Client API and Access Key, Obtain service subscription keys for the API)
- Details of method request URL along with input /output prams
These API’s & Skills brings the latest achievements in Machine Learning, Artificial Intelligence, Deep Learning, Computer Vision, Natural Language Processing, Text Analytics, to your Blue Prism process via simple drag and drop interface.
In the same webinar, there was also a live demo around a simple wizard to consume and configure the web services in case you don’t wish to consume the DX Skills and configure yourself …
You can download the required skills from DX and try them into your development environment …
For the sake of simplicity and my learning, I have tried creating web API configuration using RapidAPI’s API Marketplace ( 1000s of Public Rest APIs – free of charge). All you need is one key to connect 100 thousand’s public Rest APIs.
In case you are looking for the consumption of Google or other skills you can jump to section 4 of this article about using BP Skills into your process.
So let’s get started!
Agenda – by end of this article you will get working knowledge on –
- How to configure web API in Blue Prism?
- Key things you need to know and keep in mind
- How to use configured API into your Blue Prism process/objects
- How to use Blue Prism Intelligent Automation Skills into your process
In case you want to refresh your understanding REST API – Check out A Beginner’s Tutorial for Understanding RESTful API
Web API offers flexibility to call a variety of 3rd party services, including cognitive AI capabilities from Microsoft, Google and Amazon.
The Blue Prism Web API configuration tool has been designed in such a way that it provides flexibility to configure your API inflexible way providing full control on how you want to use that.
In general – it has provided flexibility to configure headers, post-data (payload information), authentication and allow parameters to be defined that can be used to pass data into a request.
How to configure web API in Blue Prism?
In this example, I will showcase –Use of Currency Exchange API (Vendor API) Configuration into Blue Prism Web API section …
By using this API, you can get Live currency and foreign exchange rates by specifying the source and destination quotes and optionally amount to calculate. Support a vast amount of quotes around the world.
Let’s create a Currency Exchange Web API definition…
Web API definitions are configured in the System Settings of the Blue Prism Interactive Client for product version 6.4 Above in case you don’t see this option you need to check out your administrator about BP upgrade plan.
Here is how you can navigate to the Web API configuration page.
- Go to Blue Prism System tab.
- Select Web API Services from the navigation tree.
- Click Add Service from the options menu.
The New Web API Service dialogue displays.
Heads up! for example, we have used simple API which contains only 1 GET method to get Live currency and foreign exchange rates by specifying the source and destination quotes and optionally amount to calculate.
So configuring this API, we have used few basic settings, a common header that needs to be passed with each API call, parameters like source and target currency along with the amount which needs to be converted and finally build the request URL which will return the response
Step 1- Basic Configuration
- Provide a unique name to base URL so that you can identify the same in Blue Prism Object Studio
- Provide the base URL which will be common for all the methods of API
Step 2- Common Headers
Configuration for common headers is configured at API definition level which can be used across all the methods of API. In case you need to specify the headers required or specific to particular method don’t add that in common header section instead, you can define them in the Actions section.
Step 3 – Define action & configure parameters
Once you are done with common settings, you can configure the required action. In this web API, we have to the GET method to get the exchange rate between currency pair.
So we have defined 3 parameters specific to this action –
- from – source currency
- to – target currency
- q – amount needs to be converted (optional)
Make sure to tick expose checkbox so that they are available via Object Studio.
Now, you need to configure the request URL …
this usually requires concatenation of parameters defined in previous steps or any other with the URL path so that valid request can be sent from BP.
You should double-check the URL path as most of the time you API will not run due to bad formation of request.
How to use configured API into your Blue Prism process/objects
Once you are done with the above steps you should be able to see that listed in WEB API Configuration Page. You can check that by navigating the System Tab –
So far so good … and we are done with service configuration part … now let’s move to the next step to consume this web API into object or process This is very similar in the way we use VBO objects or other objects. Your exposed Web API will be listed as business objects and same can be included into object/process using action.
Let’s create a quick object with one action page to consume web API Business Object (Currency Exchange API) and Action (Get exchange).
You can see that the output has a couple of other Data Items such as HTTP Status Code, Response Header, Request Data and intended output (Response Content). Building exception handling and other decision based on these data items are fairly quick and easy, you can easily create more complex business objects based on your requirement & use case.
The key points you need to know and keep in mind
Web API definitions contain all the data required to instruct Blue Prism how to make HTTP requests to a Web API. The data in the API definition determines how each request is constructed, specifying the required URL, HTTP method, headers, and authentication, required to make a request. API definitions also allow parameters to be defined that can be used to pass data into a request.
Each API definition is made up of the following elements:
- Basic Settings – The name, base URL, and timeout settings used for all API requests configured in the API definition.
- Actions – The capabilities provided by the Web API that will be made available to Blue Prism. The actions detail the request body and response handling for each API request in the definition.
- HTTP Headers – The headers that will be used in the requests for this API definition. Common headers are used in all requests, and action-specific headers are used, in addition to any common headers, for the actions in which they are defined.
- Parameters – Dynamically expanding references that are used to pass data into base URLs, URL paths, headers, and request bodies. Parameters can also be used in the Subject field for OAuth 2.0 (JWT Bearer Token) configurations. Common parameters can be used in any action, action-specific parameters can only be used in the action in which they are defined.
- Common authentication – How each request to an API is authenticated.
- Common code – Code used to create complex API requests and responses.
How to use Blue Prism Intelligent Automation Skills into your process
Blue Prism provides six types of built-in digital skills so you can create innovative and powerful automation by using theses. These are easily downloaded from the Digital Exchange and are accessible from the Object and Process Studio in the Skills toolbar, arranged into their respective skill categories, for easy drag and drop.
Once a Skill is visible in the Skills toolbar it becomes a reusable object that can be part of any future process.
Just to remind they are Web API business objects so even if Skills tool-box is not visible to you you can use an action to select the same.
The working of skills are similar to what we have for Web API, You can use your exception handling or other complex business decision inside the process as per your need.
You can read more about these skills at – https://www.blueprism.com/uploads/resources/BluePrism_6.4_Data_Sheet.pdf
Blue Prism Skills are nothing but packaged WEB API that allows quick consumption of Web services exposed by many other industry leaders and partners.
In case skills provided by blue prism does not suit your requirement or commercials you can configure the WEB API as per your need to leverage cognitive services provided by other vendors. This opens a lot of opportunities for Intelligent automation!
Disclaimer – All information and content contained in this article are provided solely for general information and reference purposes.