# String property definition

Information noteSTABLE.   
  
This API is reliable and breaking changes are unlikely.

## Fields

The string definition property template can be used to add a custom property of string type. When defining a string property, the following fields can be used:

### type

This field is mandatory and should always be "string" for a string property type definition.

### label

Used for defining the label that is displayed in the property panel.

### ref

Name or ID used to reference a property.

### defaultValue

Used for defining the default value of your custom property.

### expression

Used for defining if values starting with = will be treated as expressions which are evaluated by the Qlik associative engine. Can be either "always", "optional" or "" (empty).

* "always": the property will always be evaluated as an expression meaning that the property will be the value of for example "Avg(Sales)".
* "optional": the property will only be evaluated as an expression if a = sign is leading the expression. For example "Avg(Sales)" will be presented as the string "Avg(Sales)" while "=Avg(Sales)" will be evaluated as an expression and presented as either 5 or "5" depending on if it is used in a Number/Integer component or in a String component.
* "": If the setting is left empty or not defined at all, the property will not be evaluated as an expression meaning that the property will be the string "Avg(Sales)".

### show

Function returning true if property should be displayed.

### maxlength

The maximum number of characters the string can consist of.

## Examples

Defining a custom property of string type can look like below.

Example: Add custom string property to Appearance accordion

Information noteCustomization of properties always start with items:.

```
	return {
		type: "items",
		component: "accordion",
		items: {
			settings: {
				uses: "settings",
				items: {
					MyStringProp: {
						ref: "title",
						label: "My string property",
						type: "string",
						defaultValue: "MyNewExtension"
					}
				}
			}
```

This is what it looks like in the property panel

![An interface titled "MyNewExtension" with the subtitle "Appearance". Under "Appearance", there are two hide and show buttons called "General" and "My string property". Under "My string property" there is a text box titled "My string property" with the text "MyNewExtension" inside of the text box.](https://help.qlik.com/en-US/sense-developer/November2025/Subsystems/APIs/Content/Resources/Images/ex_ExtensionPropertiesCustomStringProp.png)

You can also define a new accordion item as a string property

Example: Add custom string property as a new accordion item

```
	return {
		type: "items",
		component: "accordion",
		items: {
			MyAccordion: {
				type: "string",
				label: "Description",
				ref: "description",
				defaultValue: "This is my description"
			}
```

![An interface titled "MyNewExtension" with the subtitle "Description". Under "Description" there is a text box with the title "Description". In the text box are the words "This is my description".](https://help.qlik.com/en-US/sense-developer/November2025/Subsystems/APIs/Content/Resources/Images/ex_ExtensionPropertiesCustomStringProp2.png)