# Obtener Todos

La operación Obtener Todas las Personas recupera una lista de personas de su base de contactos. Por defecto, la lista está paginada para garantizar un buen rendimiento, incluso con un gran volumen de datos.

Esta acción es extremadamente versátil, ya que permite la aplicación de diversos filtros para segmentar la búsqueda, como buscar personas creadas en un periodo determinado, con un estado específico, asociadas a una organización, entre muchas otras opciones.

El resultado es una colección (array) de objetos, donde cada objeto representa a una persona que cumple con los criterios de búsqueda.

#### Cómo Configurar

1. En Hablla Studio, agregue el bloque "Personas" a su flujo de automatización.
2. En el campo "Operación", seleccione la opción "Obtener Todos".
3. Opcionalmente, haga clic en "Agregar Filtro" para especificar los parámetros de búsqueda y refinar sus resultados.

***

### Filtros Disponibles

Puede combinar los filtros a continuación para crear consultas precisas.

| Filtro                  | Tipo              | Descripción                                                                                             |
| ----------------------- | ----------------- | ------------------------------------------------------------------------------------------------------- |
| Página (`page`)         | Número            | El número de la página de resultados que desea obtener. El valor predeterminado es 1.                   |
| Límite (`limit`)        | Número            | La cantidad máxima de personas que se devolverán por página.                                            |
| Ordenar por (`order`)   | Lista de Opciones | Campo por el cual se ordenarán los resultados. Opciones: `created_at`, `updated_at`, `name`.            |
| Dirección del Orden     | Lista de Opciones | Define la dirección del ordenamiento. Opciones: `asc` (ascendente) o `desc` (descendente).              |
| Fecha de Inicio         | Fecha/Hora        | Devuelve personas creadas a partir de esta fecha y hora.                                                |
| Fecha de Fin            | Fecha/Hora        | Devuelve personas creadas hasta esta fecha y hora.                                                      |
| Nombre                  | Texto             | Filtra personas por un nombre específico.                                                               |
| Correo electrónico      | Texto             | Filtra personas por una dirección de correo electrónico específica.                                     |
| Teléfono                | Texto             | Filtra personas por un número de teléfono específico.                                                   |
| Búsqueda (`search`)     | Texto             | Realiza una búsqueda general por un término en varios campos principales de la persona.                 |
| Búsqueda Completa       | Booleano          | Si `true`, realiza una búsqueda más profunda y exhaustiva, lo que puede llevar más tiempo.              |
| Posee Claves Duplicadas | Booleano          | Si `true`, devuelve solo personas que poseen identificadores duplicados (ej: mismo correo electrónico). |
| Está Bloqueado          | Booleano          | Filtra personas por su estado de bloqueo (`true` para bloqueadas, `false` para no bloqueadas).          |
| Organización            | Lista de Opciones | Filtra personas que pertenecen a una organización específica.                                           |
| Campos Personalizados   | Clave-Valor       | Filtra personas en función de los valores de sus campos personalizados.                                 |

***

### Estructura de Salida (Ejemplo de Resultado)

La salida de este bloque será un objeto que contiene la lista de personas e información de paginación.

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
  }
}
```

***

### 🚀 Ejemplo de Caso de Uso

Objetivo: Generar un informe semanal con todos los nuevos leads calificados y enviarlo a una hoja de cálculo de Google Sheets.

1. Cree un flujo con un desencadenador programado para ejecutarse todos los lunes a las 9 h.
2. Agregue el bloque "Personas" con la operación "Obtener Todos".
3. Configure los siguientes filtros:
   * Fecha de Inicio: Use una expresión para definir la fecha de hace 7 días.
   * Fecha de Fin: Use una expresión para la fecha actual.
   * Estado del Cliente: Seleccione `sales_qualified_lead`.
4. Agregue un bucle (`loop`) para iterar sobre la lista de personas devuelta (`{{steps.2.result.data}}`).
5. Dentro del bucle, agregue un bloque de Google Sheets con la acción "Agregar Fila" y asigne los datos de cada persona (nombre, correo electrónico, teléfono, etc.) a las columnas de su hoja de cálculo.

Con este flujo, su equipo de ventas recibirá una lista actualizada de leads calificados al inicio de cada semana, de forma totalmente automática.
