Connecting to dev server...

Sheet Node

The Sheet node provides a full-featured spreadsheet interface for viewing, editing, and processing tabular data within your workflows. Think of it as having Excel or Google Sheets built right into your automation.

Overview

The Sheet node displays data in a familiar spreadsheet format with rows and columns. You can view data from other nodes, edit cells directly, use formulas for calculations, pass data through to other nodes, and export data as CSV files.

Common Use Cases

📊 Data Review & Visualization

Display data from APIs or databases in an easy-to-read table format.

Example: Show customer orders from your database

Database Query → Sheet → Export

✏️ Manual Data Entry

Create forms for entering structured data that gets processed by your workflow.

Example: Employee onboarding checklist

Empty Sheet → User fills data → Save to Database

🔧 Data Correction

Fix errors or clean up messy data before processing.

Example: Clean imported CSV data

Import CSV → Sheet (fix errors) → Process Data

📝 Task Management

Use as a simple task list or project tracker.

Example: Daily task tracker

Sheet (task list) → Send email summary

📈 Report Generation

Display calculated results in a table format.

Example: Sales report

Calculate totals → Sheet (display) → Download CSV

Configuration

Basic Settings

Data Source Variable

  • Default: value
  • Purpose: Specifies which field from the previous node to use as data
  • Example: If previous node outputs {results: [[...]], status: "ok"}, set to results

Allow Editing

  • Default: Enabled
  • Purpose: Controls whether users can edit cells
  • Options: Enable for data entry, disable for read-only display

Output Mode

  • Default: Pass-thru
  • Options:
    • Pass-thru: Original input data flows through unchanged
    • Sheet: Sends the current grid data (including edits)

Grid Dimensions

SettingDefaultRangeDescription
Rows101-1000Number of rows to display
Columns51-50Number of columns to display
Cell Width100pxAnyWidth of each cell
Cell Height30pxAnyHeight of each cell

Display Options

Show Headers

  • Default: Enabled
  • Purpose: Toggle row/column headers (A, B, C... 1, 2, 3...)

Custom Headers

  • Purpose: Add your own column names
  • Format: Comma-separated list
  • Example: Name, Email, Department, Status

Output Modes Explained

Pass-thru Mode (Default)

  • Original input data flows through unchanged
  • Perfect when you just want to display data
  • Your edits won't affect what the next node receives
  • Use this for data visualization and review

Sheet Mode

  • Sends the current grid data (including your edits)
  • Use this when you want your changes to flow through
  • Great for data entry and correction workflows
  • All edits are immediately saved

Working with the Sheet

Viewing Mode (Compact)

  • Shows node name and data summary
  • Double-click to expand to detail view
  • Displays row/column count

Detail Mode (Expanded)

  • Full spreadsheet interface
  • Click cells to edit (if editing is enabled)
  • Use Tab/Enter to navigate between cells
  • Resize the node by dragging corners

Toolbar Features

  • ▶️ Run: Execute just this node
  • ⬇️ Download: Save data as CSV file
  • ⚙️ Settings: Open configuration panel
  • ➖ Minimize: Return to compact view

Practical Examples

Example 1: Customer Contact List

Settings:
- Output Mode: Sheet
- Allow Editing: Yes
- Headers: Name, Email, Phone, Company
- Rows: 50
- Columns: 4

Use: Maintain a customer contact database with formulas for summaries

Example 2: API Data Viewer

Settings:
- Output Mode: Pass-thru
- Allow Editing: No
- Show Headers: Yes
- Rows: 100
- Columns: 10

Use: Display API responses for review without modification

Example 3: Budget Tracker with Formulas

Settings:
- Output Mode: Sheet
- Allow Editing: Yes
- Headers: Item, Cost, Quantity, Total
- Rows: 20
- Columns: 4

Use: Enter costs and use =B2*C2 to auto-calculate totals

Tips & Best Practices

📌 For Data Display

  • Use Pass-thru mode to keep original data intact
  • Disable editing to prevent accidental changes
  • Add custom headers for clarity

📌 For Data Entry

  • Use Sheet mode to capture user input
  • Start with an empty grid
  • Provide clear column headers
  • Set appropriate grid dimensions

📌 For Data Cleaning

  • Use Sheet mode to pass corrections forward
  • Enable editing
  • Review data before processing
  • Use reasonable row/column limits for performance

📌 Performance Tips

  • Limit rows to what's visible (avoid 1000 rows if you only need 20)
  • Use smaller column counts when possible
  • Download large datasets as CSV rather than displaying all

