# Storage

ZBrain Flow Storage is a scalable key/value storage service enabling users to store and retrieve data quickly. It provides fast, reliable data access, making it ideal for real-time applications, caching, and dynamic data management in enterprise AI workflows.

To integrate Storage with ZBrain Flow, follow these detailed steps:

* Click the '+' button in the Flow and search for **Storage** in the ZBrain Flow.
* Select the specific task from the list you want to include in the Flow. You can perform the below listed tasks:
  * **Add To List**: Add an item to a list in storage.
  * **Append**: Append a value to an existing value in storage.
  * **Get**: Retrieve a value from storage.
  * **Put**: Store a value in storage.
  * **Remove**: Remove a value from storage.
  * **Remove from List**: Remove an item from a list in storage.

### **Add To List** <a href="#add-to-list" id="add-to-list"></a>

Add an item to a list in storage.

#### **How to Configure** **Add To List** **to ZBrain Flow?** <a href="#how-to-configure-add-to-list-to-zbrain-flow" id="how-to-configure-add-to-list-to-zbrain-flow"></a>

* Provide the key parameter in the **Key** textbox. This identifier is used to retrieve a specific item from the key-value store.
* Provide the corresponding value for the key parameter in the **Value** field. It represents the data item you want to append to the existing list associated with the specified key. Essentially, it’s the content you add to that list within the key-value store.
* Select the storage scope of the value from the **Store Scope** drop-down. It defines where the data is stored (e.g., project scope). “Project” means the stored data is accessible throughout the entire project.

### **Append** <a href="#append" id="append"></a>

Append a value to an existing value in storage.

#### **How to Configure** **Append** **to ZBrain Flow?** <a href="#how-to-configure-append-to-zbrain-flow" id="how-to-configure-append-to-zbrain-flow"></a>

* This identifier is used to retrieve a specific item from the key-value store.
* Provide the corresponding value for the key parameter in the **Value** field. It represents the data item you want to append to the existing list associated with the specified key. Essentially, it’s the content you add to that list within the key-value store.
* Provide the separator between added values in the **Separator** field. Use \n for newlines.
* Select the storage scope of the value from the **Store Scope** drop-down. It defines where the data is stored (e.g., project scope). “Project” means the stored data is accessible throughout the entire project.

### **Get** <a href="#get" id="get"></a>

Retrieve a value from storage.

#### **How to Configure** **Get to ZBrain Flow?** <a href="#how-to-configure-get-to-zbrain-flow" id="how-to-configure-get-to-zbrain-flow"></a>

* Provide the key parameter in the **Key** textbox. This is the identifier used to retrieve a specific item from the key-value store.
* The system uses the **Default Value** provided in this field if the key does not exist.
* If the **Default Value** is left empty and the key is not found, the module might return an error or an empty response.
* Select the storage scope of the value from the **Store Scope** drop-down. It defines where the data is stored (e.g., project scope). “Project” means the stored data is accessible throughout the entire project.

### **Put** <a href="#put" id="put"></a>

Store a value in storage.

#### **How to Configure** **Put to ZBrain Flow?** <a href="#how-to-configure-put-to-zbrain-flow" id="how-to-configure-put-to-zbrain-flow"></a>

* Provide the key parameter in the **Key** textbox. This is the identifier used to retrieve a specific item from the key-value store.
* Provide the corresponding value for the key parameter in the **Value** field. It represents the data item you want to append to the existing list associated with the specified key. Essentially, it’s the content you add to that list within the key-value store.
* Select the storage scope of the value from the **Store Scope** drop-down. It defines where the data is stored (e.g., project scope). “Project” means the stored data is accessible throughout the entire project.

### **Remove** <a href="#remove" id="remove"></a>

Remove a value from storage.

#### **How to Configure** **Remove to ZBrain Flow?** <a href="#how-to-configure-remove-to-zbrain-flow" id="how-to-configure-remove-to-zbrain-flow"></a>

* Provide the key parameter in the **Key** textbox. This is the identifier used to retrieve a specific item from the key-value store.
* Select the storage scope of the value from the **Store Scope** drop-down. It defines where the data is stored (e.g., project scope). “Project” means the stored data is accessible throughout the entire project.

### **Remove from List** <a href="#remove-from-list" id="remove-from-list"></a>

Remove an item from a list in storage.

#### **How to Configure** **Remove from List to ZBrain Flow?** <a href="#how-to-configure-remove-from-list-to-zbrain-flow" id="how-to-configure-remove-from-list-to-zbrain-flow"></a>

* Provide the key parameter in the **Key** textbox. This is the identifier used to retrieve a specific item from the key-value store.
* Select the storage scope of the value from the **Store Scope** drop-down. It defines where the data is stored (e.g., project scope). “Project” means the stored data is accessible throughout the entire project.
