# Obtenir tous

L'opération Obtenir Tous les Personnes récupère une liste de personnes de votre base de contacts. Par défaut, la liste est paginée pour garantir de bonnes performances, même avec un grand volume de données.

Cette action est extrêmement polyvalente, car elle permet l'application de divers filtres pour segmenter la recherche, comme rechercher des personnes créées sur une période donnée, avec un statut spécifique, associées à une organisation, parmi de nombreuses autres options.

Le résultat est une collection (tableau) d'objets, où chaque objet représente une personne qui répond aux critères de recherche.

#### Comment configurer

1. Dans Hablla Studio, ajoutez le bloc "Personnes" à votre flux d'automatisation.
2. Dans le champ "Opération", sélectionnez l'option "Obtenir Tous".
3. Optionnellement, cliquez sur "Ajouter un Filtre" pour spécifier les paramètres de recherche et affiner vos résultats.

***

### Filtres Disponibles

Vous pouvez combiner les filtres ci-dessous pour créer des requêtes précises.

| Filtre                      | Type            | Description                                                                                               |
| --------------------------- | --------------- | --------------------------------------------------------------------------------------------------------- |
| Page (`page`)               | Numéro          | Le numéro de la page de résultats que vous souhaitez obtenir. La valeur par défaut est 1.                 |
| Limite (`limit`)            | Numéro          | Le nombre maximal de personnes à retourner par page.                                                      |
| Trier par (`order`)         | Liste d'Options | Champ par lequel les résultats seront triés. Options : `created_at`, `updated_at`, `name`.                |
| Direction de l'ordre        | Liste d'Options | Définit la direction du tri. Options : `asc` (ascendant) ou `desc` (descendant).                          |
| Date de début               | Date/Heure      | Retourne les personnes créées à partir de cette date et heure.                                            |
| Date de Fin                 | Date/Heure      | Retourne les personnes créées jusqu'à cette date et heure.                                                |
| Nom                         | Texte           | Filtre les personnes par un nom spécifique.                                                               |
| E-mail                      | Texte           | Filtre les personnes par une adresse e-mail spécifique.                                                   |
| Téléphone                   | Texte           | Filtre les personnes par un numéro de téléphone spécifique.                                               |
| Recherche (`search`)        | Texte           | Effectue une recherche générale d'un terme dans plusieurs champs principaux de la personne.               |
| Recherche Complète          | Booléen         | Si `true`, effectue une recherche plus profonde et exhaustive, ce qui peut prendre plus de temps.         |
| Possède des Clés Dupliquées | Booléen         | Si `true`, retourne uniquement les personnes qui possèdent des identifiants dupliqués (ex : même e-mail). |
| Est Bloqué                  | Booléen         | Filtre les personnes par leur statut de blocage (`true` pour bloquées, `false` pour non bloquées).        |
| Organisation                | Liste d'Options | Filtre les personnes qui appartiennent à une organisation spécifique.                                     |
| Champs Personnalisés        | Clé-Valeur      | Filtre les personnes en fonction des valeurs de leurs champs personnalisés.                               |

***

### Structure de la sortie (Exemple de résultat)

La sortie de ce bloc sera un objet contenant la liste des personnes et des informations de pagination.

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

***

### 🚀 Exemple de cas d'utilisation

Objectif : Générer un rapport hebdomadaire avec tous les nouveaux leads qualifiés et l'envoyer vers une feuille Google Sheets.

1. Créez un flux avec un déclencheur planifié pour s'exécuter chaque lundi à 9h.
2. Ajoutez le bloc "Personnes" avec l'opération "Obtenir Tous".
3. Configurez les filtres suivants :
   * Date de Début : Utilisez une expression pour définir la date à il y a 7 jours.
   * Date de Fin : Utilisez une expression pour la date actuelle.
   * Statut du Client : Sélectionnez `lead_qualifié_commercial`.
4. Ajoutez une boucle (`loop`) pour itérer sur la liste de personnes retournée (`{{steps.2.result.data}}`).
5. À l'intérieur de la boucle, ajoutez un bloc Google Sheets avec l'action "Ajouter une Ligne" et mappez les données de chaque personne (nom, e-mail, téléphone, etc.) aux colonnes de votre feuille.

Avec ce flux, votre équipe commerciale recevra une liste mise à jour des leads qualifiés au début de chaque semaine, de manière entièrement automatique.
