The capabilities described on this page are included in Appian's standard capability tier. Usage limits may apply. |
As one of its key objectives, Appian RPA replaces manual tasks with programmed robotic tasks. Robotic tasks interact with applications the same way that humans do, allowing them to perform repetitive tasks based on rules. This approach frees up human effort for tasks that require problem solving or personal interpretation. Robotic tasks provide another way to automate work using Appian. Orchestrate your automations directly in your application using integrations and process models. Bring your people, technology, and data together in a single workflow to build complete automations using low-code.
Unlike traditional automation, RPA is non-intrusive in nature. Robotic tasks don't necessarily require access to databases, nor do they need to communicate with computer systems by invoking functions, web services, or APIs. Instead, robotic tasks interact directly with the user interface. They mimic human interactions, moving the mouse, clicking on menu options, and entering or reading data from the screens.
Robotic tasks are added and configured by a developer, who can customize them using low-code development features such as drag-and-drop actions. For even faster development, developers can use the Appian RPA task recorder. This tool captures your interactions with a web browser and automatically creates a matching, fully configured robotic task.
Robotic tasks are managed in the Appian Designer, where administrators can execute, monitor, and schedule new robotic tasks. Administrators must also set up the environments where the robotic tasks run. These environments, known as host machines, can be physical or virtual machines (VMs). For production environments, we recommend using a dedicated machine, either physical or virtual, as the host machine.
Now that you're familiar with robotic tasks, you can start using them in your applications. In practice, robotic tasks and process models work together to automate tasks and events in Appian. A process model can trigger a robotic task, retrieve the results, and capture data as variable values to use later. Similarly, a robotic task can be configured to start an Appian process.
These pages can be helpful for starting RPA within a process model:
Robotic tasks are intended to supplement human activity in an application. Robotic tasks don't possess the judgment that human beings have; so, there is some potential for the robotic task to encounter exceptions, or patterns the process doesn't know how to handle. Additionally, the robotic task may take a long time to execute due to application processing time. After all, the applications are designed to handle input from human beings, which is much slower than that of a robotic task.
Because of this behavior, any robotic task must be:
As with any business technology, you'll want to consider data security in every part of your robotic task. Visit the Securing Data in Robotic Tasks page to learn more about data security in every phase of a robotic task.
This flowchart outlines the workflow within Appian RPA, where you create a robotic task, and through Appian RPA's capabilities, the robotic task is managed by Appian and performed by a robot.
Robotic tasks follow a definition, or a sequence of tasks. The robotic task definition is the guide that leads the robotic task's operation, determining its starting point and driving it through a series of tasks and actions.
A robotic task definition can be compared to a sequence of tasks performed by a human. Visually, the robotic task definition makes it easy to monitor a robotic task's operation. It enables a global view of all execution phases and allows you to analyze what action the robot is on, when it began, its duration, and its result.
For example, let's suppose one person should perform a task that involves gathering names and contact information from people who have sent their résumés through the company's website. This data then needs to be documented and saved in Notepad, using one line for each name.
Assuming that the data source will always contain at least one résumé, the definition could look like:
The robotic task definition mimics how a human would go through the process: The person would open Notepad first, then read a résumé, then write the candidate's name and contact information in Notepad. If there are more résumés, the cycle would go back and the person would read the next résumé. If there are no résumés left, the Notepad document would be be saved and closed, reaching the end of the whole process.
Defining the robotic task definition is the first and one of the most important steps for building robotic tasks. A good design will make the robot easier to develop.
Tip: Looking to speed up your low-code robotic task development? Use the task recorder to capture your interactions in a web browser and automatically create actions in the robotic task definition.
The robotic task definition allows you to quickly configure conditional flows. Conditional flows are decision points for a robotic task's execution, where the path of the flow adjusts based on specified conditions. The results of conditional actions determine the path the robotic task will follow. Use conditional actions to make your robotic tasks more dynamic. For example, if a web element is present, copy the value; otherwise, add an error message to the log.
Conditional actions only return true
or false
and include:
When you place conditional actions in the robotic task definition, they automatically generate Yes
or No
flows to configure. Actions that return true
map to Yes
flows; actions that return false
map to No
flows. Add actions to the resulting flows just as you would for the main robotic task definition.
Loops repeat actions until a condition is satisfied. Use the Loop action to process items in a list such as files in a directory or line items on an invoice. RPA supports the following loop types:
false
.Tip: Loops can't repeat more than 1000 times.
In the following example, the loop will execute the Create a folder and Copy a file or folder actions until the Loop Expression returns false
.
To add and configure a Loop action:
Action expressions in loops can reference function variables. Supported function variables in loops include:
Function Variable | Description | While | Repeat | For Each |
---|---|---|---|---|
fv!index |
The current iteration of the loop, starting at 1. | Yes | Yes | Yes |
fv!isFirst |
true for the first iteration of a loop, otherwise false . |
No | Yes | Yes |
fv!isLast |
true for the last iteration of a loop, otherwise false . |
No | Yes | Yes |
fv!itemCount |
The total number of loop iterations. | No | Yes | Yes |
fv!item |
The current item. | No | No | Yes |
A workflow library is a small piece of custom code that provides generic functionality. Libraries are useful because they provide actions that can be reused in a robotic task's workflow or source code to perform certain operations. For example, a library could establish a VPN or proxy connection. Learn more about how libraries are used in robotic tasks.
You can create and manage robotic tasks directly in Appian Designer using the same methods as other Appian objects. In the Objects view of the designer, it's easy to locate robotic tasks since they display alongside all of the other design objects. You can filter and search for robotic tasks using various details like their unique identifier, description, or name. You can remove robotic tasks - even in bulk - right from the Objects view.
The following image highlights the interface elements that you use to set up a robotic task definition:
Similar to the Interface Designer, the Palette shows you the actions that are available to add to the robotic task. Use the search bar to quickly find an action by name, or browse the list of actions within each low-code module.
The Action Group action is part of the General module and can help you organize actions that work together to achieve a desired outcome. For example, you may want to organize your robotic task definition so that login actions are contained in an action group. To add an action group to the robotic task definition, click and drag Action Group from the Palette to a section.
Tip: As a best practice, limit each action in your robotic task to 12 or fewer nested actions. Having more than 12 nested actions can lead to performance problems. Instead, split the robotic task into smaller robotic subtasks to prevent problems from occurring.
At the top of the robotic task definition, you'll find options to help you find what you're looking for:
By default, every robotic task definition has a Setup, Main, and a Clean up section. Click the arrow in the section's toolbar to expand or collapse that section.
Within each section, you can drag and drop actions to new positions or delete an action by hovering over the action and clicking Delete action.
Setup section: Certain tasks may need to be completed to prepare the robot for an item execution. You can define those actions in the setup section of the robotic task definition. If you use credentials in a setup section, the credentials are reserved and won't be released until the clean up section successfully completes. This may impact credential availability if the setup and clean up sections are skipped for consecutive executions. See Execution Settings to learn more about how the robotic task behaves when the setup and clean up sections are skipped for consecutive executions.
Clean up section: Whether the robotic task ended successfully or not, the end of an execution is a good moment to close the applications that the robotic task has opened or send the files generated during execution to the server. It's important to reset the robot to its previous conditions so subsequent robotic tasks can execute successfully. Without consistent starting conditions, other robotic tasks may not be able to start or complete. Remember that the steps you configure in this section only apply to the robotic task you're currently configuring. You don't need to add the clean up section to your main robotic task definition. The robotic task will always execute the clean up actions.
Tip: If the same robotic task executes multiple times consecutively, you have the option to skip the setup and clean up sections for faster executions.
When you add an action to the robotic task definition, the configuration options appear in the Action Configuration pane. The configuration options vary based on the action you're adding.
See the action documentation for details on each action's configuration options:
You can use robotic task variables to pass data between robotic task definition actions and other design objects like process models and interfaces. The robotic Variable grid should look familiar if you've worked with rule inputs in the Expression Editor or Interface Designer.
It's simple to reference your variables in a robotic task. Text fields that are found in the configuration options for robotic task actions allow you to select from a variable picker. Use the variable picker to choose a variable as a value for your robotic task. What's more, when you rename variables, Appian automatically updates their names throughout your entire robotic task.
See the Robotic Task Variables topic for more detailed information.
To create a variable in a robotic task:
Credential
type is used to reserve credentials for use in robotic subtasks.
Dropdown
. The default value of the variable at the start of the task.Password
and Dropdown
. Indicates if the variable can pass values to the robotic task before it executes. Before the robotic task executes, the user will be prompted to provide an input.The Test button launches the debugging tool to where you can go through the robotic task definition action-by-action and isolate where issues might arise. See the Troubleshoot Appian RPA topic for detailed information about the debugging process.
The robotic task definition supports the task recorder tool. The task recorder can automatically record your browser interactions and translate them into robotic task actions. You can start a recording from a section, action group, or conditional flow path.
To start a recording:
The security role map of a robotic task controls which developers can see or modify it and its properties. Unlike some other objects, Robotic Tasks never inherit security.
The following table outlines the actions that can be completed for each permission level in a robotic task's security role map:
Robotic Task Actions | Admin | Editor | Viewer | Deny |
---|---|---|---|---|
View definition | Yes | Yes | Yes | No |
Export | Yes | Yes | Yes | No |
Duplicate | Yes | Yes | Yes | No |
Edit definition | Yes | Yes | No | No |
Import new version | Yes | Yes | No | No |
View security | Yes | Yes | No | No |
Edit security | Yes | No | No | No |
Delete | Yes | No | No | No |
Execution Actions | Admin | Editor | Viewer | Deny |
---|---|---|---|---|
Execute robotic task | Yes | Yes | Yes | No |
Debug a robotic task | Yes | Yes | Yes | No |
View list of executions | Yes | Yes | Yes | No |
View execution details | Yes | Yes | Yes | No |
Download execution artifacts | Yes | Yes | Yes | No |
Query execution info | Yes | Yes | Yes | No |
View robotic task schedule | Yes | Yes | Yes | No |
Create or edit new robotic task | Yes | Yes | Yes | No |
Pause execution | Yes | No | No | No |
Stop/Abort execution | Yes | No | No | No |
Delete execution | Yes | No | No | No |
For instructions on how to build a robotic task, see Build in Appian RPA.
For instructions on how to execute a robotic task, see the Methods for Robotic Task Execution topic.
For instructions on how to use the task recorder, see the Task Recorder topic.
Robotic Tasks