About the Blue Prism Integration
This content applies solely to Robotic Workforce Manager, which must be purchased separately from the Appian base platform.

Introduction

This page provides an architectural overview of RWM when used with Blue Prism. It describes the Blue Prism and Appian application objects that support integration between the two applications. This information helps demonstrate the dependencies between the two applications, so you can fully understand the impact of changes you plan to make.

Refer to this document as a resource for modifying or maintaining your RWM instance when Blue Prism is your RPA vendor.

About the Blue Prism integration

For most supported RPA vendors, RWM uses the vendor's public APIs as a means of transmitting data to display in the application. However, Blue Prism doesn't use publicly available APIs. Instead, when you set up RWM with Blue Prism, you'll import a package into Blue Prism and configure the contents to communicate with RWM.

Blue Prism Processes

Blue Prism and Appian communicate with each other most prominently through processes. There are a number of objects in each environment that are used in each process. Refer to the Object references table to understand the dependencies.

RWM Test Appian WebApi Call

This process tests the connection between RWM and Blue Prism. Before you run this process, expose it as a web service by going to System > Process > Exposure > Expose a Process.

After you run this process, an entry appears in the Appian database table RWM_BP_ETL_LOG to indicate if it was successful.

Blue Prism components referenced:

  • Appian Credentials (Credential)
  • Appian Skill (Web API Services)

Appian objects referenced:

  • RWM_BP_WS_toTestBPtoAppian
  • RWM_testAppianWebAPICall

RWM Trigger Process

This process runs the scheduled and manually started Blue Prism processes from RWM. It triggers the RWM Schedules process, which checks the RWM Load Process queue to see if there are pending items to process. Items in this queue represent requests to start or schedule processes, which Blue Prism receives from Appian. When one of these items is processed, the request is granted and the corresponding process is either scheduled or started.

The process occurs every three minutes by default, but you can configure this value.

Blue Prism components referenced:

  • AutomateC ExePath (Environmental variable)
  • RWM BP Server Credentials (Environmental variable)
  • RWM Executing Pool Name (Environmental variable)
  • Utility - Automate C (Object)
  • Utility - Strings (Object)

RWM_GetDataFromBPtoAppian

This process extracts, transforms, and loads (ETL) data to Appian from Blue Prism. The process performs ETL on historic or daily data. It triggers the RWM ETLScheduler process in Blue Prism, which occurs every 15 minutes by default, but you can configure this value.

The process executes a historic data load or a daily data load based on the value in the RWM HistoricUpdate Flag environmental variable. It loads historic data when set to true and daily data when set to false. Learn more about modifying historical load in Blue Prism.

When loading historical data, it uses the values in RWM HistoricQuery StartDate and RWM HistoricQuery EndDate to determine the timeframe for data. The first time this process is executed, a new item is added to the RWM ETL Check queue. When the process is complete, this item is updated with the end time for subsequent executions to reference. This item is updated with this information for each execution.

When loading daily data, the process uses two timestamps to determine the data to load: the time the last execution started (captured in the item, used as the start time) and the current time (used as the end time). The daily load won't be able to fetch data if this item doesn't exist in the queue. Therefore, the historical data must be loaded at least once before you run a daily data load. After the process completes, the end time is captured in the work item for future reference.

Blue Prism components referenced:

  • Appian Skill (WebAPI Service)
  • RWM_GetPreProcessedQuery (Process)
  • RWM ETL Check (Queue)
  • RWM ETL Queue (Queue)
  • RWM BP DB Name (Environmental variable)
  • RWM BP DB Password (Environmental variable)
  • RWM BP DB Server Name (Environmental variable)
  • RWM BP DB User (Environmental variable)
  • RWM ETL Batches (Environmental variable)
  • RWM HistoricQuery EndDate (Environmental variable)
  • RWM HistoricQuery StartDate (Environmental variable)
  • RWM HistoricUpdate Flag (Environmental variable)
  • RWM Tenant ID (Environmental variable)
  • Utility - SQL Server (Object)
  • Utility - Collection Manipulation (Object)
  • Utility - JSON (Object)
  • Utility - XML (Object)

Appian objects referenced:

  • BP_WS_toUpdateProcess (Web API)
  • BP_WS_updateAudit (Web API)
  • BP_WS_updateQueue (Web API)
  • BP_WS_updateSessions (Web API)
  • BP_WS_schedule (Web API)
  • BP_WS_toUpdateWorkItemDetails (Web API)
  • BP_WS_updateResourceStatusDetails (Web API)

