Skip to main content

192 docs tagged with "Bot Task"

View All Tags

Add Bot Task

Bot Tasks contain work to be done by WorkFusion's bots. In a Business Process (BP), the bots complete those steps that are more suited for automation than human labor. Bot Tasks can exist only as a Business Process step.

Administer Data Stores

The Data Store module is a web interface for managing database (DB) tables in the Work.AI platform. A field scheme defines the Data Store table structure and column data format.

Application

The Application action group provides possibilities to manage and switch active windows which Bot is interacting with (clicking, typing, scrolling, and so on).

Apply actions

Each of our clients uses Work.AI Developer for different goals, but the common thing that unites all of them is writing scripts with the help of Recorder. There are several recommendations that can help you to make your script not only functional but also clear for understanding and flexible to support.

Apply BEP Worker

A Worker is a single instance of a Worker application process started by BEP to process BEP Worker tasks.

Apply Bot Task plugins

By default, you can use bot plugins included in the original WebHarvest framework. To learn more, refer to Standard WebHarvest processors. To create WebHarvest XML configs, you can also use the plugins implemented additionally in the Java language by the WorkFusion team.

Apply element selectors

Selectors (or Locators) are used to find and match the elements of a web page or desktop app that a robot needs to interact with. Using the right selector ensures the bots are faster, more reliable or has lower maintenance over releases. If you’re fortunate enough to be working with unique IDs and Classes, then you’re usually all set. It can be a real challenge to verify that you have the right selectors to accomplish what you want.

Automate drag-and-drop operations

Some web applications have functionality allowing to drag web elements from one location and drop them on a defined area or even another web element.

Automate dynamic web tables

A table is a kind of HTML data displayed with the help of the ` tag in conjunction with the and ` tags. Although there are other tags for creating tables, these are the basics for creating a table in HTML:

Automate Excel

The most popular desktop application to be automated with the help of Recorder is Microsoft Excel. There is a specific actions group in Actions Library to work with Excel files. Here you can find some recommendations on how to work with them in your own scripts.

Automate Outlook operations

As Outlook is one of the most popular email clients used by many companies nowadays, you will find here some recommendations on how to automate it with Recorder.

Automation Engineer certification

The Automation Engineer certification in Automation Academy helps trainees obtain a key professional developer role that ensures the successful delivery of a complex automation project.

AutoML plugins

AutoML plugins provide the capability to interact with AutoML services from Bot Tasks.

Build Business Process from Bot Task

The guide illustrates the implementation of a schemaless Business Process (BP) for website rating from a Bot Task using the Work.AI Developer and Control Tower capabilities.

Build code with RPA

The article explains different solution approaches to building code and focuses on simplified RPA API.

Code samples

We have put together some examples of custom scripts that you can use in your recordings.

Configure bot steps in UI

The custom bot step configuration user interface is used to simplify the specification of configuration parameters for bot steps. The feature enables the creation of complex forms using frameworks like FormIO or React and is supported for Java Native Workers (JNWs), Triggers, Bot Config Bundles (BCBs), and WebHarvest tasks.

Configure custom attributes

Custom attributes are user-defined data fields that extend or customize task and process data. These attributes rely on Field Schemes to determine how data is stored and interpreted.

Configure ETL bot (legacy)

The article describes the legacy bot step configuration flow. For the recommended approach, refer to Configure bot steps in UI.

Configure no-code Generic Connector

Using the no-code Generic Connector, you can apply multiple configuration options to handle different connection scenarios and create custom connectors for the integration of external services into your automations.

Configure no-code rule-based Bot Tasks

When you design a Business Process (BP), you can apply rules that affect what path to follow in the BP depending on various conditions. Thus, you can end your BP early if some issue is detected or the data is not enough.

Configure preferences

There are some global parameters for Recorder to define component settings, their general behavior, and so on. The most widely used setup refers to the Recorder settings. Go to Window > Preferences > WorkFusion Recorder.

Connect to external database

The ODF 2 provides the built-in ORM layer and comes with OrmLite as the default ORM framework used primarily to access Data Store data.

Craigslist bot

The Craigslist Bot searches and returns the top results to a spreadsheet.

Create Bot Task

Before getting into details, let's take a quick look at a simple Bot Task within the ODF 2 framework:

Create project

To start exploring the ODF capabilities for creating automation projects, refer to the guides listed below.

Debug Bot Task

ODF 2 doesn't add anything special to the existing ways of debugging Bot Tasks.

Debug remotely

Remote Java debug for the WorkFusion platform v.10.2+ is available via communication between two instances of Developer of the same version:

Deploy Asset Bundle

