# Create Form

> `UiPath.Form.Activities.FormActivity`

`UiPath.Form.Activities.FormActivity`

## Description

Use this activity to create a custom form. The form you configure retrieves all the data the end user inputs and stores it in variables, which can be further used in the automation process. The **Do** block in the activity enables you to perform additional actions when the form opens or while the form is running.

![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/activities-docs-image-178756-72d4dfe4.webp)

## Project compatibility

**Windows - Legacy** | **Windows**

## Windows, Windows - Legacy configuration

#### **Designer panel**

* **Open Form Designer** - opens the **UiPath Form Designer**.

#### **Properties panel**

**Common**

The properties in this category refer to common activity settings.

* **Display Name** (String) - Sets the name for this activity. For example, `"User Registration Form"`.
* **ExecuteDoBlockFirst** (Boolean) - To execute the activities in the Do block before opening the form, check this box. By default, the checkbox is cleared (set to `false`).
* **FormTitle** (String) - Sets the title for your form, seen by the business users. For example, `"Registration Form"`.
* **Isolated** (Boolean) - To run the form in a separate Windows process, check this box. Selecting this check box enables Validation Station and Callouts to run seamlessly from the same process. By default, the checkbox is cleared (set to `false`).
* **Timer** (Int32) - Sets the amount of time in seconds until the form is automatically closed. For example, `50`. By default, no value is provided, meaning the form must be closed manually.

**Data Bindings**

The properties in this category refer to data that is linked to the automation process.

* **FormFieldsCollection** (Dictionary&lt;String, Argument&gt;) - Binds workflow variables to the form Field Keys. Use **In** or **In/Out** directions for input form fields. Use **Out** or **In/Out** directions for output form fields. For example, in the **Name** field add the string `First Name`, set the **Direction** to `In/Out`, and set the **Type** to `String`.

  ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/activities-docs-image-179636-ee7e7d40.webp)
* **GenerateInputFields** (Boolean) - To add the fields defined in the collection to the form, check this box. By default, the checkbox is selected (set to `true`).

**Data Table**

The property in this category refers to table data in forms.

* **MaxColumnsForSchemaGeneration** (Int32) - Sets the maximum number of generated columns for DataTable schemas. The default value is 6.

#### **Debug**

The property in this category refers to debugging forms and experimenting with CSS styles.

* **Dev Tools** - Enables the developer tool for debugging and troubleshooting forms, called Dev Tools. Developers can use Dev Tools to experiment with CSS styles. When checked, the property opens the Dev Tools window at runtime.

**Form Options**

The property in this category refers to accessibility inside forms.

* **Enable Accessibility** - Enables accessibility in conformance with USWDS (United States Web Design System). When this property is enabled, the styling of the form might be impacted.

**Format**

The properties in this category refer to the form appearance and format.

* **DisableMaximize** (Boolean) - To deactivate the Maximize, and Restore buttons on forms, check this box. By default, the checkbox is cleared (set to `false`).
* **DisableMinimize** (Boolean) - To deactivate the Minimize and Restore buttons on forms, check this box. By default, the checkbox is cleared (set to `false`).
* **DisableSanitize** (Boolean) - To deactivate final checks on the form components, and improve performance, check this box. By default, the checkbox is cleared (set to `false`).

**Warning**: If your form contains unknown URLs or it is using external sources, keep the checkbox cleared.
* **FormHeight** (Int32) - Sets the desired height for the form, in pixels. The default height is 400.
* **FormWidth** (Int32) - Sets the desired width for the form, in pixels. The default width is 800.
  :::note
  To open the form in a maximized window, leave the FormHeight and FormWidth fields empty.
  :::

* **IconPath** (String) - Sets the local relative path to the icon file. The icon is displayed on the taskbar and in the form window. Accepts `.ico` or image formats . (for example, `"C:/Users/Icons/myIcon.ico"`).
  :::note
  You may use a path relative to the process, as long as the `.ico` file is published as a resource within the process (for example, `"myIcon.ico"`).
  :::

**Warning**: You need to select the **Isolated** checkbox (**Common** properties). Otherwise, the icon doesn't get displayed.
* **IsReadOnly** (Boolean) - To prevent form fields from being edited, check this box. Fields marked as Always Enabled are not affected by this option. By default, the checkbox is cleared (set to `false`).
* **LocalCSSFilePath** (String) - Sets the path to a local CSS file (for example, `"/file://C:\C:\User heCssFile.css"`).
* **Start Form As Minimized** (Boolean) - To generate the form in a minimized window on the taskbar, check this box. By default, the checkbox is cleared (set to `false`).
* **WindowPositionX** (Int32) - Sets the form left margin position, in pixels.
* **WindowPositionY** (Int32) - Sets the form top margin position, in pixels.

**Input**

The property in this category refers to the JSON input data.

* **FormFieldsInputData** (String) - Passes `JSON` input data to the form and overwrites the values defined in the **FormFieldsCollection** field. For Data Grid components, structure, the JSON as an array.

**Misc**

The property in this category refers to miscellaneous settings.

* **Private** (Boolean) - To skip logging variables and arguments at Verbose level, check this box. By default, the checkbox is cleared (set to `false`).

**Output**

The properties in this category refer to the output object data.

* **Dismissed** (Boolean) - Outputs `true` when the end user closes the form without providing any input. For example, `"isDismissed"`.
* **FormFieldsOutputData** (String) - The `JSON` data that results from the form upon completion. For example, `"userData"`.
* **SelectedButton** (String) - Outputs the form UI elements the end user interacts with. For example, `"selectedButton"`.

**Start Form**

The properties in this category bind the form to the [Start Form Activity](https://docs.uipath.com/activities/other/latest/workflow/start-form-activity), so the form can be opened in the background.

* **Folder Path** (String) - Enter the path where you want to save the form data to.
* **Form Name** (String) - Enter a name for your form data.

  ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/activities-docs-image-187690-71ed8441.webp)

**Warning**: To bind every **Create Form** to the corresponding **Start Form Activity**, the `Folder Path` and `Form Name` values must match with the values set in **Start Form Activity** &gt; [Create Form properties](https://docs.uipath.com/activities/other/latest/workflow/start-form-activity).
