> For the complete documentation index, see [llms.txt](https://docs.airops.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.airops.com/docs/es/acciones/workflow-concepts/workflow-steps/memory-steps/write-to-grid.md).

# Añadir filas en Grid

Añade o actualiza filas en un Grid desde tu flujo de trabajo

El paso Agregar fila(s) en Grid te permite crear nuevas filas o actualizar filas existentes en cualquier Grid desde tu flujo de trabajo. Usa este paso cuando necesites escribir datos en un Grid diferente o agregar nuevas filas más allá de la fila actual donde se está ejecutando tu flujo de trabajo.

{% hint style="info" %}
Si quieres asignar las salidas del flujo de trabajo a columnas en la misma fila donde se está ejecutando tu flujo de trabajo, no necesitas este paso. Usa un paso de JSON al final de tu flujo de trabajo y asigna las salidas como columnas en la interfaz de Grid.
{% endhint %}

## Cómo configurar

### 1. Seleccionar Grid y hoja

Elige el Grid y la hoja de destino donde quieres escribir los datos. Ambos campos admiten selección Estática o Dinámica:

* **Estático**: Selecciona desde un menú desplegable de Grids/Hojas disponibles
* **Dinámico**: Haz referencia a una variable que contenga el ID del Grid o de la hoja

### 2. Elige un tipo de acción

Selecciona uno de cuatro tipos de acción según tus necesidades:

| Tipo de acción               | Descripción                                                  |
| ---------------------------- | ------------------------------------------------------------ |
| **Agregar una sola fila**    | Crear una nueva fila a partir de un único objeto JSON        |
| **Agregar varias filas**     | Crear varias filas nuevas a partir de un arreglo de objetos  |
| **Actualizar una sola fila** | Actualizar una fila existente usando su `__id`               |
| **Actualizar varias filas**  | Actualizar varias filas existentes usando sus `__id` valores |

### 3. Proporciona la variable de datos

Selecciona una variable que contenga los datos de tus filas:

**Para acciones de una sola fila**, proporciona un objeto:

```json
{
  "title": "Guía definitiva para la construcción de enlaces",
  "backlinks": "150"
}
```

**Para acciones de varias filas**, proporciona un arreglo de objetos:

```json
[
  {
    "title": "Guía definitiva para la construcción de enlaces",
    "backlinks": "150"
  },
  {
    "title": "Mejores prácticas de SEO",
    "backlinks": "89"
  }
]
```

### 4. Asigna las claves de los objetos a las columnas del Grid

Usa la interfaz de asignación de columnas para conectar tus claves JSON con las columnas existentes del Grid. Haz clic en **Agregar asignación de columna** y especifica:

* **Clave**: El nombre de la clave de tu objeto JSON
* **Columna**: La columna de destino en tu Grid

### 5. Configura el comportamiento ante fallos

Elige qué sucede si el paso falla:

* **Terminar flujo de trabajo**: Detener la ejecución del flujo de trabajo
* **Continuar**: Continuar con el siguiente paso a pesar del error

## Actualización de filas existentes

Al usar **Actualizar una sola fila** o **Actualizar varias filas**, tus datos deben incluir el `__id` campo para identificar qué filas actualizar. Este campo se incluye automáticamente cuando lees filas usando el paso Leer desde Grid.

### Ejemplo: Leer, modificar y actualizar

**Paso 1**: Usa Leer desde Grid para obtener las filas existentes con sus `__id` valores:

```json
[
  {
    "__id": "123",
    "title": "Borrador de entrada de blog",
    "status": "Borrador"
  },
  {
    "__id": "456",
    "title": "Guía de SEO",
    "status": "En revisión"
  }
]
```

**Paso 2**: Transforma los datos en un paso de Código mientras conservas el `__id`:

```javascript
const rows = steps.read_grid.output;
return rows.map(row => ({
  __id: row.__id,
  status: "Publicado",
  published_date: new Date().toISOString()
}));
```

**Paso 3**: Usa Agregar fila(s) en Grid con **Actualizar varias filas** para escribir los cambios de vuelta.

### Comportamiento de actualización

* Cada objeto debe incluir un `__id` que coincida con una fila existente
* Solo se actualizarán las columnas que incluyas; las demás columnas permanecerán sin cambios
* Las filas con `__id` valores que no coincidan se omitirán
* No necesitas asignar `__id` en la sección de asignación de columnas

## Cuándo usar este paso

**Usa Agregar fila(s) en Grid cuando:**

* Crear nuevas filas en un Grid separado
* Agregar varias filas generadas a partir de una sola ejecución del flujo de trabajo
* Actualizar filas existentes en cualquier Grid

**Usa un paso de JSON en su lugar cuando:**

* Asignar salidas a columnas en la fila actual del Grid
* Organizar varias salidas en un formato estructurado para la misma fila


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.airops.com/docs/es/acciones/workflow-concepts/workflow-steps/memory-steps/write-to-grid.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
