# Create new app wizard

> In the **Process Mining** portal, you can easily create new apps. When you select the **Create new app** button, a wizard opens that guides you through the process of creating a new app step-by-step. When you leave **Create new app** wizard at any step, the current state is saved. You can continue creating the app with the state you left the wizard before.

In the **Process Mining** portal, you can easily create new apps. When you select the **Create new app** button, a wizard opens that guides you through the process of creating a new app step-by-step. When you leave **Create new app** wizard at any step, the current state is saved. You can continue creating the app with the state you left the wizard before.

## Creating a new app

1. In the **Process Mining portal**, go to the **Development tab**, and select **Create new app**.
   :::note
   If this is your first app, you can select **Create new app** on the Welcome to Process Mining page. ![Welcome to Process Mining page](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-welcome-to-process-mining-page-337977-dbdf84d2-1a17342d.webp) You will be re-directed to the **Development** tab.
   :::

A wizard starts and the **Select app template** step is displayed, where you can select an app template to be used for your app.

## Selecting the app template

You can choose to use an existing app template as a starting point for a new app.

See [App templates](https://docs.uipath.com/process-mining/automation-suite/2023.10/user-guide/app-templates) for an overview of the available app templates.

1. Select the **Create app** button on the tile representing the application template you want to use as a base for your new app.

The **Basic details** step is displayed with the default information from the process app type you selected.

## Defining the app properties

1. Edit the name to define a unique name for the new process app in the **App name** field.
   :::note
   If an app with the name you enter already exists for your tenant a message is displayed, and the **Save & Next** button is disabled.
   :::

2. If desired, edit the description in the **Description** field.
3. Select **Save & Next**.
   :::note
   It can happen that you enter a name for an app that already exists but that you do not see in the **All process apps** list. In this case, it can be an app for which you do not have **View** permission.
   :::

See the illustration below.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-16070-3c45eae5-6ac62c64.webp)

The **Data source** step is displayed.

## Selecting the data source

You can use a sample dataset, upload a dataset with `.csv` files, or load data using an extractor. The data is ingested after you have created the new process app.

:::important
For performance and security reasons, it is strongly recommended to use a small dataset for app development and testing data transformations. The development dataset is used for testing the data transformations. It does not affect the data displayed in the dashboards of the published process app. Once your app is ready to be used by business users, you can publish the app and ingest new data for use in the published process app.
:::

1. Select the applicable option for your data source.
2. Select **Save & Next**.

### Use sample data

:::note
The **Use sample data** option is only enabled if sample data is available for the process app.
:::

### Upload a dataset

It is also possible to upload a dataset using `.csv` files.

:::warning
For large amounts of data, it is recommended to use CData Sync or Theobald Xtract Universal (for SAP) to upload data.
:::

