Type identifier:
object:queryCategory: Object Operations
Queries Records based on filter criteria. Supports complex filtering, pagination, and ordering. Returns matching Records with metadata. Results can be processed, displayed, or passed to downstream nodes.
Handle | Data Type | Required | Description |
|---|---|---|---|
| Varies | Varies | Dynamic handles for filter variables |
Input handles are dynamically generated based on the variables configuration:
id propertyrequired propertyHandle | Data Type | Description |
|---|---|---|
|
| Query results (single or array) |
resultsfirstOnly) or Array (if multiple)Includes:
id: Record IDschemaId: Schema IDcreatedAt: Creation timestampupdatedAt: Last update timestampcreatedById: Creator IDupdatedById: Last updater IDNotes:
null if firstOnly and no resultsProperty | Type | Required | Default | Description |
|---|---|---|---|---|
|
| Yes |
| Display label for the node |
|
| Yes |
| CUID2 of the Schema to query |
|
| No |
| Variable definitions for filtering |
|
| No |
| Filter criteria |
|
| No |
| Return single Record vs array |
|
| No |
| Maximum Records to return (capped at |
|
| No |
| Skip N Records |
|
| No |
| Sort order |
|
| No |
| Property to sort by |
variablesNotes:
spaceIdentityId always availablefiltereq, ne, gt, gte, lt, lte, contains, startsWith, endsWith, in, notIn, isNull, isNotNullNotes:
limitnumber2501000 (hard cap)Notes:
[0, 1000]. A configured limit of 5000 is silently reduced to 1000; a negative value is clamped to 0.firstOnly is true, the effective limit is 1 regardless of the configured value.The Object - Query node enforces a hard cap on the number of Records a single run can return.
Setting | Value | Notes |
|---|---|---|
Default |
| Applied when |
Minimum |
| Negative values are clamped to |
Maximum |
| Configured values above |
|
| Overrides the configured |
For result sets larger than ~1000 Records, a single run of the Object - Query node will not return them all. See the patterns below.
The Object - Query node supports offset + limit pagination. Both are configured directly on the node.
Behaviour | Detail |
|---|---|
First page |
|
Subsequent pages |
|
End-of-results detection | When the returned |
Stable ordering | Without a stable sort, |
Concurrent writes |
|
Cursor-based pagination tokens | Not supported. The node does not emit a |
offset + limitEach iteration advances offset by limit; a page with fewer than limit results is the last page.
{
"type": "object:query",
"data": {
"label": "Page through orders",
"schemaId": "order-schema-uuid",
"variables": [{ "id": "pageOffset", "type": { "type": "number", "required": true } }],
"orderBy": "createdAt",
"order": "asc",
"limit": 1000,
"offset": 0
}
}The pageOffset variable supplies offset from the surrounding Flow. A page with fewer than limit results is the last page (see Pagination).
Selective filters (properties, time windows, status) can reduce the candidate set so that it fits within 1000 Records.
{
"type": "object:query",
"data": {
"label": "Yesterday's failed orders",
"schemaId": "order-schema-uuid",
"filter": {
"type": "and",
"filters": [
{
"path": "status",
"type": "property",
"value": { "type": "literal", "value": "failed" },
"operator": "eq"
},
{
"path": "createdAt",
"type": "property",
"value": { "type": "contextValue", "valueId": "sinceTimestamp" },
"operator": "gte"
}
]
},
"orderBy": "createdAt",
"order": "desc",
"limit": 500
}
}A List - Aggregate node can reduce a bounded query's results to a count, sum, or other aggregate. For totals across more than 1000 Records, aggregate across pages (pattern 1).
Scenario | Behaviour |
|---|---|
Schema not found | The run fails with error code |
Invalid filter | The run fails with error code |
No results | Returns |
{
"type": "object:query",
"data": {
"label": "Get User by ID",
"schemaId": "user-schema-uuid",
"variables": [
{
"id": "userId",
"type": { "name": "userId", "type": "string", "required": true }
}
],
"filter": {
"path": "id",
"type": "property",
"value": { "type": "contextValue", "valueId": "userId" },
"operator": "eq"
},
"firstOnly": true
}
}{
"type": "object:query",
"data": {
"label": "List Recent Orders",
"schemaId": "order-schema-uuid",
"filter": {
"path": "status",
"type": "property",
"value": { "type": "literal", "value": "completed" },
"operator": "eq"
},
"orderBy": "createdAt",
"order": "desc",
"limit": 10,
"offset": 0
}
}{
"type": "object:query",
"data": {
"label": "Search Products",
"schemaId": "product-schema-uuid",
"variables": [
{ "id": "minPrice", "type": { "type": "number" } },
{ "id": "category", "type": { "type": "string" } }
],
"filter": {
"type": "and",
"filters": [
{
"path": "price",
"type": "property",
"value": { "type": "contextValue", "valueId": "minPrice" },
"operator": "gte"
},
{
"path": "category",
"type": "property",
"value": { "type": "contextValue", "valueId": "category" },
"operator": "eq"
},
{
"path": "active",
"type": "property",
"value": { "type": "literal", "value": true },
"operator": "eq"
}
]
},
"limit": 50
}
}