# Obter Todos

A operação Obter Todas as Pessoas recupera uma lista de pessoas da sua base de contatos. Por padrão, a lista é paginada para garantir um bom desempenho, mesmo com um grande volume de dados.

Esta ação é extremamente versátil, pois permite a aplicação de diversos filtros para segmentar a busca, como buscar por pessoas criadas em um determinado período, com um status específico, associadas a uma organização, entre muitas outras opções.

O resultado é uma coleção (array) de objetos, onde cada objeto representa uma pessoa que atende aos critérios de busca.

#### Como Configurar

1. No Hablla Studio, adicione o bloco "Pessoas" ao seu fluxo de automação.
2. No campo "Operação", selecione a opção "Obter Todos".
3. Opcionalmente, clique em "Adicionar Filtro" para especificar os parâmetros de busca e refinar seus resultados.

***

### Filtros Disponíveis

Você pode combinar os filtros abaixo para criar consultas precisas.

| Filtro                   | Tipo            | Descrição                                                                                         |
| ------------------------ | --------------- | ------------------------------------------------------------------------------------------------- |
| Página (`page`)          | Número          | O número da página de resultados que você deseja obter. O padrão é 1.                             |
| Limite (`limit`)         | Número          | A quantidade máxima de pessoas a serem retornadas por página.                                     |
| Ordenar por (`order`)    | Lista de Opções | Campo pelo qual os resultados serão ordenados. Opções: `created_at`, `updated_at`, `name`.        |
| Direção da Ordem         | Lista de Opções | Define a direção da ordenação. Opções: `asc` (ascendente) ou `desc` (descendente).                |
| Data de Início           | Data/Hora       | Retorna pessoas criadas a partir desta data e hora.                                               |
| Data de Fim              | Data/Hora       | Retorna pessoas criadas até esta data e hora.                                                     |
| Nome                     | Texto           | Filtra pessoas por um nome específico.                                                            |
| E-mail                   | Texto           | Filtra pessoas por um endereço de e-mail específico.                                              |
| Telefone                 | Texto           | Filtra pessoas por um número de telefone específico.                                              |
| Busca (`search`)         | Texto           | Realiza uma busca geral por um termo em vários campos principais da pessoa.                       |
| Busca Completa           | Booleano        | Se `true`, realiza uma busca mais profunda e abrangente, o que pode levar mais tempo.             |
| Possui Chaves Duplicadas | Booleano        | Se `true`, retorna apenas pessoas que possuem identificadores duplicados (ex: mesmo e-mail).      |
| Está Bloqueado           | Booleano        | Filtra pessoas pelo seu status de bloqueio (`true` para bloqueadas, `false` para não bloqueadas). |
| Organização              | Lista de Opções | Filtra pessoas que pertencem a uma organização específica.                                        |
| Campos Personalizados    | Chave-Valor     | Filtra pessoas com base nos valores de seus campos personalizados.                                |

***

### Estrutura da Saída (Exemplo de Resultado)

A saída deste bloco será um objeto contendo a lista de pessoas e informações de paginação.

JSON

```
{
  "data": [
    {
      "id": "person_abcdef123456",
      "name": "Juliana Souza",
      "customer_status": "customer",
      "created_at": "2024-08-16T15:30:00Z",
      "emails": [{"email": "juliana.souza@example.com"}]
    },
    {
      "id": "person_ghijkl789012",
      "name": "Marcos Almeida",
      "customer_status": "lead",
      "created_at": "2024-08-15T11:20:00Z",
      "emails": [{"email": "marcos.a@example.com"}]
    }
  ],
  "pagination": {
    "total": 527,
    "page": 1,
    "limit": 2
  }
}
```

***

### 🚀 Exemplo de Caso de Uso

Objetivo: Gerar um relatório semanal com todos os novos leads qualificados e enviá-lo para uma planilha do Google Sheets.

1. Crie um fluxo com um gatilho agendado para ser executado toda segunda-feira às 9h.
2. Adicione o bloco "Pessoas" com a operação "Obter Todos".
3. Configure os seguintes filtros:
   * Data de Início: Use uma expressão para definir a data para 7 dias atrás.
   * Data de Fim: Use uma expressão para a data atual.
   * Status do Cliente: Selecione `sales_qualified_lead`.
4. Adicione um laço (`loop`) para iterar sobre a lista de pessoas retornada (`{{steps.2.result.data}}`).
5. Dentro do laço, adicione um bloco do Google Sheets com a ação "Adicionar Linha" e mapeie os dados de cada pessoa (nome, e-mail, telefone, etc.) para as colunas da sua planilha.

Com este fluxo, sua equipe de vendas receberá uma lista atualizada de leads qualificados no início de cada semana, de forma totalmente automática.