:::note
When you create a new process app, always make sure that the data is in the required format for the app template that you use to create a new app. Check out [App Templates](https://docs.uipath.com/process-mining/automation-suite/2023.10/user-guide/app-templates#app-templates).
:::
:::note
Table names and field names are case-sensitive. Always make sure that the field names (column headers) in your dataset match the field names listed in the input tables and that the file names match the table names.
:::
:::important
Make sure the .csv files have the suffix _raw.
:::

Follow these steps to upload data files.

1. Drag and drop one or more files that contain the data for the process app, or select ![Select files icon](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-select-files-icon-select_files-b6a9d027-fe1e7d96.png) to select the files from your computer.
2. Check the detected details for your dataset for **Encoding**, **Delimiter**, and **Quote character**. If needed, select the appropriate settings.

### Upload data using extractor

:::note
You can copy the details for use in the extractor in the **Upload data using extractor** step later in the app creation process. Refer to **Finishing the app creation**.
:::

## Selecting the process model

You can select the type of process model to be used for the process app.

:::note
**Discover process model** and **Import BPMN model** introduce detailed semantic events for exclusive, parallel, and loop behaviors that enhance process precision but may affect app scalability. As a result, this might impact the maximum number of real events supported in a Process mining app.
:::

1. Select the process model type for your process app.
2. Select **Save & Review**.

### Directly follows graph

**Directly follows** process models (adjacency graphs) focus on simplicity and readability, showing a clear and direct representation of the event log. These process models are intuitive and easy to understand, making them valuable for easily understanding the basic flow of activities. While they may not capture all the complex behaviors in the process, such as parallelism, **Directly follows** process models provide a useful starting point for process analysis.

The **Directly follows** relationship represents the order in which activities occur in a process. It is based on event logs that contain records of activities performed during the execution of a process. By analyzing the event logs, Process Mining techniques can identify which activities are typically executed one after another. Between these two activities, an edge is defined as A➝B.

If, for example, paths A→B and C→D in a process can be performed in parallel, the activities of the two paths can occur in the event log in any order. In the "directly follows graph" approach, these events will not be considered to run in parallel, and the resulting process flow can be the following: A➝C➝B➝D.

A Discover process model or a BPMN process model however will take parallel structures into account.

### Discover process model

Discovering a process model allows you to have a better understanding of your process structure. By analyzing the whole process (the whole event log) with advanced process mining techniques, activities that happen in parallel, are part of a decision, or are part of a more complex loop are automatically discovered. These relationships are called the process semantics.

The following table describes the process semantic types used in discover process models.

| **Semantic node type** | **Description** | **Visual representation** |
| --- | --- | --- |
| Parallel gateway (AND) | Represents two or more branches that happen in parallel. | ![Parallel gateway (AND)](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-parallel-gateway-and-329237-c1741bd8-d2e652f1.webp) |
| Exclusive choice gateway (XOR) | Represents an exclusive choice (decision point) between two or more branches. | ![Exclusive choice gateway (XOR)](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-exclusive-choice-gateway-xor-329245-09c86ad4-587c8c3e.webp) |
| Loop gateway | Represents a repeatable sub-process with one *loop body* path and one or more *rework paths*. | ![Loop gateway](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-loop-gateway-329233-37429b8d-c79b452c.webp) |

   ![Example Discover model process graph](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-example-discover-model-process-graph-329262-3aecc7c8-4fc41a47.webp)

### Import BPMN model

Select **Import BPMN model** if you want to import your own BPMN 2.0 model and use it as a process model for your process app.

:::note
WIth the BPMN model, advanced process algorithms will map your event log data on top of the BPMN model, allowing you to analyze how the BPMN model and your data relate.
:::

1. Drag and drop the `.bpmn` file that contains the BPMN 2.0 model you want to import.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-import-bpmn-file-337840-298e3ea8-61c15558.webp)

When the file is successfully imported, the **Save & Review** button will be enabled.
2. Select **Save & Review** to finish the import of the BPMN model.
   :::tip
   If you want to use a different BPMN model after you created the process app, you can import a BPMN model in [Process manager](https://docs.uipath.com/process-mining/automation-suite/2023.10/user-guide/process-manager#process-manager "With Process manager you can view the process model that is used as reference in the model-based Process Mining applications. You can export the model as a Business Process Model Notation (BPMN) 2.0 model, which enables you to import the file in a BPMN modeler, for example BPMN.io, or to import the BPMN file in another process app.Select the Process manager button in the upper right corner of the dashboard editor to open Process Manager. The Process manager page is displayed, showing the preview of the Discover process model or Import BPMN model.").
   :::

#### BPMN model requirements

The following sections describe the requirements to successfully import a BPMN 2.0 model for use in Process Mining.

#### General requirements for the BPMN model

* The BPMN must adhere to the BPMN 2.0 standard.
* The BPMN must contain a single process definition.
* The BPMN can only contain supported elements.
* All nodes in the BPMN should have an id.
* The BPMN model should contain no more than 999 nodes.

#### Supported BPMN elements

The following BPMN elements ares supported:

* Start events
* End events
* Tasks
* Exclusive choice gateways
* Parallel gateways
* Sequence flows

#### Task and flow requirements

| **Requirement** | **Example** |
| --- | --- |
| A **start** event must be defined, and there can only be one start event. | ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-338704-bec2139f-74b189ce.webp) |
| An **end** event must be defined, and there can only be one end event. | ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-338704-bec2139f-74b189ce.webp) |
| At least one activity task must be defined. | ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-338704-bec2139f-74b189ce.webp) |
| There must be at least two sequence flows defined for the BMPM model. | ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-338704-bec2139f-74b189ce.webp) |
| The tasks must have unique labels. | ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-338711-ae12f6c2-e64e3b9e.webp) |
| All sequence flows must have a source and a target. | ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-338704-bec2139f-74b189ce.webp) |
| Each task must have a single incoming, and a single outgoing sequence flow. | ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-338704-bec2139f-74b189ce.webp) |
| The **start** event only has a single outgoing edge. | ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-338717-6419a5e3-06b1162c.webp) |
| The **end** event only has a single incoming edge. | ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-338721-812fcfbe-2bc16d3d.webp) |
| All nodes and sequence flows in the BPMN are connected in a single model. | ![docs image](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-docs-image-338704-bec2139f-74b189ce.webp) |