Keyboard Shortcuts

  • Click: Select and edit a cell
  • Tab: Move to next cell
  • Shift+Tab: Move to previous cell
  • Enter: Move down one cell
  • Arrow Keys: Navigate between cells
  • Delete: Clear cell content

Input Data Format

The Sheet node accepts data in these formats:

2D Array (Preferred)

[
  ["Header 1", "Header 2", "Header 3"],
  ["Row 1 Col 1", "Row 1 Col 2", "Row 1 Col 3"],
  ["Row 2 Col 1", "Row 2 Col 2", "Row 2 Col 3"]
]

1D Array (Auto-converted)

["Value 1", "Value 2", "Value 3"]
// Becomes: [["Value 1", "Value 2", "Value 3"]]

Referencing Sheet Data in Downstream Nodes

When a Sheet outputs data in Sheet Mode, downstream nodes can reference individual cells using spreadsheet-style notation. This works in Code nodes, Agent nodes, and edge conditions.

Using the cell() Method

The cell() method provides Excel-style access to your data:

A1 Notation

// In a Code node
const name = input.value.cell('A1')           // Single cell value
const range = input.value.cell('A1:C3')       // Range as 2D array
const column = input.value.cell('A:A')        // Entire column
const row = input.value.cell('2:2')           // Entire row
// In an Agent node template
Process the customer: {{input.value.cell('A2')}}

Header-Based Access

When your first row contains headers, reference columns by name:

// Get value by header name and row index (1-based from data rows)
const firstName = input.value.cell('Name', 1)      // First data row
const secondAge = input.value.cell('Age', 2)       // Second data row

// Get entire column (data only, excluding header)
const allNames = input.value.cell('Name')          // Returns array

IntelliSense Support

When typing in Code or Agent nodes after a Sheet:

  • Autocomplete: Type input.value. to see cell method suggestion
  • Grid info: Shows grid dimensions (e.g., "5×3 grid")
  • Header hints: Shows available column headers
  • Hover preview: Hover over cell('A1') to see the actual value

Examples

Process Specific Cell

// Code node after a customer Sheet
const customerEmail = input.value.cell('Email', 1)
return { email: customerEmail }

Edge Guard Condition

// Only proceed if status is "Active"
input.value.cell('Status', 1) === 'Active'

Agent Template

Write a summary for {{input.value.cell('Name', 1)}} who works at {{input.value.cell('Company', 1)}}.

Troubleshooting

"Invalid Data Format" Error

  • Check that your input is a 2D array (array of arrays)
  • Ensure each row is an array
  • Verify the previous node outputs data correctly

Can't Edit Cells

  • Check "Allow Editing" is enabled in settings
  • Verify the node isn't in read-only mode
  • Make sure you're in detail view (expanded)

Data Not Passing Through

  • Check your Output Mode setting
  • Pass-thru: sends original input
  • Sheet: sends current grid data
  • Ensure nodes are properly connected

Grid Shows Empty

  • This is normal if no input is connected
  • Start typing to add data
  • Or connect a data source node

Formulas

The Sheet node supports over 100 spreadsheet formulas for calculations. Start any cell with = to enter a formula.

Insert Function Button (f(x))

Click the f(x) button next to the formula bar to open the function picker:

  • Browse available functions organized by category
  • Search for functions by name
  • See function descriptions and syntax
  • Click a function to insert it at the cursor position

Categories include:

  • Math: SUM, AVERAGE, MIN, MAX, ROUND, ABS, etc.
  • Text: CONCAT, LEFT, RIGHT, MID, UPPER, LOWER, etc.
  • Logical: IF, AND, OR, NOT, etc.
  • Lookup: VLOOKUP, HLOOKUP, INDEX, MATCH, etc.
  • Date: TODAY, NOW, DATE, YEAR, MONTH, DAY, etc.
  • Statistical: COUNT, COUNTA, COUNTIF, SUMIF, etc.

Common Formulas

FormulaDescriptionExample
SUMAdd numbers=SUM(A1:A10)
AVERAGECalculate mean=AVERAGE(B2:B20)
COUNTCount cells=COUNT(A:A)
IFConditional=IF(A1>10,"High","Low")
VLOOKUPLookup value=VLOOKUP(A1,B:C,2)
CONCATJoin text=CONCAT(A1," ",B1)

Formula Tips

  • Cell references update automatically when referencing other cells
  • Use A1:C10 for ranges
  • Use column letters (A:A) for entire columns
  • Formulas recalculate automatically when dependencies change

