> For the complete documentation index, see [llms.txt](https://docs.gaiodataos.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gaiodataos.com/tools/tasks/etl/update.md).

# Update

<figure><img src="/files/EboLkTVWKf9C4AaDpUQq" alt=""><figcaption></figcaption></figure>

The **Update** task in **Gaio DataOS** allows you to modify existing records in a table based on custom filter conditions. This is ideal for correcting data, applying transformation rules, or dynamically synchronizing values during ETL flows.

{% hint style="warning" %}
&#x20;**Important:** This task can only be used when a table is selected in the flow. Be sure to add and connect a Table before configuring the update.
{% endhint %}

***

## &#x20;How to Use

### **1. Insert and Select a Table Block**

* Add a **Table** to your flow and choose the dataset you want to work with.
* The Update task will only become available once a table is selected.

***

### **2. Open the Update Task**

* In the left-hand menu, go to:\
  **Tasks > ETL > Update**

***

### **3. Configure Basic Info**

* **Task label**: (optional) Add a name for the task to identify it in your flow.
* **Table**: The table should be automatically linked from your selected block (e.g., `new_sales`).

***

### **4. Select Columns to Update**

* In the **Columns** section, choose the fields you want to update.
* For each selected column, define:

**Type:** Defines how the new value will be set:

* `Value`: Static input
* `Parameter`: Uses a predefined variable
* `Computed`: Accepts formulas (e.g., `now()`, `1 + 1`) |

**Value:** Enter the new value or expression

***

### **5. Set Filter Conditions**

* In the **Filters** section, specify which records should be updated.
* For each filter:

| Field        | Description                                         |
| ------------ | --------------------------------------------------- |
| **Column**   | Select the column to filter by                      |
| **Type**     | Input type (e.g., `Value`, `Parameter`)             |
| **Operator** | Comparison logic (e.g., `Equal to`, `Greater than`) |
| **Value**    | The value to match                                  |

Example:\
Update the `order_date` only where `order_id = 1001`.

{% hint style="warning" %}
**Important:** If there are no filters, all rows in the table will be updated.
{% endhint %}

***

### **6. Execute or Save**

* **Run**: Immediately executes the update (one-time).
* **Save**: Saves the configuration to your data flow.
* **Save and Run**: Saves and executes the update at once.

***

#### Use Cases

* Correct outdated or incorrect values
* Apply standardization rules (e.g., replace empty values)
* Use dynamic inputs via parameters
* Update timestamps or statuses during automated flows
