# Stream Variable Store

Store variables are the third kind of variables which can be used within Helmut4.\
Beside the [Helmut Variables](https://docs.helmut.de/helmut4-releases/v4.7.0/helmut4-components/helmutfx/preferences/helmut-variables) and the [Temporary Stream Variables](https://docs.helmut.de/helmut4-releases/v4.7.0/helmut4-components/streamdesigner/nodes/actions/misc/stream-set-temporary-variable-action), Store Variables offer more flexibility towards creation, modification and deletion.

As temporary variables can only be created and used in a stream (they can be passed on to another stream by using [Stream Execute Generic Stream Action](https://docs.helmut.de/helmut4-releases/v4.7.0/helmut4-components/streamdesigner/nodes/actions/misc/stream-execute-generic-stream-action) or [Job Create Job Action](https://docs.helmut.de/helmut4-releases/v4.7.0/helmut4-components/streamdesigner/nodes/actions/job-action/job-create-job-action)), Helmut Variables can be used in any stream or path input fields (expect Watchfolder paths).

## Access Variable Store

The variable store can only be access from within a any stream. Simply click the "Variables" icon in the top menu bar, which will open the Variable Store as an overlay.

<figure><img src="https://967744423-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFbUsR0ZkwLkIQt5Asw0b%2Fuploads%2F6T4nl6TKCAnWaImAZk7c%2Fimage.png?alt=media&#x26;token=1c3594d1-2263-46a1-b54f-4458ff0619aa" alt=""><figcaption><p>Open Store Variable within Stream</p></figcaption></figure>

The Variable Store is showing all existing store variables, it will always show a pack of 25 variables. Navigating to the next page can be done using the bottom menu. Variables are listed ascending from their creation date.

<figure><img src="https://967744423-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFbUsR0ZkwLkIQt5Asw0b%2Fuploads%2FGJG26cFrV0dbL3Mfx1IV%2Fimage.png?alt=media&#x26;token=70530bba-86cf-45d0-abad-de1b706453e9" alt="" width="563"><figcaption><p>(Store) Variable Store</p></figcaption></figure>

### Creating a new store variable

There are two options to create a store variable.

1. Using the [Stream Set Store Variable Action](https://docs.helmut.de/helmut4-releases/v4.7.0/helmut4-components/streamdesigner/nodes/actions/misc/stream-set-store-variable-action)
2. Creating them within the Variable Store

To create a new one, simply click the **+ New** button in the top right of the Variable Store. This will open a new overlay.

<figure><img src="https://967744423-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFbUsR0ZkwLkIQt5Asw0b%2Fuploads%2FGrEP0Nth3xngLDOv1kE2%2Fimage.png?alt=media&#x26;token=ec03a289-961f-4a74-a9ce-1a3d6ef04f6c" alt="" width="375"><figcaption><p>Modify Store Variable</p></figcaption></figure>

The new windows will provide a mask with three input parameters which need to be defined.

* **Key**
  * Name of the store variable
  * Only alphanumeric characters are allowed:  a-z A-Z 0-9\
    as well as hyphen (-) and underscore (\_)
  * This regex can be considered for all allowed characters \[^a-zA-Z0-9\_-]+
  * Max length: 255<br>
* **Value**
  * Value/content of the store variable
  * There are no limitations towards unsupported characters
  * Max length: 1 million characters (1.000.000)<br>
* **Protected**
  * If the switch is activated/protected, the store variable can't be changed when using the [Stream Set Store Variable Action](https://docs.helmut.de/helmut4-releases/v4.7.0/helmut4-components/streamdesigner/nodes/actions/misc/stream-set-store-variable-action)

<figure><img src="https://967744423-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFbUsR0ZkwLkIQt5Asw0b%2Fuploads%2FjAuMEpxaPNRXilqmKWun%2Fimage.png?alt=media&#x26;token=41d10d13-02e0-4883-be20-e30cd7d1ba28" alt=""><figcaption><p>Trying to change a protected store variable</p></figcaption></figure>
