Appian RPA Connected System

Appian RPA integrates with other features such as Robotic Workforce Manager (RWM), BPM, and AI to deliver a full stack automation solution in Appian.

Incorporate a robotic process into your overall business process by calling a connected system from within an Appian process model. Execute a robotic process or retrieve its results using the Appian RPA connected system. Conversely, if your robotic process needs to incorporate people, you can kick off a process using the Start Process action.

This page covers how to integrate RPA into your Appian application by connecting process models and robotic processes.

About the Appian RPA connected system

Appian RPA Connected System provides an integrated solution to support full-stack automation in Appian. Build robotic processes to automate repetitive tasks to free up your workforce and ensure data accuracy. Appian RPA tightly integrates with BPM, AI, and case management so you can use the right automation technology for a given use case. Once the connected system is authenticated via API key, robotic processes automatically appear in the available operations based on permissions.

Field Description
API Key This is the key generated when you create the service account.

rpa-connected-system.png

When you create the service account to generate an API key for Appian RPA, you may need to adjust the User Type from Basic to Administrator within Appian. If the user type is set to Basic, you may receive an error when you test the connection using the API key during connected system setup.

Operations

Name Description Type
Execute a robotic process Integration to execute a robotic process in Appian RPA. WRITE
Retrieve execution results Integration to retrieve results from an executed robotic process in Appian RPA. READ

When you set up either operation, you'll choose a robotic process from the list. The options appear based on the service account's permissions within Appian RPA.

Execute robotic process

Executes a robotic process in Appian RPA on the specified resource.

rpa-cs-execute.png

Retrieve execution results

Retrieves results of a robotic process execution in Appian RPA through the execution ID.

rpa-cs-retrieve.png

Set properties

Within a robotic process's code, you can set up properties to capture additional information and pass it to Appian as part of the Retrieve Execution Results integration.

To get started, set up a hashmap to capture data in key-value pairs. In the example below, we're assigning the hashmap to the results variable.

1
2
3
4
5
6
7
8
9
10
11
12
13
@Robot
public class RobotBlankTemplate implements IRobot {

    /** The server. **/
    private IJidokaServer< ? > server;
    private List<Invoice> invoices = new ArrayList<>();
    private Gson gson;
    private int currentInvoice = 1;
    private int itemsIndex = 1;

    private HashMap<String, String> results = new HashMap<>();
}

Next, update the results based on the data extracted:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    public void enterInvoice() {
        for (Invoice invoice: this.invoices ) {
            // the key to use is the literal "row" plus the number of the item
            String itemKey = "Invoice Row " +(currentInvoice + 1) + " ID: " + invoice.id;

            server.setCurrentItem(itemsIndex, itemKey);
            server.setCurrentItemResultToOK(itemKey);

            // Add invoice to the results output
            results.put(itemKey, gson.toJson(invoice));

            currentInvoice++;
            itemsIndex++;
        }
    }

The helper methods setCurrentItem and setCurrentItemResultToOK are explained in detail in the Client module documentation.

Finally, set the properties using the results variable:

1
2
3
4
5
6
/**
* End.
*/
public void end() {
    server.setResultProperties(results);
}

Once properties are set, they can be viewed within the execution details in the Appian RPA Console and queries using the Retrieve Execution Results integration.

In Appian, you'll use the Retrieve Execution Results integration to query for properties. The data will be passed back as a dictionary called properties within the result dictionary. The data is structured as follows:

  • success true (Boolean)
  • result Dictionary
    • properties Dictionary
    • status "SUCCESS" (Text)
  • error null (Null)

Appian Services Module

As you define the robotic process workflow, you associate actions with each step. This is how the robotic process knows what code to reference at each stage of the workflow. Within the module, the Start Process action lets you kick off a process in Appian as part of a robotic process.

The Start Process action lets you map variables from a process model in Appian to the robotic process variables you've defined in the configuration. The module passes data from Appian RPA variables to Appian using this map and initiates a process using the data as input.

To use the Start Process action:

  1. Open a robotic process configuration and navigate to an action in the workflow.
  2. Click the action and click the list icon to associate a method or module.
  3. In the list, click the plus sign next to Appian Services under Modules to expand the options.
  4. Click Start Process.
  5. In the Process Model field, search for the process model to reference in this action. As you type, Appian RPA suggests available process models to choose from.
  6. Select a process model and the process parameters appear.

    If you don't have access to the selected process model, you'll see a message saying it's not visible and you won't be able to load the process parameters.

  7. For each process parameter, you can map it to a robotic process variable you've defined in the configuration. See Data format for more information.
  8. You can also save the overall process ID to a variable in the Save Process ID to menu.
  9. Click OK to save.

rpa-start-process-module.png

You can save all results to one variable in Appian RPA to pass it to Appian as structured data. Structured data will be passed from Appian RPA to Appian in JSON format.

Data format

To properly pass the parameter values to Appian, you'll need to format the data properly. Appian expects structured data values passed to process parameters in JSON format.

Before starting the process, all JSON values will be automatically converted to Appian values using the same transformation logic as a!fromJson. If you're passing structured data to Appian, follow the format used in the a!fromJson function.

getWorkflowVariables

After you've mapped process parameters to variables in the robotic process, you can add them to your Java method using the getWorkflowVariables helper in the server function. Use this to capture and use data at a later point in the process. Remember that structured data sent to Appian should use JSON format.

Here are some examples of how to use the server.getWorkflowVariables() function:

1
2
3
4
5
6
7
8
// Gets the map of workflow variables containing those defined into the robot configuration page
Map<String, IRobotVariable> variables = server.getWorkflowVariables();

// Gets the variable called "var1"
IRobotVariable rv = variables.get("var1");

// Updates the value of var1 to the current value of item
rv.setValue(item);
Open in Github

On This Page

FEEDBACK