Data nodes (Table operations)
The Data category contains four nodes for CRUD operations on your project’s Data Vault tables:
| Node | Display name | Purpose |
|---|---|---|
tableQueryNode | Query Table | Read rows with filters and sorting |
tableInsertNode | Insert Row | Create new rows with conflict handling |
tableUpdateNode | Update Row | Modify existing rows by filter |
tableDeleteNode | Delete Row | Remove rows by filter |

Query Table
The most commonly used data node. Opens a full-screen SQL editor for writing queries against your project’s tables.
Configuration
Click the Query Table node to open its full-screen editor.

The editor has three main areas:
Schema Browser (left panel):
- Toggle between Shared and Dedicated schema
- Browse tables and their columns with data types
- Click a column to insert it into the query
SQL Editor (center):
- Full code editor with syntax highlighting and autocomplete
- Supports
{{variable.path}}syntax for dynamic values - Line numbers, copy button, Ask AI assistance
Quick Insert buttons (below editor):
| Button | Inserts |
|---|---|
| SELECT * | Full select template |
| SELECT cols | Select specific columns |
| WHERE | WHERE clause template |
| JOIN | JOIN template |
| INSERT | Insert statement |
| INSERT Multi | Multi-row insert |
| UPDATE | Update statement |
| DELETE | Delete statement |
| COUNT | Count query |
| GROUP BY | Grouping template |
| SUM/AVG | Aggregation template |
| CREATE TABLE | DDL create |
| ALTER TABLE | DDL alter |
| CREATE INDEX | Index creation |
Output settings (bottom):
| Setting | Type | Description |
|---|---|---|
| Output Variable | Text field (default: query_result) | Variable name for downstream access |
| Column info | Checkbox | Include column metadata in output |
| Total count | Checkbox | Include total row count |
| Schema | Toggle | Schema mode selection |
| Ask AI | Button | AI-assisted query generation |
| Test | Button | Execute query against dev database |
| Advanced Settings | Expandable | Additional query options |
Edge significance
Query Table has simple input → output edges (linear flow).
| Setting | Description |
|---|---|
| Table | Select from your project’s Data Vault tables |
| Filters | Add conditions (column, operator, value). Supports =, !=, >, <, >=, <=, LIKE, IN, IS NULL |
| Sort | Order results by column (ASC/DESC) |
| Limit | Maximum rows to return |
| Columns | Select specific columns (default: all) |
Output
Returns an array of row objects. Access individual fields in downstream nodes:
{{queryTable.rows[0].name}}
{{queryTable.rows}} // Full array for Loop nodes
{{queryTable.count}} // Number of rows returnedUse dynamic filter values from upstream nodes: set the filter value to {{start.userId}} to query rows matching the user’s input.
Insert Row
Creates one or more new rows in a table.
Configuration

| Setting | Type | Description |
|---|---|---|
| Environment | Combobox (default: Dedicated) | Database environment to target |
| Target Table | Dropdown + Refresh button | Select table from Data Vault |
| Insert Mode | Toggle buttons (3 options) | How to specify data (see below) |
| Field Mappings | Dynamic field list | Map columns to values (use Add Field or Add All) |
| On Conflict | Toggle buttons (3 options) | Duplicate key handling |
| Result Variable | Text field (default: insert_result) | Output variable name |
| Return inserted IDs | Checkbox (default: checked) | Include generated IDs in output |
| Return affected row count | Checkbox (default: checked) | Include row count in output |
Insert Mode options:
| Mode | Description |
|---|---|
| Single Record | Insert one row with explicit field values |
| Batch Insert | Insert multiple rows from an array |
| Field Mapping | Map fields with variable references ({{variable}}) |
On Conflict options: Error (fail on duplicate) · Ignore (skip) · Upsert (update existing)
Output
Returns the inserted row(s) with generated IDs and timestamps.
Update Row
Modifies existing rows matching a filter.
Configuration

| Setting | Type | Description |
|---|---|---|
| Environment | Combobox | Database environment to target |
| Target Table | Dropdown + Refresh button | Select table from Data Vault |
| SET Clauses | Dynamic field list | Columns and values to update (Add Field) |
| WHERE Conditions | Dynamic condition list | Filter which rows to update (Add Condition) |
| Require WHERE clause | Checkbox (default: checked) | Safety: prevent mass updates |
| Row Limit | Number input (optional) | Max rows to update |
| Result Variable | Text field (default: update_result) | Output variable name |
| Return updated records | Checkbox | Include full updated rows |
| Return update count | Checkbox (default: checked) | Include affected row count |
WHERE clause is required by default to prevent accidental mass updates. You can disable this safety check but it’s strongly discouraged.
Output
Returns the count of updated rows (and optionally the updated records).
Delete Row
Removes rows matching a filter.
Configuration

⚠️ Destructive Operation — DELETE operations permanently remove data. Always use WHERE conditions and test carefully.
| Setting | Type | Description |
|---|---|---|
| Environment | Combobox | Database environment to target |
| Target Table | Dropdown + Refresh button | Select table from Data Vault |
| WHERE Conditions | Dynamic condition list | Filter rows to delete (Add Condition) |
| Require WHERE clause | Checkbox (default: checked) | Safety: prevent mass deletion |
| Soft delete | Checkbox | Set deleted_at column instead of hard delete |
| Row Limit | Number input (optional) | Max rows to delete |
| Result Variable | Text field (default: delete_result) | Output variable name |
| Return deleted records | Checkbox | Include deleted rows in output |
| Return delete count | Checkbox (default: checked) | Include affected row count |
Output
Returns the count of deleted rows (and optionally the deleted records).
Common patterns
- Lookup then respond — Query Table → Quick Prompt (use queried data in the prompt).
- Create record — Quick Prompt (extract data) → Insert Row.
- Update status — Condition (check value) → Update Row (set new status).
- Batch process — Query Table → Loop → (process each row) → Update Row.
Common issues
- No table available — Tables must be created first in Data Vault → Tables in the project sidebar.
- Empty results — Check your filter conditions and ensure the table has data.
- Permission denied — The agent runs with project-level access. Ensure the table is in the same project.