You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit fe2c6df
Browse filesBrowse the repository at this point in the historyBrowse files
fix(tables): restore the docs hero and correct the operator reference
Review findings, all consequences of v2 becoming the docs source.
`BlockPreview` looks the block type up in a hand-maintained map and renders
nothing when it misses, so pointing the trigger page at `table_v2` silently
deleted its hero. Move the entry to the new type; the trigger config it
displays is identical across both versions.
The docs generator extracts `longDescription` with a single-literal regex,
so v2's `+`-concatenated string published as its first fragment alone — the
page lost every mention of the predicate grammar and cursor pagination.
Join it into one literal. v1's was a single literal, which is why this only
surfaced now.
The hand-written operator table called `contains` case-sensitive. It
compiles to ILIKE, as do `startsWith` and `endsWith`; the pre-cutover page
had this right, so the rewrite regressed it. Restore the qualifiers and
document `ncontains` alongside `contains`.
Drop `'table'` from BUILT_IN_TOOL_TYPES: it now only ever reaches blocks
that already passed `isAgentToolBlock`, which excludes hidden ones, so the
entry is dead. Matches the `file`/`file_v5` precedent the sibling test
already asserts.
Copy file name to clipboardExpand all lines: apps/docs/content/docs/integrations/table.mdx
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,7 +54,7 @@ Tables are created from the **Tables** section in the sidebar. Each table requir
54
54
55
55
## Usage Instructions
56
56
57
-
Create and manage custom data tables. Store, query, and manipulate structured data within workflows.
57
+
Create and manage custom data tables. Store, query, and manipulate structured data within workflows. Query Rows accepts a plain predicate — `{"field":"wins","op":"gte","value":10}` — for one condition. Use `all` (AND) or `any` (OR) groups for multiple or nested conditions. Operators: eq, ne, gt, gte, lt, lte, in, nin, like, ilike, nlike, nilike, contains, ncontains, startsWith, endsWith, isNull, isNotNull, isEmpty, isNotEmpty. Order is a sort spec `[{"field":"wins","direction":"desc"}]`. Query Rows returns every matching row when Limit is omitted (fails if the result exceeds 5MB — add a filter or a Limit). With a Limit, responses page: a non-null nextCursor means more rows exist — pass it back as the cursor. Columns to Return narrows each row to the selected columns (by stable id or name; one that no longer exists is skipped); leave it empty for every column.
58
58
59
59
60
60
@@ -288,11 +288,11 @@ A filter is a predicate. One condition is an object naming a column, an operator
288
288
|`lte`| Less than or equal |`{"field": "quantity", "op": "lte", "value": 10}`|
289
289
|`in`| In array |`{"field": "status", "op": "in", "value": ["active", "pending"]}`|
290
290
|`nin`| Not in array |`{"field": "type", "op": "nin", "value": ["spam", "blocked"]}`|
'Create and manage custom data tables. Store, query, and manipulate structured data within workflows. '+
230
-
'Query Rows accepts a plain predicate — `{"field":"wins","op":"gte","value":10}` — for one condition. '+
231
-
'Use `all` (AND) or `any` (OR) groups for multiple or nested conditions. Operators: eq, ne, gt, gte, lt, lte, in, nin, like, ilike, '+
232
-
'nlike, nilike, contains, startsWith, endsWith, isNull, isNotNull, isEmpty, isNotEmpty. Order is a sort '+
233
-
'spec `[{"field":"wins","direction":"desc"}]`. Query Rows returns every matching row when Limit is omitted '+
234
-
'(fails if the result exceeds 5MB — add a filter or a Limit). With a Limit, responses page: a non-null '+
235
-
'nextCursor means more rows exist — pass it back as the cursor. Columns to Return narrows each row to '+
236
-
'the selected columns (by stable id or name; one that no longer exists is skipped); leave it empty for every column.',
229
+
'Create and manage custom data tables. Store, query, and manipulate structured data within workflows. Query Rows accepts a plain predicate — `{"field":"wins","op":"gte","value":10}` — for one condition. Use `all` (AND) or `any` (OR) groups for multiple or nested conditions. Operators: eq, ne, gt, gte, lt, lte, in, nin, like, ilike, nlike, nilike, contains, ncontains, startsWith, endsWith, isNull, isNotNull, isEmpty, isNotEmpty. Order is a sort spec `[{"field":"wins","direction":"desc"}]`. Query Rows returns every matching row when Limit is omitted (fails if the result exceeds 5MB — add a filter or a Limit). With a Limit, responses page: a non-null nextCursor means more rows exist — pass it back as the cursor. Columns to Return narrows each row to the selected columns (by stable id or name; one that no longer exists is skipped); leave it empty for every column.',
237
230
bestPractices: `
238
231
- To fetch specific rows, use Query Rows with a predicate filter (e.g. {"field":"slack_user_id","op":"in","value":["U1","U2"]}) — do NOT read every row and filter downstream with a Condition block.
239
232
- Use "Get Row by ID" only when you have the row's id; otherwise filter with a predicate.
0 commit comments