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)
Open in Github

On This Page

FEEDBACK