# STARTPROCESS Workflow Application

## Overview

The **STARTPROCESS** workflow application lets you launch a new request with the corresponding parameters. It provides a simple solution for inter-process communications.

There are three ways to use STARTPROCESS to launch a new request:

* Process ID<br>
* Process name with process version<br>
* Process name with test

## Parameters

### Process

| **Parameter**     | **Type** | **Direction** | **Description**                                                                                                           |
| ----------------- | -------- | ------------- | ------------------------------------------------------------------------------------------------------------------------- |
| `PROCESS_ID`      | Numeric  | IN            | Process ID of the request to launch (to be used independently, without the other parameters)                              |
| `PROCESS_NAME`    | Text     | IN            | Process name of the request to launch                                                                                     |
| `PROCESS_VERSION` | Numeric  | IN            | Version of the process to launch                                                                                          |
| `TEST`            | Text     | IN            | <p>Test mode</p><ul><li><code>Y</code>: Launch a test version</li><li><code>N</code>: Launch the active version</li></ul> |

### Optional parameters

| **Parameter**          | **Type** | **Direction** | **Description**                    |
| ---------------------- | -------- | ------------- | ---------------------------------- |
| `REQUEST_ID`           | Numeric  | OUT           | Returns the ID of the new request  |
| `IMPERSONATE_USERNAME` | Text     | IN            | Username of the impersonating user |

You can define other parameters as needed in the workflow process to launch; for example `COMPANY` (text type IN parameter), e.g. `ACME_COMPANY`.

## Examples

### Process ID

| **Parameter** | **Type** | **Direction** | **Description**                                                                                               |
| ------------- | -------- | ------------- | ------------------------------------------------------------------------------------------------------------- |
| `PROCESS_ID`  | Numeric  | IN            | Send value of `MY_PROCESS_ID` (a numeric process data containing the ID of the process to start, e.g. `1320`) |

### Process name with process version

| **Parameter**     | **Type** | **Direction** | **Description**                                                                                                             |
| ----------------- | -------- | ------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `PROCESS_NAME`    | Text     | IN            | Send value of `MY_PROCESS_NAME` (a text process data containing the name of the process to start, e.g. `LEAVE_APPLICATION`) |
| `PROCESS_VERSION` | Numeric  | IN            | Send value of `MY_PROCESS_VERSION` (a numeric process data containing the version number of the process to start, e.g. `2`) |

### Process name with test

| **Parameter**  | **Type** | **Direction** | **Description**                                                                                                             |
| -------------- | -------- | ------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `PROCESS_NAME` | Text     | IN            | Send value of `MY_PROCESS_NAME` (a text process data containing the name of the process to start, e.g. `LEAVE_APPLICATION`) |
| `TEST`         | Text     | IN            | Send value of `MY_TEST` (e.g. `Y`)                                                                                          |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.workflowgen.com/admin/8.3/startprocess-workflow-application.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