RWM_GetPreProcessedQuery

This is a sub-process of RWM_GetDataFromBPtoAppian. It will contain both the Historic and Daily SQL query in a collection variable. Based on the execution type, either Daily or Historic query will be passed on to the parent process.

Blue Prism components referenced:

  • RWM HistoricQuery EndDate (Environmental variable)
  • RWM HistoricQuery StartDate (Environmental variable)
  • RWM HistoricUpdate Flag (Environmental variable)
  • RWM Tenant ID (Environmental variable)

RWM AsynchronousStartProcess

This process asynchronously triggers the process RWM_getSessionLogs with required input parameters. Once it starts the Session log process, it will return the status of the start process and error message in case of any issue while starting.

Blue Prism components referenced:

  • RWM BP Server (Credential)
  • AutomateC ExePath (Environmental variable)
  • RWM BP Server Credentials (Environmental variable)
  • RWM Executing Pool Name (Environmental variable)
  • Utility - Automate C (Object)

Appian objects referenced:

  • RWM_BP_getSessionLogsFromBp

RWM_getSessionLogs

The RWM_getSessionLogs process is used to push the session log data based on the provided process inputs into the Appian Database through Web API. It will be triggered by RWM AsynchronousStartProcess.

Blue Prism components referenced:

  • Appian Credentials (Credential)
  • Appian Skill (Web API Services)
  • RWM BP DB Name (Environmental variable)
  • RWM BP DB Password (Environmental variable)
  • RWM BP DB Server Name (Environmental variable)
  • RWM BP DB User (Environmental variable)
  • RWM ETL Batches (Environmental variable)
  • Utility - SQL Server (Object)

Appian objects referenced:

  • RWM_BP_WS_updateSessionLogs

Object references

These tables describe each object in Blue Prism and Appian. The Dependencies column shows you which objects may be affected by any changes.

Blue Prism objects