Range Selection While Editing

When editing a formula in the formula bar:

  • Click on a cell to insert its reference (e.g., A1)
  • Click and drag to select a range (e.g., A1:C5)
  • The selected range is highlighted in the grid
  • Works for both same-sheet and cross-sheet references

Multiple Sheets

The Sheet editor supports Excel-like multiple sheets within a single document, allowing you to organize related data across tabs.

Sheet Tab Bar

At the bottom of the spreadsheet editor, you'll find the sheet tab bar:

  • Tabs: Each sheet appears as a clickable tab showing its name
  • Active Sheet: The currently selected sheet is highlighted
  • Add Button (+): Click to add a new sheet

Managing Sheets

Adding Sheets

  • Click the + button at the right of the tab bar
  • New sheets are named "Sheet 1", "Sheet 2", etc. automatically

Renaming Sheets

  • Double-click on a sheet tab to edit its name inline
  • Press Enter to confirm or Escape to cancel
  • Or right-click the tab and select Rename

Duplicating Sheets

  • Right-click on a sheet tab
  • Select Duplicate
  • Creates a copy with " (Copy)" appended to the name

Deleting Sheets

  • Right-click on a sheet tab
  • Select Delete
  • Note: You cannot delete the last remaining sheet

Cross-Sheet Formulas

Reference cells from other sheets using Excel-style notation:

Basic Syntax

='Sheet Name'!A1        // Single cell from another sheet
='Sheet Name'!A1:C10    // Range from another sheet

Examples

FormulaDescription
='Sheet 1'!A1Reference cell A1 from "Sheet 1"
=SUM('Sales Data'!B2:B100)Sum range B2:B100 from "Sales Data" sheet
='Q1 Report'!C5*1.1Multiply value from another sheet
=AVERAGE('Sheet 2'!A:A)Average entire column from Sheet 2

Syntax Rules

  • Quoted names: Use single quotes when sheet names contain spaces or special characters: 'My Sheet'!A1
  • Simple names: Sheets with single-word names can omit quotes: Sheet1!A1
  • Case sensitive: Sheet names are case-sensitive

Cross-Sheet Tips

  • Formulas automatically update when the referenced sheet's data changes
  • If a referenced sheet is deleted, formulas will show #REF! error
  • Cross-sheet references work with all formula functions (SUM, AVERAGE, VLOOKUP, etc.)

Import & Export

The Sheet editor supports importing and exporting data in multiple formats.

Import Options

CSV Files

  • Open any .csv file from the file browser
  • Data loads into "Sheet 1" automatically
  • Comma-separated values are parsed into cells

Excel Files (.xlsx)

  • Open .xlsx files from the file browser
  • All sheets are imported with their original names
  • Cell formatting is preserved:
    • Background colors
    • Font colors, bold, italic, underline
    • Text alignment
    • Cell borders

Export Options

Export as CSV

  • Click the Export CSV button in the toolbar
  • Exports the active sheet only
  • Downloads as a .csv file

Export as Excel

  • Use File → Export as Excel or the export menu
  • Exports all sheets in a single .xlsx file
  • Cell formatting is preserved:
    • Background colors
    • Font styles (bold, italic, underline)
    • Font colors
    • Text alignment
    • Cell borders

Formatting Tips

  • Apply formatting using the Format panel on the right sidebar
  • Select cells, then choose colors, fonts, borders, and alignment
  • Formatting is saved with the document and exported to Excel

Limitations

  • Maximum 1000 rows × 50 columns
  • No merged cells
  • Changes are saved immediately (no undo)
  • Cell formatting requires the standalone spreadsheet editor (not available in workflow Sheet nodes)

Related Nodes

  • Code Node: For data calculations and transformations
  • Chart Node: To visualize your tabular data
  • Action Node: To save data to databases
  • Form Node: For structured data input with validation

Quick Start Templates

Template 1: Simple Database

  1. Add Sheet node
  2. Set Headers: "ID, Name, Email, Status"
  3. Set Output Mode: Sheet
  4. Connect to database save action

Template 2: Data Reviewer

  1. Connect API/Database to Sheet input
  2. Set Output Mode: Pass-thru
  3. Disable editing
  4. Add download button for exports

Template 3: Task Tracker

  1. Add Sheet with no input
  2. Set Headers: "Task, Priority, Due Date, Assigned To"
  3. Enable editing
  4. Connect to email notification node

Next Steps