#### Gateway requirements

The gateways in the BPMN must form pairs. Each pair has an opening gateway, which **splits** the process flow into multiple process flows. Each pair has a closing gateway, which **joins** the split process flows into a single flow. This structure is called a **block**. The flows inside a block may contain other, nested blocks. However, the only flows to enter and exit the flows within a block, are via the **split** and **join** gateways.

The following illustration shows an example of a BPMN model with gateway pairs, forming blocks. The blocks are highlighted.

  ![BPMN model with gateway pairs, forming blocks](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-bpmn-model-with-gateway-pairs-forming-blocks-338726-c038bfdf-9d6dd8b6.webp)

| **Requirement** | **Example** |
| --- | --- |
| Each gateway is either a **split** or a **join** gateway. |  |
| A **split** gateway has a single incoming edge, and at least 2 outgoing edges. | ![Split gateway](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-split-gateway-338732-e1f13b7b-f3d1d705.webp) |
| A **join** gateway has at least 2 incoming edges, and a single outgoing edge. | ![Join gateway](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-join-gateway-338736-b1e1f2dc-010be32a.webp) |
| For every split gateway, there is a corresponding join gateway of the same type, and vice versa. | ![Example](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-example-338740-157feb76-9f9348c0.webp) |
| Every split-join gateway pair and the elements between them are a single-entry-single-exit component: a model component that has only a single entry edge and a single exit edge. | ![Example](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-example-338744-35304afc-49d4a66c.webp) |
| Each path from a split gateway its corresponding join gateway must also be a single-entry-single-exit. | ![Example](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-example-338748-9ca147c4-3f279257.webp) |
| There cannot be any direct sequence flows between corresponding splitting and joining parallel gateways. | ![Example](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-example-338744-35304afc-49d4a66c.webp) |
| Every exclusive choice split-join gateway pair that describes a loop flow to a previous point in the process cannot have an empty main path and an empty redo path, as this allows for indefinite looping without a task being executed. | ![Example](https://dev-assets.cms.uipath.com/assets/images/process-mining/process-mining-example-338752-94403b64-08069b87.webp) |

## Finishing the app creation

### Process apps

1. Review the app details.
2. Select **Create app**.

The process app is created and will be displayed in the **Process apps in development** list. A progress bar is displayed to indicate the progress of the data ingestion of your process app.

When the data ingestion is completed, the new app will be published and displayed in the **Process apps in development** list.

You can now customize the app and edit the transformations to your needs. See [Customizing process apps](https://docs.uipath.com/process-mining/automation-suite/2023.10/user-guide/customizing-process-apps).

:::important
The app is in development mode and only available in the development environment. To make the app available to business users, you must publish the app. See [Publishing Dashboards](https://docs.uipath.com/process-mining/automation-suite/2023.10/user-guide/publishing-dashboards#publishing-dashboards).
:::

#### Upload data using extractor

If you have selected the **Upload data using extractor** option in the **Selecting the data source** step, the **Upload data using extractor** step is displayed.

#### End of upload API

When loading data using an extractor, you use the **End of upload API** in the post-event of in the extraction job to signal that the extraction was finished. See [Create a job](https://docs.uipath.com/process-mining/automation-suite/2023.10/user-guide/create-a-job).

1. Copy the **End of upload API** and save it, for example, in a Notepad file.
2. Select **Finish**.