After creating an ODF 2 project from the Simple Archetype, deploy it to a Control Tower instance.

Environment health check

The WorkFusion infrastructure requires periodic validation. There are various factors that can make certain WorkFusion components or target applications non-functional or non-automatable.

Excel

The Excel action group is intended for automating Excel spreadsheet manipulations, such as getting or setting cell values, switching between sheets, saving, and so on. These actions are NOT automatically recorded when you work in Excel during a recording process.

Exception Handling

The Exception Handling action is intended to ensure a safe execution of your automated workflow by providing the try-catch functionality. This action is a complex one and consists of two blocks:

Execute Groovy script

The feature allows executing GroovyScript on a Bot machine (Windows RPA Server), not in Control Tower. For more details, see the JavaDoc link.

Execute JavaScript

JavaScript is the preferred language inside the browser to interact with an HTML document object model (DOM). It means that a Browser has a JavaScript implementation in it and understands the JavaScript commands. You can disable it using browser options in your browser. The web driver still uses JavaScript to perform some actions.

Execute tasks with BEP Worker

The Worker scaling strategy is a mechanism for calculating an optimal Worker quantity to satisfy, to the maximum possible extent, the multiple task execution requirements on a cluster with fixed limited resources (non-elastic cluster). The strategy is supposed to adapt when cluster resources are added or removed.

Explore Data Model

In the article, the standardized Data Store schema is understood as equivalent to the ODF 2 example project's Data Store schema. With few exceptions, it utilizes concepts from Transaction and Multi-process layers of the ODF 2 architecture. If you do not use the Multi-process layer, you can ignore some entities, and this won't impact the framework integrity. In extreme scenarios, when even the Transaction layer is not used, the Data Store schema should be designed from scratch.

Explore Recorder features

Recorder is one of the main Work.AI Developer components that provides the ability for a Power User to automate web, desktop, and mainframe applications in a natural macro-like way without any coding or scripting.

Files and Folders

The Files and Folders action group is intended for general manipulations with files and folders, for example, creating a folder under the path specified or a file with a specific content in a defined location, or copy/move a folder or a file to the location specified.

Get started with IDEA IDE

IntelliJ IDEA IDE allows to execute WorkFusion Bot Task unit tests. Execution of unit tests does exactly the same as Bot Task execution. Additionally, the unit test approach allows accumulating unit tests for continuous integration practice.

Handle exceptions

As you probably know, if a Bot Task throws an exception, the platform stops the execution of the entire Business Process (BP). In most real-life scenarios, such behavior is unacceptable. Instead, you would usually react to the exception by retrying the attempt, asking a human operator to intervene, trying to proceed with other records, or using any combination of these strategies.

Handle JavaScript alerts and popup boxes

An alert is a pop-up window that comes up on the screen. There are many user actions that can result in alerts. For example, a user clicks a button that displays a message, and a web page asks for some extra information.

Handle web elements via XPath

The topic is a brief introduction to XPath to present a quick overview of the main techniques you can use in your recordings to handle elements on a web page, for example, to click a link or an object, get or set value from/to fields or menus. The tutorial explains the basics of XPath with suitable examples.

Implement Data Stores with ORMLite

ORMLite is a framework that provides lightweight Object Relational Mapping between Java classes and SQL databases. There are certainly more mature ORMs that provide this functionality, including **Hibernate** and **iBatis**. However, ORMLite is a simple yet powerful wrapper around the JDBC functions.

Import Asset Bundle via Control Tower UI

Previously, it took a long time to transfer a Business Process with all dependencies. It required multiple operations and manual steps, in-depth model knowledge, Nexus, and s3 credentials.

Inspector

Inspector is a tool to explore properties and values of objects in native Windows or multiple frameworks, Java, and SAP applications, which you automate with your recording, providing functionality for quick element selector search.

Keyboard

The Keyboard action group is intended for entering text and typing key combinations using the keyboard. The Enter Keystrokes action is automatically recorded when you type something during the recording process.

Locate UI elements and windows

Web applications do not always confine themselves to working entirely on the web. Sometimes they need to interact with the desktop to do things like downloads and uploads. Automating these sorts of workflow is tricky in using WebDriver. WebDriver is confined to automating browsers, so desktop windows are out of scope.

Manage Answer Types

The Answer Types tab allows creating and managing Answer Types in Control Tower. These Answer Types are used for the following actions:

Manage Data Model with Liquibase

With ODF 2, we encourage you to use Data Stores as a universal and effective way to have different steps of Business Processes within your AI Agent exchange data. The section provides a reference on how to organize your Data Model through AI Agent automation.

Manage isolated third-party dependencies

