# Query entity records

> Configure the Query entity records node to read Data Fabric records, and read its output in later nodes.

Reads one or more records from a Data Fabric entity. This is a native node. It doesn't need a connection. It works with existing entities from the Data Fabric platform, wherever they are stored, and with entities defined in a VS Code solution. [Entities in VS Code](/data-service/automation-cloud/latest/user-guide/entities-in-vs-code): how to define an entity in a VS Code solution.

![Query entity records node's Properties panel, set to return multiple records, showing a Data Fabric entity picker, an AND/OR filter condition builder with nested groups, and Additional properties for sort, skip, and record limit.](https://dev-assets.cms.uipath.com/assets/images/maestro/node-query-entity-records-properties-0cce78e8.webp)

## Configuration

| Field | Required | Description |
|---|---|---|
| **Data Fabric entity** | Yes | The entity to query. Select **Refresh schema** if the entity's fields changed since you added the node. |
| **Records to return** | Yes | **Single record** returns one record and fails if the filter matches more than one. **Multiple records** returns an array of matching records. |
| **Filter condition(s)** | No | One or more field/operator/value conditions, combined with **All (AND)** or **Any (OR)**. |
| **Sort by** (Multiple records only) | No | The field to sort results by, and direction (**Ascending** or **Descending**). Without a sort, the query can return a different set of records each time. |
| **Records to skip** (Multiple records only) | No | Number of matching records to skip before returning results. Default `0`. |
| **Record limit** (Multiple records only) | No | Maximum number of records to return. Default `100`, maximum `1000`. |

Within **Filter condition(s)**, select **Add condition** for another condition at the same level, or **Add group** to nest a condition group with its own AND/OR logic.

This node doesn't support the **Error handling** tab.

## Output

For **Single record**, the output fields mirror the entity's schema directly. For **Multiple records**, the output is a `results` array, with each item mirroring the entity's schema. Access them downstream as `$vars.<nodeId>.output.<fieldName>` (single record) or `$vars.<nodeId>.output.results[<index>].<fieldName>` (multiple records).

### Live reference behavior

The output is a **live reference** to the query, not a stored copy of the results. Every expression, condition, or script that reads it re-runs the query at that moment, so it always sees the entity's current data. The **LIVE QUERY** chip in the schema tree marks outputs that behave this way.

For example, if a Query entity records node named **Find ticket** returns a ticket whose status is `Open`, and a later node in the workflow sets that ticket to `Closed`, an expression reading `$vars.Find ticket.output.Status` after that point returns `Closed`, not the `Open` value the query first saw. A stored copy would still say `Open`.

[Update entity record](node-update-entity-record.md) and [Delete entity record](node-delete-entity-record.md) set to **Entity reference** build on this: they act on the record this query found, without re-specifying the entity and filter.

Loop and data-transform collections are the exception. They read a snapshot of the results taken when the node ran, rather than re-running the query.

## Next steps

- [Data Fabric entity nodes](data-fabric-entity-nodes.md): the other entity record nodes.
- [Node reference](node-reference.md): every node and how to configure it.
- [Community](community.md): ask questions and share workflows with other builders on the UiPath Forum.