Object name Type Description Dependencies
RWM Test Appian WebApi Call Process This process is used to check the connection between Appian and Blue Prism. See list of objects above
RWM Trigger Process Process This process is used to run the start/scheduled Blue Prism processes from RWM. See list of objects above
RWM_GetDataFromBPtoAppian Process This process extracts, transforms, and loads data in Appian from Blue Prism. See list of objects above
RWM AsynchronousStartProcess Process This process is used to trigger RWM_getSessionLogs asynchronous from appian to get session logs See list of objects above
RWM_getSessionLogs Process This process is used to push the Session logs data into RWM Database See list of objects above
RWM Add to Queue Object This object is used to add work items to the respective process queue. In RWM, this is done in the Business Exceptions tab of the Control Center. Exposed as a web service so Appian can make integration calls
RWM Populate Queue Object This object adds a work item to the queue in RWM Load Process. It's also called when a BP process is scheduled or started in RWM. Exposed as a web service so Appian can make integration calls
RWM Update Process Status Object This object queries the data from the BP database and sends the results to Appian. Appian calls this object when an SQL query tries to fetch data from BP. Exposed as a web service so Appian can make integration calls
BPA Object - Utility - JSON Object This object is used to convert the data to JSON Used in RWM_GetDataFromBPtoAppian, RWM Add to Queue, RWM Update Process Status
BPA Object - Utility - Collection Manipulation Object This object create/update/delete the data on the collection Used in RWM_GetDataFromBPtoAppian
BPA Object - Data - SQL Server|Object This object is to fetch data from Blue Prism database Used in RWM_GetDataFromBPtoAppian, RWM Update Process Status  
BPA Object - Utility - XML Object This object is used to convert the data to XML Used in RWM_GetDataFromBPtoAppian
BPA Object - Utility - Strings Object This objects will work on the text conversion Used in RWM Trigger Process
BPA Object - Utility - AutomateC Object This object is used to trigger the Blue Prism process via Command Prompt Used in RWM Trigger Process, RWM Update Process Status
RWM ETL Check Queue This queue is used to compare the last ETL run date for the daily load Used in RWM_GetDataFromBPtoAppian
RWM ETL Queue Queue This queue is used for the ETL to run daily Used in RWM_GetDataFromBPtoAppian
RWM Load Process Queue This queue is used for start/schedule the triggered process from Appian Used in RWM Trigger Process
RWM ETL Scheduler Schedule This scheduler schedule the process RWM_GetDataFromBPtoAppian for every 15 mins Used in RWM_GetDataFromBPtoAppian
RWM Schedules Schedule This scheduler schedule the process RWM Trigger Process for every 2 mins Used in RWM Trigger Process
AutomateC Exe Path Environmental Variable Contains the Path of Automatec.exe file. Used in RWM Trigger Process, RWM Update Process Status
RWM BP Server Credentials Environmental Variable Credential which has the username and password of the Blue Prism server. Used in RWM Trigger Process
RWM DB Name Environmental Variable Blue Prism's database name. Used in RWM_GetDataFromBPtoAppian, RWM Update Process Status
RWM DB User Environmental Variable Blue Prism's database username. Used in RWM_GetDataFromBPtoAppian, RWM Update Process Status
RWM DB Password Environmental Variable Blue Prism's database password. Used in RWM_GetDataFromBPtoAppian, RWM Update Process Status
RWM DB Server Name Environmental Variable Blue Prism's server name. Used in RWM_GetDataFromBPtoAppian, RWM Update Process Status
RWM HistoricUpdate Flag Environmental Variable Flag should be True when running the historic load for the first time, after which it should be False. Used in RWM_GetDataFromBPtoAppian
RWM HistoricQuery StartDate Environmental Variable Beginning date to fetch data for the historic load. Used in RWM_GetDataFromBPtoAppian
RWM HistoricQuery EndDate Environmental Variable End date to fetch data for the historic load. Used in RWM_GetDataFromBPtoAppian
RWM Executing Pool Name Environmental Variable The name of the pool or FQDN of the resource (pool is recommended) that is dedicated to sending out frequent status updates to Appian. Used in RWM Trigger Process
RWM ETL Batches Environmental Variable Maximum number of batches to be run in the extract, transform, load (ETL) Process. Used in RWM_GetDataFromBPtoAppian
RWM Tenant ID Environmental Variable Primary key of the corresponding Blue Prism environment present in the RWM_UI_TENANT_DETAILS table column name TENANT_ID Used in RWM_GetDataFromBPtoAppian
Appian Skill Web API Service   Used in RWM Test Appian WebApi Call, RWM_GetDataFromBPtoAppian
Appian Credentials Credential Bearer Token Used in RWM Test Appian WebApi Call, RWM Populate Queue
RWM BP Server Credential General or Basic authentication Used in RWM Trigger Process, RWM Update Process Status

Appian objects

Object name Type Description Dependencies
RWM_testAppianWebAPICall Integration Tests the integration with Blue Prism and writes an entry to the RWM_BP_ETL_LOG database table. Used in RWM_GetDataFromBPtoAppian
RWM_BP_getSessionLogsFromBp Integration This is used to Start the process RWMTestAppianWebAPICallService in Blue Prism Used in
RWM AsynchronousStartProcess      
RWM_BP_WS_toTestBPtoAppian Web API Tests the integration with Blue Prism and writes an entry to the RWM_BP_ETL_LOG database table. Used in RWM_GetDataFromBPtoAppian
BP_WS_toUpdateProcess Web API Appian uses the /updateProcess endpoint Used in RWM_GetDataFromBPtoAppian
BP_WS_updateAudit Web API Appian uses the /updateAudit endpoint Used in RWM_GetDataFromBPtoAppian
BP_WS_updateQueue Web API Appian uses the /updateQueue endpoint Used in RWM_GetDataFromBPtoAppian
BP_WS_updateSessions Web API Appian uses the /updateSessions endpoint Used in RWM_GetDataFromBPtoAppian
BP_WS_schedule Web API Appian uses the /updateProcess endpoint Used in RWM_GetDataFromBPtoAppian
BP_WS_toUpdateworkItemDetails Web API Appian uses the /updateWorkItem endpoint Used in RWM_GetDataFromBPtoAppian
BP_WS_updateResourceStatusDetails Web API Appian uses the /updateResourceStatus endpoint Used in RWM_GetDataFromBPtoAppian
RWM_BP_WS_updateSessionLogs Web API This is used to update the BP session logs Used in RWM_getSessionLogs
Open in Github Built: Tue, May 17, 2022 (03:09:23 PM)

On This Page

FEEDBACK