Work.AI offers the approach allowing smooth and flexible incorporation of user-defined Java libraries into BEP Workers. The approach enables the isolation of BCB classes from the application ones. If BCB classes use a library packaged together with the BCB, the BCB class loader loads the library classes from the BCB even if the Worker app contains the library as well.

Manage templates

Templates allow you to reuse objects. Almost every object in the Work.AI platform, including Manual Tasks and Business Processes, is based on templates.

Migrate from ODF to ODF 2

You don't need to migrate existing BPs from ODF to ODF2 if you haven't faced any ODF limitations impacting BP quality. The Product supports the execution of BPs created on both versions of ODF.

Migrate tasks and Business Processes

You can create a package with a Business Process (BP) or a task and import it from one WorkFusion environment to another, for example, from DEV to UAT or PROD. Let’s assume the source is a DEV environment and the destination is a UAT environment.

Mouse

The Mouse action group is intended to interact with user interface using mouse.

OCR

High-level description

OCR

The article dwells on the obsolete approach of OCR usage in the scope of the ODF 2 framework.

OCR plugins

The ocr plugin works in the synchronous mode, and therefore, becomes a performance bottleneck if used within a BP where the OCR page volume is high, or documents contain more than 20 pages. The recommendation is to use the prepared BP artifacts where the OCR logic is asynchronous.

ODF 2

Major technical concerns of AI Agent delivery

ODF archetypes

Before you continue with ODF archetypes, see Software development life cycle in the Work.AI platform.

Orchestration workflow

The Orchestration section guides you through the steps to deliver and orchestrate automations, including the involvement of a human worker in the loop. The figure below illustrates the actions available for the purpose via the Control Tower (CT) and WorkSpace (WS) user interfaces.

Plugin execution logging

Plugin execution logging helps to record the execution time of specific plugins, thus enabling you to gather Bot Task processing analytics. Currently, the following plugin data is recorded:

Predefined task types

There are some useful prepackaged task types not associated with any APIs. You can use them in the standard cross-process flow.

Prevent ORMLite connection leaks

In ORMLite, the lazy loading of mapped collections is implemented in a non-standard way. Instead of loading the content once during the first access, it loads it every time the collection is accessed.

Review example project

The ODF 2 example project is created to demonstrate key features of the framework. It contains four simple Business Processes that operate on a mock data model. While functional, these processes do not perform anything practically useful.

Robotics plugins

Robotics plugins make it possible to click through desktop or web applications using commands in WebHarvest scripts. The location for executing the script is configured on the RPA Windows server side.

RPA

Advantages of WorkFusion Bot Config Bundle approach

RPA design approaches

The guide covers different solution approaches to building code and focuses on simplified RPA API.

RPA test data management

RPA development (using both code and code-less approaches) assumes mimicking with bot task of SME's interaction with multiple organization systems. During it bot typically drags sort of "transaction" from initial phase down to final phase in terms of use-case scope. Problem is that development requires valid data in initial phase each time developer tries to test his bot task. Now, imagine that 20 developers in team every day launch tests up to 100 times. Obviously, certain amount of valid test data must be re-generated and available every day during design, development, and UAT phases. These requires to establish solid Test Data Management even before any development begins.

Run and debug Bot Task

The tutorial below helps to learn how to debug RPA (actually any Bot Task in your Maven project) in IDEA with the help of Work.AI Developer:

Run integration tests with Spoke

Spoke is a tool for end-to-end Business Process testing. It provides fluent APIs for a developer to achieve typical testing goals. The framework is built on the JUnit 5 + AssertJ ecosystem, but the core module does not depend on it and can be used as a pure Java library.

Run integration tests with Spoke

Spoke is a tool for end-to-end Business Process testing. It provides fluent APIs for a developer to achieve typical testing goals. The framework is built on the JUnit 5 + AssertJ ecosystem, but the core module does not depend on it and can be used as a pure Java library.

Run WebElement commands

The article describes what WebElement is and which actions you can perform on various WebElements.

Secrets Vault

ODF 2 provides SecretsVaultService to isolate operations with Secrets Vault.

Sequences

Sequences are intended for combining several actions into one logical part of the whole automation workflow, such as Login to application, Creating Invoice, Working with Excel file, and so on, and provide the following benefits:

Set Bot Task alerts and forced stop

Occasionally, a Bot Task may get stuck due to a problem in logic, leading to Business Process execution issues. To enable detection of such situations, the following mechanisms were implemented:

Set up environment

To design RPA in Bot Tasks or test a Business Process on your local workstation, we require you to run Windows OS and install the Work.AI Developer environment as it provides RPA local execution, local Control Tower and all required components. However, IDEA works under Mac and Linux. In this case, you can skip installing Developer. But note that you won't have local Control Tower and WorkSpace and won't test RPA Bot Tasks on the local workstation.

