Invoke a Robotic Workflow for Asynchronous Robotic Automation

An attended automation solution running on an agent's machine can invoke a workflow stored on the Real-Time Server. The Real-Time Server will then assign that workflow to a robot to run. In this way, an attended automation solution can outsource tasks to robots.

The graphic below illustrates the concept.

(A robotic workflow stored on a Real-Time Server can also be invoked by an API. Contact your NICE representative for more information.)

Advantages of Using Robotic Workflows

The advantages of delegating workflows for robotic automation include:

  • Improved resource utilization: Instead of executing all workflows on the agent's machine, robotic workflows can be executed using other resources.

  • Use of centralized software: If a particular process involves operations on a software package that cannot be installed on every agent's machine, that software can be installed on a robot and the workflow that uses that software can be delegated to that robot.

  • Reuse of common workflows: Using robotic workflows saves development and maintenance time and complexity. A commonly used workflow can be written once and can then be invoked by multiple projects.

Data Transfer Between Invoking and Robotic Workflows

Robotic workflows can receive any number of input parameters from the invoking project.

The input parameters to a robotic workflow must be of simple types only. Transferring data held in complex variables can be achieved through conversion to JSON arrays. A detailed example is provided here.

The maximum length of any input parameter value that can be transferred between the invoking project and the robotic workflow is 100 characters.

Robotic workflows cannot transfer data back to the invoking project.

Example Application

The example consists of two workflows, each created in a separate project:

  • The invoking workflow

  • The robotic workflow

The Invoking Workflow

The Arrange_Delivery workflow below is used to arrange the delivery of a product to a customer.

This workflow is run on the agent's machine as part of an attended automation.

Steps 1 and 2, which gather customer information and then schedule product delivery, are performed on the agent's machine.

The process of sending a confirmation SMS to the customer (step 3) is complex and must be sent from a machine on which special software has been loaded. That process should be defined as a separate workflow that can be delegated to a robot to run whenever needed. The invoking project sends the required information (message text and phone number) to the robotic workflow when invoking it.

In other words, the Arrange_Delivery workflow must invoke a robotic workflow.

The Robotic Workflow

The workflow below sends the SMS by interacting with software loaded on the robot.

Note that this is an appropriate application of robotic workflows because the solution does not require that the robotic workflow return a value.

Setting Up a Solution With Robotic Workflow

Creating an automation solution that uses a robotic workflow involves two major steps:

The following two topics provide details on each.

Additional Resources

An end-to-end demonstration of how to implement robotic workflows in a solution is available here.