> 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/flow/iteration.md).

# Iteración

Ejecuta un paso varias veces sobre una lista de objetos

## ¿Cómo funciona el paso de iteración?

El paso de iteración ejecuta el/los mismo(s) paso(s) sobre cada entrada dentro de una lista. El único requisito previo para usar un paso de iteración es asegurarse de que tus valores de entrada ya se hayan formateado en un objeto de lista.

<figure><img src="https://3036434873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX2n5yPRPynbnWuO4SH0M%2Fuploads%2Fgit-blob-f5cd41deb71c58a0a24a9b8fb83816aafcbcc13b%2FCleanShot%202025-05-22%20at%2008.22.37%402x.png?alt=media" alt=""><figcaption></figcaption></figure>

## ¿Qué es una lista?

Una lista es un tipo de dato específico con elementos separados por comas que comienza con `[` y termina con `]` . Por ejemplo:

**Una lista de números:**

```
[1,2,3,4,5]
```

**Una lista de cadenas:**

```
["sales", "marketing", "finance"]
```

**Una lista de objetos JSON:**

```
[
  {
    "link": "https://openai.com/",
    "title": "OpenAI",
    "source": "OpenAI"
  },
  {
    "link": "https://www.youtube.com/@OpenAI",
    "title": "OpenAI",
    "source": "YouTube"
  },
  {
    "link": "https://en.wikipedia.org/wiki/OpenAI",
    "title": "OpenAI",
    "source": "Wikipedia"
  }
]
```

## ¿Cómo creo una lista?

Las listas pueden generarse de varias maneras diferentes, incluso mediante un paso de LLM, un paso de código, Google Search o un paso de API. En última instancia, depende de lo que funcione mejor para tu caso de uso, y hemos proporcionado algunos ejemplos a continuación para ayudar.

### Creación de una lista mediante un paso de LLM

Como nuestros pasos de LLM te permiten ajustar la instrucción hasta que hayas logrado el resultado deseado, basta con especificar el formato de lista dentro de tu instrucción.

Recorramos un ejemplo de flujo de trabajo que toma el nombre de un país como entrada y devuelve las 5 principales ciudades de ese país. Ajustaremos el flujo de trabajo existente para devolver esas 5 principales ciudades en formato de lista:

### Creación de una lista mediante un paso de código

Como nuestro [Paso de código](/docs/es/acciones/workflow-concepts/workflow-steps/logic-steps/code.md) te permite utilizar tanto Javascript como Python, puedes codificar de forma fija tu sentencia de retorno para que coincida con el formato de lista deseado, por ejemplo,

```javascript
return(["San Francisco", "Nueva York", "Miami"]);
```

### Generación de una lista mediante un paso de Google Search

Nuestro paso de Google Search te permite seleccionar el formato específico de tu búsqueda resultante:

<figure><img src="https://3036434873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX2n5yPRPynbnWuO4SH0M%2Fuploads%2Fgit-blob-960126f632ad0e9b8d74fb78ce90516cc1f41631%2FCleanShot%202025-05-22%20at%2008.24.27%402x.png?alt=media" alt=""><figcaption></figcaption></figure>

La salida resultante del paso de Google Search tendrá este formato:

```javascript
// Salida del paso de Google Search con solo enlaces
[
  "https://www.mckinsey.com/featured-insights/mckinsey-explainers/what-is-prompt-engineering",
  "https://www.zdnet.com/article/six-skills-you-need-to-become-an-ai-prompt-engineer/",
  "https://www.techtarget.com/searchenterpriseai/definition/AI-prompt-engineer",
  "https://en.wikipedia.org/wiki/Prompt_engineering",
  "https://www.datacamp.com/blog/what-is-prompt-engineering-the-future-of-ai-communication",
  "https://www.iit.edu/blog/unlock-career-opportunities-ai-how-become-ai-prompt-engineer",
  "https://aws.amazon.com/what-is/prompt-engineering/",
  "https://hbr.org/2023/06/ai-prompt-engineering-isnt-the-future",
  "https://time.com/6272103/ai-prompt-engineer-job/",
  "https://www.promptingguide.ai/"
]
```

## ¿Qué son el elemento y el índice del elemento?

Un elemento es el objeto/valor real (por ejemplo, cadena, número u objeto) en tu lista.

El índice del elemento es la posición del elemento dentro de la lista, comenzando con el primer elemento en el índice 0.

<figure><img src="https://3036434873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX2n5yPRPynbnWuO4SH0M%2Fuploads%2Fgit-blob-4408acba06b3cfdc596cb2ce5d449db605384407%2Fiteration_step_3.png?alt=media" alt=""><figcaption></figcaption></figure>

## ¿Cómo hago referencia al elemento?

Puedes hacer referencia al elemento haciendo clic en la píldora `step_x.element` dentro de tu paso de iteración:

<figure><img src="https://3036434873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX2n5yPRPynbnWuO4SH0M%2Fuploads%2Fgit-blob-d2913c27c7511d6820930e2a6b233c1c3b824c24%2FCleanShot%202025-05-22%20at%2008.28.05%402x.png?alt=media" alt=""><figcaption></figcaption></figure>

En el ejemplo anterior, el paso de LLM se ejecutará 3 veces, y el `{{step_1.element}]` será reemplazado por `ventas` , `marketing` , y `finanzas` así:

* `Dame 3 personas del departamento de ventas`
* `Dame 3 personas del departamento de marketing`
* `Dame 3 personas del departamento de finanzas`

## ¿Es obligatorio el índice del elemento?

El índice del elemento es opcional, pero puede utilizarse para realizar lógica potente.

Por ejemplo, en el caso de nuestro redactor de blogs SEO, usamos el `element_index` para ayudarnos a escribir nuestras introducciones. Como nuestro objetivo es que el redactor *solo escriba en la primera sección* del blog, el índice del elemento es útil para aplicar el paso solo en ese párrafo.

Entonces, añadimos un [**Condicional** **Paso**](/docs/es/acciones/workflow-concepts/workflow-steps/flow/conditional.md) con:

* `step_x.element_index == 0`

lo que nos permite usar un paso de LLM separado con la introducción solo para la primera sección del blog.

## ¿Cómo se ve la salida?

El paso de iteración también generará una lista.

La salida de cada iteración se añadirá a la lista en el mismo orden de la entrada.

## ¿Cómo convierto la lista en texto?

Puedes volver a convertir el arreglo en texto con un simple **Texto** paso que utiliza Liquid:

```liquid
// Replace step_x.output

{% for chunk in step_x.output %}
{{chunk}}
{% endfor %}
```


---

# 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/flow/iteration.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.
