> ## Documentation Index
> Fetch the complete documentation index at: https://learn.workflow.dog/llms.txt
> Use this file to discover all available pages before exploring further.

# Find Records

> Find Airtable records using structured field comparisons.

The **Find Records** action turns one or more field filters into an Airtable
formula. Records must satisfy every filter. Use it when you want typed controls
without writing Airtable formula syntax yourself.

## Inputs

| Input                   | Type             | Required | Description                                              |
| ----------------------- | ---------------- | -------- | -------------------------------------------------------- |
| **Third-party account** | Airtable account | Yes      | Account with record-read access.                         |
| **Base ID**             | String           | Yes      | Airtable base ID.                                        |
| **Table Name or ID**    | String           | Yes      | Table name or ID.                                        |
| **Filters**             | List of filters  | Yes      | Field comparisons joined with Airtable `AND(...)`.       |
| **Sort Field**          | String           | No       | Field used to order matches.                             |
| **Sort Direction**      | `asc` or `desc`  | No       | Sort direction. Defaults to `asc`; used with Sort Field. |

Each filter includes **Field Name**, **Match Mode**, and, when needed, **Search
Value**.

### Match modes

| Mode                                | Airtable behavior                                    |
| ----------------------------------- | ---------------------------------------------------- |
| **Equals** / **Does Not Equal**     | Compare a field with text, number, or boolean input. |
| **Is Empty** / **Is Not Empty**     | Compare with `BLANK()`.                              |
| **Contains** / **Does Not Contain** | Use Airtable's case-sensitive `FIND` function.       |
| **Matches Regex**                   | Use `REGEX_MATCH`.                                   |
| **Greater/Less Than** variants      | Numeric comparisons.                                 |
| **Is True** / **Is False**          | Compare with Airtable booleans.                      |
| **Is Truthy** / **Is Falsy**        | Combine blank and false checks.                      |

## Outputs

| Output      | Type            | Description                       |
| ----------- | --------------- | --------------------------------- |
| **Records** | List of objects | Fields for every matching record. |
| **Count**   | Number          | Number of records returned.       |

<Note>
  The action requests at most 1,000 records. Output objects contain fields but
  not Airtable record IDs.
</Note>

## Example: active premium accounts

Add two filters:

* **Status** → **Equals** → `Active`
* **Plan Value** → **Greater Than or Equal** → `1000`

Then sort by **Plan Value** in descending order.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Text containment is unexpectedly case-sensitive">
    The generated formula uses Airtable's `FIND` function, whose text matching
    is case-sensitive.
  </Accordion>

  <Accordion title="A formula error mentions a field">
    Field names are inserted exactly as supplied. Confirm the spelling and
    punctuation match Airtable.
  </Accordion>
</AccordionGroup>
