Skip to main content

Uniphore Customer Portal

Using the RPA Listener

Uniphore's JBot features a powerful real-time listening mechanism that automatically captures changes to Covered Application elements and updates the RPA platform with these changes during runtime.

RPA uses this data to keep all relevant Session Variables up to date with the current values and attributes of running application elements, making robotic process automation possible.

Live listening can greatly reduce the complexity of designing, testing and maintaining RPA Sequences, because it reduces (or even eliminates) the need for a Flow Designer to build Sequences that contain explicit 'get' requests to Covered Application elements. During runtime, the Listener monitors all relevant elements and automatically performs real-time updates, pre-empting the need for explicit element calls.

Note

The Listening mechanism is only available when using the RPA Attended mode.

Listening Levels

RPA Listening can be set to perform at one of the following levels:

  • RPA Variables and Triggers - JBot listens for all changed values and attributes.

  • RPA Triggers Only - JBot listens only for those values which are used by RPA Triggers.

It's best practice to decide which Listening level will be used before a Flow Designer begins to create RPA Sequences. The desired level is assigned on the RPA Application Settings page.

Because Listening for both RPA Variables and Triggers can significantly increase JBot processing requirements, we recommend that you consult with your Uniphore Support representative before choosing this level.

Listening Scope

RPA Listening always occurs for one of the following Session scopes:

  • Agent - JBot listens only to RPA Variables that are assigned to an Agent Session.

  • Customer - JBot listens only to RPA Variables that are assigned to a Customer Session.

The scope for Listening is set automatically at the start of a Session. So, when a new Agent Session starts, the Listener will begin to listen for the values from RPA Variables which are set for the Agent scope. When a Customer Session starts, the Listener will begin to listen for values from RPA Variables which are set for the Customer scope.

During runtime, the RPA Listener collects data from the screen and funnels it to the most recently created active Customer Session. Using the Listener with multiple Customer Sessions is currently not supported.

The Listening Process Flow

RPA Listening uses the following standard process flow:

  1. Agent Login: The Listener starts listening for RPA Variable values and attributes set for Agent scope only.

  2. First Customer Session: The Listener starts listening for RPA Variable values and attributes set for Customer scope.

  3. The Listener sends the initial values for each relevant UI element to RPA the first time it is displayed during runtime (i.e., no values have been updated yet.)

  4. The Listener continuously sends updates to RPA whenever the value or attribute of the UI element changes. The appropriate changes are then made to each affected RPA Valriable.

  5. For each Customer Session, listening continues until:

    • the current Customer Session times out and becomes inactive; or

    • a new Customer Session begins (the Listener will stop listening to the previous Customer Session and start listening to the new Customer Session); or

    • the Agent logs out of the current Agent Session.

  6. For each Agent Session, listening continues until the Agent logs out of the current Agent Session.

Best Practices

Please be aware of the following practices to help improve your use of the RPA Listener.

Default Initial Values

In the X-Console and RPA, unassigned Boolean-type variables are always initialized with a default value of False. Default values for the built-in RPA Attributes IsExist and IsActive are also initially assigned as False until the attributes are updated at runtime.

Handling Initial Flow Latency

If you need to display or process values at the very start of a Session, be aware that there may be a short lag time as a Flow collects initial data and populates variables. To remedy this, simply add a Wait Point element at the start of a Flow to compensate for any latency. The amount of time to wait depends on each use case, but typically 1 second should be enough time.