---
title: Operações com lista
description: Filtre, ordene, limite e extraia itens de listas dentro do seu fluxo.
---

# Operações com lista  ·  `list_operator`

<NoCard kind="list_operator" categoria="Dados" />

<Secao icon="info">Para que serve</Secao>

Imagina que você tem uma caixa com 50 fichas de clientes e precisa encontrar só as que têm mais de R$ 1.000 em débito, ordenadas pela data mais recente, pegando só as 5 primeiras. O Operações com lista faz isso com as listas do seu fluxo: recebe uma lista de itens e aplica filtros, ordenação, limite ou extração — devolvendo exatamente o que você precisa.

<Secao icon="clock">Quando usar</Secao>

- Filtrar resultados de uma API (ex.: mostrar só produtos com estoque disponível)
- Pegar os N primeiros ou últimos itens de uma lista
- Ordenar uma lista por data, valor ou qualquer campo
- Extrair um único item específico de uma coleção
- Limitar o tamanho de uma lista antes de passar para um nó de iteração

---

<Secao icon="list-checks">Passo a passo</Secao>

<Passos>
  <Passo>Certifique-se de ter uma lista disponível no fluxo — vinda de um nó Requisição HTTP, Buscar dados externos ou de uma variável.</Passo>
  <Passo>Arraste o nó **Operações com lista** para o canvas e conecte à fonte da lista.</Passo>
  <Passo>Informe a **Variável de entrada** que contém a lista.</Passo>
  <Passo>Configure as operações que quer aplicar (filtragem, ordenação, limite, extração).</Passo>
  <Passo>Salve. A saída processada fica em <code v-pre>{{list_operator.result}}</code>.</Passo>
</Passos>

---

## Operações disponíveis

### Filtrar

Mantém só os itens que atendem a uma condição.

| Campo | O que preencher |
|-------|----------------|
| **Campo** | Qual propriedade do item verificar (ex.: `status`) |
| **Operador** | igual a / diferente de / contém / maior que / menor que |
| **Valor** | O valor para comparar (pode usar variáveis <code v-pre>{{ }}</code>) |

### Ordenar

Reorganiza os itens da lista.

| Campo | O que preencher |
|-------|----------------|
| **Campo** | Propriedade usada para ordenar (ex.: `data_criacao`) |
| **Direção** | Crescente (A→Z, 0→9) ou Decrescente (Z→A, 9→0) |

### Limitar

Corta a lista para N itens.

| Campo | O que preencher |
|-------|----------------|
| **Máximo de itens** | Número inteiro — quantos itens manter |

### Extrair item

Pega um único item da lista pelo índice.

| Campo | O que preencher |
|-------|----------------|
| **Índice** | Posição do item (0 = primeiro, 1 = segundo, -1 = último) |

---

<Secao icon="circle-check">Exemplo</Secao>

Cenário: você recebe uma lista de agendamentos do sistema e quer mostrar ao cliente os 3 próximos.

1. **Filtrar**: `status` igual a `confirmado`
2. **Ordenar**: por `data_hora` crescente
3. **Limitar**: máximo 3 itens

A lista resultante vai para um nó de Template que monta a mensagem com os 3 horários disponíveis.

<Dica>

Você pode encadear múltiplas operações no mesmo nó — primeiro filtra, depois ordena, depois limita. A ordem de execução segue a sequência em que as operações aparecem no painel.

</Dica>

<Cuidado>

Se a lista de entrada estiver vazia, o nó retorna uma lista vazia sem erro. Coloque um nó **Se/Senão (condição)** depois para verificar se <code v-pre>{{list_operator.result}}</code> tem pelo menos um item antes de continuar o fluxo.

</Cuidado>

<Dica>

Padrão comum: filtrar uma lista e, em seguida, decidir o caminho do fluxo conforme o resultado — veja a receita [Filtrar uma lista antes do SE/SENÃO](/guia/flow-builder/logica/if-else#receita-filtrar-uma-lista-antes-do-se-senao) na página do nó Se/Senão (condição).

</Dica>

---

## Saiba mais

- [Se / Senão (condição)](/guia/flow-builder/logica/if-else) — decida o caminho do fluxo com base no resultado da lista
