# Parameters

## Common settings

These settings are standard common settings for all types of parameters.

{% tabs %}
{% tab title="Common settings" %}

```json
{
    "name": <String>,
    "label": <String>,
    "help": <String>,
    "required": <Boolean>,                // default: false
    "default": <Object>,
    "advanced": <Boolean>                 // default: false
}
```

{% endtab %}
{% endtabs %}

### name

* Type: `String`
* **Required**
* An internal parameter name. This is the key to access the value in the resulting object.
* Can contain arbitrary characters.
* **Avoid** setting it to any of the [Make reserved words](#undefined).

### label

* Type: `String`
* What the user sees in the UI instead of the parameter name.

### help

* Type: `String`
* A more detailed description about the parameter and/or how to use it. Used when the label alone is insufficient.

### type

* Type: `String`
* **Required**
* Type of the parameter. Each type has its own documentation page.
* Always enter types in lowercase.
* Available types of parameters are:
  * [Array](https://developers.make.com/custom-apps-documentation/block-elements/parameters/array) - An array of items of the same type
  * [Boolean](https://developers.make.com/custom-apps-documentation/block-elements/parameters/boolean) - A `true` or `false` value
  * [Buffer](https://developers.make.com/custom-apps-documentation/block-elements/parameters/buffer) - A binary buffer (file data)
  * [Cert](https://developers.make.com/custom-apps-documentation/block-elements/parameters/cert) - A certificate in PEM format
  * [Collection](https://developers.make.com/custom-apps-documentation/block-elements/parameters/collection) - An object with `key: value` pairs
  * [Color](https://developers.make.com/custom-apps-documentation/block-elements/parameters/color) - Hexadecimal color input
  * [Date](https://developers.make.com/custom-apps-documentation/block-elements/parameters/date) - Date or date with time (ISO 8601)
  * [Email](https://developers.make.com/custom-apps-documentation/block-elements/parameters/email) - Allows only a valid email address to be filled in
  * [File](https://developers.make.com/custom-apps-documentation/block-elements/parameters/folder-file) - A file selection for use with RPCs
  * [Filename](https://developers.make.com/custom-apps-documentation/block-elements/parameters/filename) - A file name with extension
  * [Filter](https://developers.make.com/custom-apps-documentation/block-elements/parameters/filter) - An advanced parameter used for filtering
  * [Folder](https://developers.make.com/custom-apps-documentation/block-elements/parameters/folder-file) - A folder selection for use with RPCs
  * [Hidden](https://developers.make.com/custom-apps-documentation/block-elements/parameters/hidden) - A parameter that is hidden from the user
  * [Integer](https://developers.make.com/custom-apps-documentation/block-elements/parameters/integer-uinteger) - A whole number
  * [JSON](https://developers.make.com/custom-apps-documentation/block-elements/parameters/json) - A valid JSON string
  * [Number](https://developers.make.com/custom-apps-documentation/block-elements/parameters/number) - A number that can include a decimal or fractional parts
  * [Password](https://developers.make.com/custom-apps-documentation/block-elements/parameters/password) - Marks passwords and secrets when creating a connection to avoid exposing them
  * [Path](https://developers.make.com/custom-apps-documentation/block-elements/parameters/path) - A path to a file or a folder
  * [Pkey](https://developers.make.com/custom-apps-documentation/block-elements/parameters/pkey) - A private key in PEM format
  * [Port](https://developers.make.com/custom-apps-documentation/block-elements/parameters/port) - A whole number in the range from 1 to 65535
  * [Select](https://developers.make.com/custom-apps-documentation/block-elements/parameters/select) - A selection from predefined values (dropdown or checkboxes)
  * [Text](https://developers.make.com/custom-apps-documentation/block-elements/parameters/text) - A plain text value
  * [Time](https://developers.make.com/custom-apps-documentation/block-elements/parameters/time) - Time in `hh:mm` format
  * [Timestamp](https://developers.make.com/custom-apps-documentation/block-elements/parameters/timestamp) - A timestamp in Unix epoch format (number of second since 01/01/1970 00:00:00 UTC)
  * [Timezone](https://developers.make.com/custom-apps-documentation/block-elements/parameters/timezone) - A time zone name in IANA ID format (e.g. Europe/Prague)
  * [Uinteger](https://developers.make.com/custom-apps-documentation/block-elements/parameters/integer-uinteger) - A positive whole number, 0 and above
  * [URL](https://developers.make.com/custom-apps-documentation/block-elements/parameters/url) - A URL address
  * [UUID](https://developers.make.com/custom-apps-documentation/block-elements/parameters/uuid) - UUID

### mappable

* Type: `Boolean`
* Default: `true`
* Specifies if the user can map a value to the field by inputting a value from another module, manually typing it, or using functions. When set to `false`, the user can only select a value instead. Used for types such as `select` or `boolean`.

### editable

{% hint style="info" %}
This property should only be used in Connection parameters. For module parameters, use `mappable` instead.
{% endhint %}

* Type: `Boolean`
* Default: `false`
* Specifies if the parameter is editable. Use this property to set parameters that should be possible to change when users want to update a connection.

### required

* Type: `Boolean`
* Default: `false`
* Specifies if the parameter is required. The module will show an error when the user tries to save it without providing all the required parameters.

### default

* Type: `The same type as the parameter`
* Specifies the default value of the parameter.

### advanced

* Type: `Boolean`
* Default: `false`
* Specifies if the parameter is advanced or not. Advanced parameters are hidden by default and can be shown by selecting a checkbox in the module UI. Advanced parameters should be put at the end of the list, for better UX.

## Advanced Settings

### disabled

* Type: `Boolean`
* Default: `false`
* If set to `true`, the field is disabled by default.

### rpc

* Type: `Object`
* Adds an extra button to the field which opens an extra form. When the form is submitted, a specified RPC is called and the result is set as a new value of the parameter. When the RPC outputs an array, the options are shown to the user so they can pick which one to map.

Available parameters:

<table><thead><tr><th width="167" valign="top">Parameter</th><th width="105" valign="top">Type</th><th valign="top">Specification</th></tr></thead><tbody><tr><td valign="top"><code>label</code></td><td valign="top">string</td><td valign="top">The text which is displayed on the button.</td></tr><tr><td valign="top"><code>url</code></td><td valign="top">string</td><td valign="top">The URL of the RPC to be called. <code>rpc://myRpcName</code></td></tr><tr><td valign="top"><code>parameters</code></td><td valign="top">array</td><td valign="top">An array of parameters for the RPC form. Uses regular parameters syntax.</td></tr></tbody></table>

### semantic

* Type: `String`
* Specification of a semantic type
* Formatted as `type`:`meaning` . Commonly used values: `file:data` and `file:name`, to enable easy mapping of files.
