Skip to main content

Import Table

Imports a table from a Lido table, Excel file, Google Sheet, or CSV file. Each row becomes a workflow item, or the table can be returned as a single 2D array.

Overview

The Import Table node loads tabular data from any supported source, supports filtering and pagination, and lets you choose between item-per-row output or a single 2D-array output.

It uses the same source picker as Smart Lookup, with the addition of CSV files.

Use it to:

  • Pull a CSV from Google Drive or OneDrive into a workflow
  • Read a Google Sheet without a Lido connection
  • Iterate over a Lido table at the start of a workflow
  • Hand a whole table to a node that takes a 2D array (JS Code, custom AI prompt)

Parameters

ParameterDescriptionRequired
Source TypeSource: Lido Table (default), Excel File, CSV File, or Google SheetYes
Table / FileThe table or file to importYes
Columns to IncludeOptional column filter — leave empty to include every columnNo
Output ModeOne Item Per Row, Single 2D Array (with headers), or Single 2D Array (no headers)Yes
Filter ConditionsOptional row filter — supports AND/OR with type-coercion and case-insensitivity optionsNo
LimitMaximum number of rows to import. Leave empty for all rowsNo
OffsetNumber of rows to skip from the startNo

Source Types

SourceConfiguration
Lido TablePick a named table from the workflow's (or another) Lido spreadsheet
Excel FilePick an .xlsx/.xls file, optional sheet name, optional starting cell
CSV FilePick a .csv/.tsv/.txt file, optional first-row-is-header and delimiter
Google SheetPick a Google account, spreadsheet URL, optional worksheet, starting cell

CSV Options

OptionDescription
First Row Is HeaderWhen on (default), the first row becomes column names. When off, columns are named column_1, column_2, …
DelimiterOverride the field separator. Leave blank to auto-detect from comma, tab, semicolon, or pipe

Output

The shape depends on Output Mode.

One Item Per Row (default)

Each row becomes a workflow item with row metadata:

{
"type": "tableRow",
"data": {
"Name": "Acme Corp",
"Status": "Active",
"Amount": 1500
},
"spreadsheetRow": 2,
"columnNameToPosition": {
"Name": { "wsName": "Sheet1", "row": 2, "column": 1 },
"Status": { "wsName": "Sheet1", "row": 2, "column": 2 },
"Amount": { "wsName": "Sheet1", "row": 2, "column": 3 }
}
}
FieldDescription
typeAlways "tableRow"
dataObject with column names as keys and cell values
spreadsheetRow1-indexed source row number — the actual sheet/file row containing the data row.
columnNameToPositionCell positions per column ({ wsName, row, column }, all 1-indexed). For CSV the wsName is an empty string since CSVs have no worksheet; row and column still match the file.
fileFile info if a Lido table has a file-source subtable column

Single 2D Array (with headers)

A single workflow item whose data is a 2D array. The first inner array is the header row:

{
"data": [
["Name", "Status", "Amount"],
["Acme Corp", "Active", 1500],
["Widget Co", "Pending", 800]
]
}

Single 2D Array (no headers)

A single workflow item whose data is a 2D array of values, with no header row:

{
"data": [
["Acme Corp", "Active", 1500],
["Widget Co", "Pending", 800]
]
}

Tips

  • The source picker, dropdowns, and column suggestions are shared with Smart Lookup — sheet names and column lists are cached server-side and reused across both nodes.
  • Lido tables are loaded client-side; Excel, Google Sheets, and CSV files are fetched server-side via a long-running job.
  • For CSVs without a header row, set First Row Is Header to off and reference columns as column_1, column_2, etc.
  • Auto-detected delimiters work well for typical CSVs. Set Delimiter explicitly for unusual formats (e.g., pipe-separated files).
  • Choose One Item Per Row when downstream nodes process row-by-row (filters, AI prompts, lookups). Choose a 2D Array mode when you need the whole table as one value (custom JS Code, batch AI input).
  • All source types include columnNameToPosition with 1-indexed cell positions. For Lido tables, this is what lets Edit Table Column write back to the source rows. For CSV the wsName is empty (no worksheet) but row and column are still populated.