Parameters are one of the two main components of a custom script. They are the variables that make it easier to interact with the script, select preferences, and more. Although they are very common in scripts, they are optional.
**name**: This is a required property. Parameters always start with the dollar sign symbol, e.g. $newObjectiveName.
**label**: This is a required property. It is what the user running the script will see for the parameter name, e.g. New Objective Name.
**description**: This will be the text displayed underneath the label that provides additional information to the user, e.g. Type the name of the objective here.
**type**: This is a required property. It determines what the user can put into the parameter field.
- text: You can type text into this field
- select: You can select one object.
- multiselect: You can select multiple objects
- checkbox: A box where you can mark a value as true or false
**object**: This is a required property for the select and multiselect type. It is used to reference objects in ClearPoint. Examples of objects include ‘measure’ and ‘periodGroup’. More examples of objects can be found on the [ClearPoint API documentation](https://support.clearpointstrategy.com/en/articles/8650000-automation-integration-access-the-api-getting-and-using-clearpoint-api-keys).
**default**: This is an optional property. It can be used to preset a value in the parameter field.