Upload an Excel or CSV file and your workflows can read it like a database. A Tabular Query node runs plain, read-only SQL over the columns you imported — so a workflow can filter, join, and summarize a spreadsheet without you writing a script.
Importing a spreadsheet turns each sheet into a queryable table with typed columns. A workflow then points a Tabular Query node at that table and runs a SELECT to pull exactly the rows it needs. Nothing is ever written back to your file — queries only read.
Bring a spreadsheet in from a file upload or an earlier workflow step. The columns become the table's schema:
The data is ingested into a queryable store, so a Tabular Query runs against an indexed table rather than re-parsing the whole file every time.
A Tabular Query node holds one read-only SQL statement. It must be a SELECT (or a CTE that ends in one) and it can only reference the tables and columns you imported:
| Rule | What it means |
|---|---|
| Read-only | Only SELECT / WITH … SELECT is allowed. INSERT, UPDATE, DELETE, and DDL are rejected before the query runs. |
| Schema-checked | The query is validated against the imported columns — an unknown table or column is flagged so you fix it before the workflow runs. |
| Scoped to its source | A query reads only the table(s) it is wired to. It cannot reach other tenants' data or files you didn't attach. |
Given an imported invoices sheet, a workflow might run: SELECT vendor, SUM(amount) AS total FROM t GROUP BY vendor ORDER BY total DESC — then pass the result to the next step to post a summary or update a record.
Ask the assistant to "total invoices by vendor from the sheet I uploaded" and it builds the query node for you, then the guided tour walks you through checking it.
Tabular Query is one node type in the workflow builder. For triggers, conditions, and the full node reference, see Workflows.