# Remove

### Overview

The **Remove Storage Component** deletes a specified key-value pair from storage, ensuring the removal of outdated or unnecessary data.

### Usage

This component is used to remove a specific item from a storage location using a given key.

#### Input Ports

| Port | Description                              |
| ---- | ---------------------------------------- |
| `in` | Receives the key to remove from storage. |

#### Output Ports

| Port      | Description                                                         |
| --------- | ------------------------------------------------------------------- |
| `removed` | Emits details of the removed item, including its key and old value. |

#### Properties

| Property  | Type     | Description                                                 |
| --------- | -------- | ----------------------------------------------------------- |
| `storeId` | `string` | The ID of the storage space where the item will be removed. |

#### Processing Logic

1. **Receives Key**: Accepts a key identifying the item to remove.
2. **Removes from Storage**: Deletes the key-value pair from the specified `storeId`.
3. **Returns Confirmation**:
   * If the key exists, outputs the removed key and its old value.
   * If the key does not exist, the component does not output any data.

#### Output Data Schema

| Property   | Type     | Description                             |
| ---------- | -------- | --------------------------------------- |
| `key`      | `string` | The key of the removed item.            |
| `oldValue` | `string` | The previous value of the removed item. |

### Notes

* **Selective Deletion**: Ensures only specified keys are removed.
* **Efficient Storage Management**: Helps maintain clean and optimized storage.
* **Supports Automation**: Useful for workflows where data needs to be dynamically deleted.

This component is ideal for workflows that require selective removal of stored data based on specific keys.
