# Get All

The Get All People operation retrieves a list of people from your contact database. By default, the list is paginated to ensure good performance, even with a large volume of data.

This action is extremely versatile, as it allows applying various filters to segment the search, such as searching for people created within a specific period, with a specific status, associated with an organization, among many other options.

The result is a collection (array) of objects, where each object represents a person that meets the search criteria.

#### How to Configure

1. In Hablla Studio, add the "People" block to your automation flow.
2. In the "Operation" field, select the "Get All" option.
3. Optionally, click "Add Filter" to specify search parameters and refine your results.

***

### Available Filters

You can combine the filters below to create precise queries.

| Filter             | Type         | Description                                                                              |
| ------------------ | ------------ | ---------------------------------------------------------------------------------------- |
| Page (`page`)      | Number       | The page number of results you want to retrieve. The default is 1.                       |
| Limit (`limit`)    | Number       | The maximum number of people to be returned per page.                                    |
| Order by (`order`) | Options List | Field by which the results will be ordered. Options: `created_at`, `updated_at`, `name`. |
| Sort Direction     | Options List | Defines the sort direction. Options: `asc` (ascending) or `desc` (descending).           |
| Start Date         | Date/Time    | Returns people created from this date and time onward.                                   |
| End Date           | Date/Time    | Returns people created up to this date and time.                                         |
| Full name          | Text         | Filters people by a specific name.                                                       |
| Email              | Text         | Filters people by a specific email address.                                              |
| Phone              | Text         | Filters people by a specific phone number.                                               |
| Search (`search`)  | Text         | Performs a general search for a term across several of the person's main fields.         |
| Full Search        | Boolean      | If `true`, performs a deeper and more comprehensive search, which may take longer.       |
| Has Duplicate Keys | Boolean      | If `true`, returns only people who have duplicate identifiers (e.g., same email).        |
| Is Blocked         | Boolean      | Filters people by their blocked status (`true` for blocked, `false` for not blocked).    |
| Organization       | Options List | Filters people who belong to a specific organization.                                    |
| Custom Fields      | Key-Value    | Filters people based on the values of their custom fields.                               |

***

### Output Structure (Example Result)

The output of this block will be an object containing the list of people and pagination information.

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

***

### 🚀 Example Use Case

Goal: Generate a weekly report with all new qualified leads and send it to a Google Sheets spreadsheet.

1. Create a flow with a scheduled trigger to run every Monday at 9 AM.
2. Add the "People" block with the "Get All" operation.
3. Configure the following filters:
   * Start Date: Use an expression to set the date to 7 days ago.
   * End Date: Use an expression for the current date.
   * Customer Status: Select `sales_qualified_lead`.
4. Add a loop (`loop`) to iterate over the list of people returned (`{{steps.2.result.data}}`).
5. Inside the loop, add a Google Sheets block with the "Add Row" action and map each person's data (name, email, phone, etc.) to the columns of your spreadsheet.

With this flow, your sales team will receive an updated list of qualified leads at the start of each week, completely automatically.
