# Get Process Instances

> `UiPath.Oracle.IntegrationCloud.Process.Activities.GetProcessInstancesActivity`

`UiPath.Oracle.IntegrationCloud.Process.Activities.GetProcessInstancesActivity`

The **Get Process Instances** activity uses the Oracle Integration [Retrieve Process Instance List](https://docs.oracle.com/en/cloud/paas/integration-cloud/rest-api/op-ic-api-process-v1-processes-get.html) API to retrieve all processes that match your specified filter parameters (**Assignment Filter**, **Created After**, **Priority**, **Process Name**, **Updated After**).

After completing the get operation, the activity outputs the applicable processes in a `DataTable` object (**Processes**) along with the API call status (**Status**) and response message (**Response Message**).

## How it works

The following steps and message sequence diagram is an example of how the activity works from design time (i.e., the activity dependencies and input/output properties) to run time.

1. Complete the [Setup](https://docs.uipath.com/activities/other/latest/legacy-integrations/oracle-integration-cloud-process-setup) steps.
2. Add the [Oracle Process Scope](https://docs.uipath.com/activities/other/latest/legacy-integrations/oracle-integration-cloud-process-oracle-process-scope) activity to your project.
3. Add the **Get Process Instances** activity inside the **Oracle Process Scope** activity.
4. Enter values for the **Filters** input properties.
5. Create and enter a `DataTable` variable and `String` variables for the **Output** properties.
6. Run the activity.
   * Your input properties are sent to the [Retrieve Process Instance List](https://docs.oracle.com/en/cloud/paas/integration-cloud/rest-api/op-ic-api-process-v1-processes-get.html) API.
   * The API returns the `DataTable` and `String` values to your output property variables.

     ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/legacy-integrations-docs-image-179344-4ff17647-e876dcb2.webp)

## Properties

### Common

* **DisplayName** - The display name of the activity. This field supports only `Strings` or `String` variables.

### Filters

* **Assignment Filter** - Filters the processes according to the user or group assignments. Select an item from the drop-down list. There are 5 options:
  + **My_And_Group** - Displays process instances that are assigned to anyone, including you, in the groups you belong to.
  + **Owner** - Displays process instances that you're the owner of.
  + **Reviewer** - Displays process instances that you're a reviewer of.
  + **Admin** - Displays all process instances for Admin users.
  + **All** - No filtering for admin context user; displays all process instances that are created by you for non-admin.
* **Created After** - Returns the process instances created after the specified date. Enter a `DateTime` or `DateTime` variable.
* **Priority** - The priority of the processes that you want to retrieve. Enter a `Int32` or `Int32` variable. Enter a value from 1 (highest) to 5 (lowest).
* **Process Name** - The name of the process instance that you want to return. This field supports only `Strings` or `String` variables.
* **Updated After** - Returns the process instances updated after the specified date. Enter a `DateTime` or `DateTime` variable.

### Misc

* **Private** - If selected, the values of variables and arguments are no longer logged at Verbose level.

### Pagination

* **Limit** - The maximum amount of process instances that you want to retrieve. Enter a `Int32` or `Int 32` variable. If you want to get a specific process, but don't have the **Process Id** for the activity, you can set this value to *1* and enter the **Process Name** to further limit the results that are returned in the `DataTable` object.
  + To extract the **Process Id** from the `DataTable` and convert it to a variable for use in other activities, see the notes for the property below.
* **Offset** - Offset value of the response. Enter a `Int32` or `Int32`variable.

### Output

* **Has More Records** - A boolean value that informs you when there are more records than the amount specified in the **Limit** property. This field supports only `Boolean` variables.
* **Process Instances** - The process instances that match your filter property values. Enter a `DataTable` variable.
  + The `DataTable` includes a **ProcessId** column that contains the `Int32` value you can use as an input variable in subsequent activities (e.g., [Get Process Attachments](https://docs.uipath.com/activities/other/latest/legacy-integrations/oracle-integration-cloud-process-get-process-instance-attachments), [Add Process Comment](https://docs.uipath.com/activities/other/latest/legacy-integrations/oracle-integration-cloud-process-add-process-instance-comment)).
  + For example, to create a `Int32` variable for the **Process Id**, you can use an **Assign** activity with the following **Value**: *Int32.Parse(processes.Rows(0).Item("ProcessId").ToString)* (were "processes" is the `DataTable` variable that you create for this property - see the example below).
* **Response Message** - The API response message. This field supports only `String` variables.
* **Status** - The status of the request. Enter a `String` variable. Possible values are *Success* or *Failure*.

## Example

The following image shows an example of the activity dependency relationship and input/output property values.

  ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/legacy-integrations-docs-image-180136-02da2fdd-60aed46d.webp)
