English
Table — list rows
Returns an array of filtered, sorted rows — ready to feed a loop.
Reads the rows of a Table that match your filters, sorted and capped, and returns them as an array. The array is ready to feed a Loop: one iteration per row. To fetch one row by its key, use Table — find a row.
At a glance
- Type:
table.list· version 1 - Category: Data
- Kind: Step — one stage of a run
- Effect: No external effect (
none) — nothing is written outside Mankomail; safe to replay - Needs a carrier email: No
- Connection: None
- Inputs:
main - Outputs:
main
Parameters
table
Table — Picked from the list, or by its short identifier (its “slug”), which may come from a template.
- Type: Remote resource (
resourceLocator) - Required: Yes
- Ways to choose: pick from a list, type an ID (
table)
filters
Filters — No filter: every row, up to the requested limit.
- Type: List of items (
collection) - Required: No
- Default:
[] - At most 10 items
- Each item has:
column— Column- Type: Text (
string) - Required: Yes
- Default:
""(empty) - 60 characters at most
- Expressions:
{{ }}not accepted
- Type: Text (
op— Operator- Type: One choice (
options) - Required: Yes
- Default:
eq - Options:
eq— equalsne— does not equalcontains— containsnot_contains— does not containstarts_with— starts withends_with— ends withgt— is greater thangte— is greater than or equal tolt— is less thanlte— is less than or equal toempty— is emptynot_empty— is not empty
- Type: One choice (
value— Value- Type: Text (
string) - Required: No
- Default:
""(empty) - 10000 characters at most
- Type: Text (
match
How filters combine
- Type: One choice (
options) - Required: Yes
- Default:
all - Options:
all— All must matchany— At least one must match
sortColumn
Sort by — Left empty: the table’s own order (the order rows were added).
- Type: Text (
string) - Required: No
- Default:
""(empty) - 60 characters at most
- Expressions:
{{ }}not accepted
sortDirection
Sort direction
- Type: One choice (
options) - Required: No
- Default:
asc - Options:
asc— Ascendingdesc— Descending
- Shown when:
sortColumnis filled in
limit
Maximum number of rows — An unbounded read is a step whose size depends on what someone pasted into a spreadsheet.
- Type: Number (
number) - Required: Yes
- Default:
100 - Whole number, from 1 to 1000
Outputs
main
Data produced
What this node adds to the run data, and how to read it in an expression. <step> stands for the step key: the node name turned into an identifier (see Data and expressions).
{{ data.<step>.rows }}—array of { <column>: value }. The matching rows, each one an object of cells by column machine key:{{ data.<step>.rows.0.consultant }}. Empty cells are absent.{{ data.<step>.rowIds }}—array. The row identifiers, in the same order as rows:{{ data.<step>.rowIds.0 }}belongs torows.0.{{ data.<step>.count }}—number. The number of rows returned.{{ data.<step>.truncated }}—boolean. true when more rows matched than the limit allowed.{{ data.<step>.summary }}—string. A one-line summary, for example12 rows read.
Example
Every Monday, a scheduled workflow chases the cases still open. The table cases has columns status, client_email and opened_on (a date). An earlier Compute a date step named "Cutoff" gives the cutoff date. The node is named "Open cases".
text
table cases
filters status equals Open
opened_on is less than {{ data.cutoff.date }}
match all
sortColumn opened_on
sortDirection asc
limit 200A Loop then takes {{ data.open_cases.rows }} as its items. Inside the loop body, each row is {{ data.item }}, so a reminder can go to {{ data.item.client_email }}.
Tips
- Columns are named by their machine key, not their heading, in filters and in Sort by. A filter or a sort column that does not exist in the table is ignored without an error: a mistyped filter returns every row. Check the key in the column settings.
- Text comparisons (equals, contains, starts with…) ignore case and accents. is empty and is not empty take no value. is greater/less than compare numerically on a Number column (write the value with a dot as decimal separator) and as text otherwise, which orders ISO dates correctly.
- Combining filters. All must match keeps rows that pass every filter; At least one must match keeps rows that pass one of them. No filter returns every row, up to the limit. At most 10 filters.
- Limit. Between 1 and 1,000 rows, 100 by default. When more rows match, the first ones (in the sort order) are returned and
truncatedis true. Without Sort by, rows come in the order they were added. - Errors. Unknown table:
table.not_found, final. - Test runs. Reading is real, even in a test. See Test runs.