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 toresults
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
| Setting | Default | Range | Description |
|---|---|---|---|
| Rows | 10 | 1-1000 | Number of rows to display |
| Columns | 5 | 1-50 | Number of columns to display |
| Cell Width | 100px | Any | Width of each cell |
| Cell Height | 30px | Any | Height 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 seecellmethod 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
| Formula | Description | Example |
|---|---|---|
| SUM | Add numbers | =SUM(A1:A10) |
| AVERAGE | Calculate mean | =AVERAGE(B2:B20) |
| COUNT | Count cells | =COUNT(A:A) |
| IF | Conditional | =IF(A1>10,"High","Low") |
| VLOOKUP | Lookup value | =VLOOKUP(A1,B:C,2) |
| CONCAT | Join text | =CONCAT(A1," ",B1) |
Formula Tips
- Cell references update automatically when referencing other cells
- Use
A1:C10for 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
| Formula | Description |
|---|---|
='Sheet 1'!A1 | Reference cell A1 from "Sheet 1" |
=SUM('Sales Data'!B2:B100) | Sum range B2:B100 from "Sales Data" sheet |
='Q1 Report'!C5*1.1 | Multiply 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
.csvfile from the file browser - Data loads into "Sheet 1" automatically
- Comma-separated values are parsed into cells
Excel Files (.xlsx)
- Open
.xlsxfiles 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
.csvfile
Export as Excel
- Use File → Export as Excel or the export menu
- Exports all sheets in a single
.xlsxfile - 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
- Add Sheet node
- Set Headers: "ID, Name, Email, Status"
- Set Output Mode: Sheet
- Connect to database save action
Template 2: Data Reviewer
- Connect API/Database to Sheet input
- Set Output Mode: Pass-thru
- Disable editing
- Add download button for exports
Template 3: Task Tracker
- Add Sheet with no input
- Set Headers: "Task, Priority, Due Date, Assigned To"
- Enable editing
- Connect to email notification node
Next Steps
- Learn about Template Variables to make your Sheet dynamic
- Explore Chart Nodes to visualize your data
- Check out Code Nodes for data transformations