Back to Nodes

Rows

Last updated Dec 29, 2025

Rows n8n node

4 Weekly Downloads
38 Monthly Downloads

Included Nodes

Rows

Description

n8n-nodes-rows

An n8n community node for integrating with the Rows API.

  • Development Setup
  • Prerequisites
    Installation
    Project Structure

  • Implementation Details
  • Node Architecture
    API Integration
    Key Files
    Rows.node.ts
    operations/
    utils/validation.ts
    RowsApi.credentials.ts

  • Development Workflow
  • Making Changes
    Testing Locally
    Debugging

  • Publishing
  • Resources
  • Example workflows
  • Vision

    Development Setup

    Prerequisites

  • Node.js 20+ and npm
  • n8n installed globally: npm install n8n -g
  • Git
  • Installation

    1. Clone the repository:

       git clone 
       cd n8n-nodes-rows
       

    2. Install dependencies:

       npm install
       

    3. Build the node:

       npm run build
       

    4. Link for local development:

       npm link
       

    5. Link in your n8n installation:

       cd ~/.n8n/custom
       npm link @rowshq/n8n-nodes-rows
       

    In case you don’t have the folder custom locally, you can create it with mkdir custom

    6. Restart n8n to load the node

    Project Structure

    n8n-nodes-rows/
    ├── credentials/
    │   └── RowsApi.credentials.ts    # API credential configuration
    ├── nodes/
    │   └── Rows/
    │       ├── operations/          # Operation-specific implementations
    │       │   ├── appendData.ts    # Append Data operation
    │       │   ├── overwriteData.ts # Overwrite Data operation
    │       │   └── importVisionData.ts # Vision Import operation
    │       ├── utils/                # Shared utilities
    │       │   └── validation.ts    # File validation functions
    │       ├── Rows.node.ts         # Main node implementation
    │       ├── Rows.node.json       # Node codex metadata
    │       └── rows.svg             # Node icon
    ├── package.json
    └── tsconfig.json
    

    Implementation Details

    Node Architecture

    The node implements three operations:

  • Append Data: Uses the /values/{range}:append endpoint
  • Overwrite Data: Uses the /cells/{range} endpoint
  • Import Vision Data: Uses the /vision/import endpoint for extracting data from image files
  • All operations are extracted into standalone async functions in the operations/ directory:

  • appendDataToTable: Appends data to a table
  • overwriteDataInTable: Overwrites data in a table
  • importVisionData: Processes a single item (one file per request)
  • importVisionDataFromAllItems: Processes all items (multiple files in one request)
  • Shared utilities (file validation, constants) are in the utils/ directory.

    API Integration

    The node uses:

  • httpRequestWithAuthentication for authenticated API calls
  • Dynamic option loading for spreadsheets, tables, and folders
  • Bearer token authentication via credentials
  • Multipart form data for file uploads (vision import)
  • Key Files

    #### Rows.node.ts
    Main node implementation with:

  • Node description and properties
  • loadOptions methods for dynamic dropdowns (spreadsheets, tables, folders)
  • execute method for processing workflow items
  • Orchestrates calls to operation functions
  • #### operations/
    Operation-specific implementations:

  • appendData.ts: Append data to spreadsheet tables
  • overwriteData.ts: Overwrite data in spreadsheet tables
  • importVisionData.ts: Vision import with file handling and multipart form data
  • #### utils/validation.ts
    Shared validation utilities:

  • File type validation (png, jpg, jpeg, webp, pdf)
  • File size validation (per file and total limits)
  • Maximum number of files validation
  • #### RowsApi.credentials.ts
    Defines the credential schema for Rows API key authentication.

    Development Workflow

    Making Changes

    1. Edit the TypeScript files in nodes/ or credentials/
    2. Run linter:

       npm run lint
       # or auto-fix issues:
       npm run lintfix
       

    3. Rebuild:

       npm run build
       

    Testing Locally

    1. Start n8n in development mode:

       n8n start
       

    2. Access n8n at http://localhost:5678

    3. Create a workflow with the Rows node

    Debugging

    Enable n8n debug logging:

    export N8NLOGLEVEL=debug
    n8n start
    

    Check logs for API request/response details.

    Publishing

    1. Update version in package.json
    2. Build: npm run build
    3. Publish to npm: npm publish
    4. (Optional) Submit for n8n cloud verification: docs

    Resources

  • n8n node development docs
  • Rows API documentation
  • n8n community nodes
  • npm package (this)

Example workflows

Vision

Read/Write files (file1) ──┐
                           ├──> Merge ──> Rows (Import Vision Data)
Read/Write files (file2) ──┘