Set up local environment

To design RPA in Bot Tasks or test a Business Process on your local workstation, we require you to run Windows OS and install the Work.AI Developer environment as it provides RPA local execution, local Control Tower and all required components. However, Eclipse IDE works under Mac and Linux. In this case, you can skip installing Work.AI Developer. But note that you won't have local Control Tower and WorkSpace and won't test RPA Bot Tasks on the local workstation.

Software development life cycle

Software development life cycle (SDLC) is a process for planning, creating, testing, and deploying an information system. The instruction focuses on a recommended SDLC approach for the Work.AI automation solution implementation.

Split and join Transactions

ODF 2 allows splitting a Transaction into multiple sub-transactions and joining them back. This is usually done to process some data from the original Transaction in parallel.

Standard WebHarvest processors

Below, there is the description of standard WebHarvest processors together with their attributes, syntax, and code samples you can use to design Bot Tasks.

Start Business Process by internal event

If you have several Business Processes (BP) where one BP produces data for another, you can apply the event-based communication mechanism and easily configure data transfer between them. To do it, you can start a sub-process from another BP based on a specific event or initiate transaction processing from another transaction within a different BP.

Taxonomy

The Taxonomy Answer Type can be used for classification of products, businesses, and articles. In WorkFusion, you can use this answer type along with Data Stores.

Text

The Text actions are intended to refine the texts acquired during other actions, for example, from web-elements, remove unnecessary blank spaces, check, if the text matches the defined content, and combine several texts together.

Third-party dependencies

The new class-loading approach enables the isolation between BCB classes and application ones. If BCB classes use a library packaged together with the BCB, the BCB class loader loads the library classes from the BCB even if the Worker app contains the library as well. For ODF, a new Archetype is introduced with the -PF4J postfix in its name. Now, ODF provides two Archetypes: for the old class-loading approach and the new one.

Troubleshoot server ODF

The guide is intended for IT Operations Support Engineers who own the Work.AI platform environment. Those engineers are expected to have access permissions to configure servers for the Open Development Framework (ODF).

Use Apache HttpClient

The instruction contains the best practices of the Apache HttpClient usage in the ODF 2 framework scope.

Use Maven plugins

To facilitate the interaction with a Control Tower instance, a set of Maven plugins support the ODF 2 framework. The page describes working with these plugins.

Use OCR Bridge step

The article is an example of the OCR Bridge step usage in the scope of the ODF 2 framework. The Bot Tasks used in the example are a part of Processing Business Process from the example project.

Use pre-packaged components

The Open Development Framework provides several prepackaged components that are ready for drag-n-drop usage.

Variables

Using Variables from Actions Library, you can assign the following values to recorder variables:

View quickstart tutorial samples

The purpose of quickstart tutorial samples is to explain how the Control Tower business process data flow is connected to the ODF architecture.

View Work.AI Developer capabilities

Work.AI Developer (previously Intelligent Automation Cloud Developer or IA Cloud Developer) is a part of the Work.AI platform and provides a unique automation environment to evaluate, learn, design, create, and support automation projects.

Wait

Wait actions are intended for pausing bot execution for a defined period of time and for searching images on user screen. These actions are not recorded automatically. You need to drag them from Actions Library to Actions Flow while editing a recording.

Waiting for Transactions

A commonly encountered task in ODF 2 is waiting for the completion of all transactions in a given Business Process. There is no out-of-the-box solution that fits all use cases. For example, a Monitor Task often serves as the source of transactions, making it impossible to know when new ones appear. However, once all requirements are known, such a feature is quite easy to implement.

Web

The Web action group is intended for automating browser actions, such as open website in browser, get value, and set value of a web element (text input, dropdown, and so on). These actions are NOT automatically recorded when you work in a browser during the recording process.

Work with fleets

The fleet mechanism is designed to send tasks for processing by a dedicated Worker pool, or fleet.

Work with Transactions

To illustrate how user Transactions are created and processed, let's simulate a simple scenario for a Business Process (BP) consisting of two Bot Tasks:

Write Bot Task JUnit tests

Bot Task JUnit is a JUnit 5 API for running and testing Bot Tasks. You can use it for running Tasks locally from an IDE of choice during development and/or for executing tests in a CI/CD pipeline.

Write Bot Task JUnit tests

Bot Task JUnit is a JUnit 5 API for running and testing Bot Tasks. You can use it for running Tasks locally from an IDE of choice during development and/or for executing tests in a CI/CD pipeline.