Use Query Rows to retrieve a bounded page of Data Table rows with typed filters and a stable sort order.
Step Library: Data Tables
When to use this step
Use this step when you want to:
- find rows that match one or more typed conditions;
- pass matching row IDs or row Objects to later workflow steps.
Use Update Row by ID when you already know the exact row to change.
Before you begin
You must be Table Owner or Table User for the selected table when you configure and publish the workflow.
Configure the step
- Add Query Rows from Data Tables.
- Select a Table.
- Optional: add condition groups under Filters.
- Set Maximum rows, optional sorting, and an optional Cursor.
- Save or publish the workflow.
Settings
| Setting | Required | Accepted values | Visible when | Description |
|---|---|---|---|---|
| Table | Yes | Data Table where you are Table Owner or Table User | Always | Selects the table by stable ID and captures its current column schema. |
| Filters | No | Nested all/any groups with typed column conditions |
Table is selected | Uses the same bounded Data Table filter language as the row API. Empty filters return rows in the selected order. |
| Maximum rows | Yes | Whole Number or Number variable from 1 to 100
|
Table is selected | Maximum rows returned in this page. Default is 50; this limit is independent of subscription row quotas. |
| Sort column | No | A sortable table column | Table is selected | Sorts by the stable Column ID. Row ID is always the tie-breaker. |
| Sort direction | Yes | Ascending or Descending | Sort column is selected | Direction for the selected sort. |
| Cursor | No | Text or Text variable | Table is selected | Continues a previous query using Next Cursor. The cursor must match the same sort. |
Filters support at most 50 conditions and four nested levels. Available operators depend on the selected column type.
Data and outputs
Workflow variable effects
This step does not modify workflow variables.
Step outputs
| Step output | Type | Available when | Scope | Description |
|---|---|---|---|---|
| Rows | Data Table row Object Collection | After success | Following steps in the current branch | Matching rows in query order; empty when nothing matches. |
| Row IDs | Text Collection | After success | Following steps in the current branch | Stable IDs in the same order as Rows. |
| Has More | Boolean | After success | Following steps in the current branch |
true when another page is available. |
| Next Cursor | Text | After success | Following steps in the current branch | Cursor for the next page, or empty Text when Has More is false. |
| Result Status | Text | After success | Following steps in the current branch |
queried. |
Runtime behavior
Execution and completion
Flowifier resolves variables inside the bounded filter tree, validates Column IDs, operators, values, sort and cursor in the central Data Table service, then returns one page. People filters compare stable user IDs. File columns support empty/not-empty filters only.
Branches and child steps
This step does not have branches or child steps.
Failure, retry and resume behavior
This step does not suspend execution or perform automatic retries.
Errors and limits
| Situation | Result | Resolution |
|---|---|---|
| More than 50 conditions, more than four levels, or an unsupported operator | Publication is blocked or the step fails validation | Reduce or correct the filter tree. |
Maximum rows resolves outside 1–100
|
The step fails before querying | Correct the fixed value or Number variable. |
| A cursor does not match the configured sort | The step fails without returning a partial page | Start without a cursor or use the cursor from the same query configuration. |
| The table schema changed | Republishing is blocked | Reselect the table and review filters and sorting. |
Example
Find unpaid high-value invoices
Goal: Retrieve up to 25 unpaid invoices with an amount of at least 1,000.
Configuration:
-
Table:
Invoices -
Filters:
Status equals UnpaidandAmount greater than or equal 1000 -
Maximum rows:
25 -
Sort column:
Amount, Descending
Result: Rows contains the matching invoice Objects and Row IDs contains their stable IDs in the same order.
Related information
- Create Row — add a new Data Table row.
- Update Row by ID — update a returned row using its ID and version.
- Delete Row by ID — delete a returned row using its ID and version.
Comments
0 comments
Please sign in to leave a comment.