An n8n community node for integrating with the Rows API.
- Node.js 20+ and npm
- n8n installed globally:
npm install n8n -g
- Git
-
Clone the repository:
git clone <your-repo-url> cd n8n-nodes-rows
-
Install dependencies:
npm install
-
Build the node:
npm run build
-
Link for local development:
npm link
-
Link in your n8n installation:
cd ~/.n8n/custom npm link n8n-nodes-rows
In case you don't have the folder custom
locally, you can create it with mkdir custom
- Restart n8n to load the node
n8n-nodes-rows/
├── credentials/
│ └── RowsApi.credentials.ts # API credential configuration
├── nodes/
│ └── Rows/
│ ├── Rows.node.ts # Main node implementation
│ ├── Rows.node.json # Node codex metadata
│ └── rows.svg # Node icon
├── package.json
└── tsconfig.json
The node implements two operations:
- Append Data: Uses the
/values/{range}:append
endpoint - Overwrite Data: Uses the
/cells/{range}
endpoint
Both operations are extracted into standalone async functions (appendDataToTable
, overwriteDataInTable
) that receive the execution context and item index as parameters.
The node uses:
httpRequestWithAuthentication
for authenticated API calls- Dynamic option loading for spreadsheets and tables
- Bearer token authentication via credentials
Main node implementation with:
- Node description and properties
loadOptions
methods for dynamic dropdownsexecute
method for processing workflow items- Helper functions for API operations
Defines the credential schema for Rows API key authentication.
- Edit the TypeScript files in
nodes/
orcredentials/
- Run linter:
npm run lint # or auto-fix issues: npm run lintfix
- Rebuild:
npm run build
-
Start n8n in development mode:
n8n start
-
Access n8n at
http://localhost:5678
-
Create a workflow with the Rows node
Enable n8n debug logging:
export N8N_LOG_LEVEL=debug
n8n start
Check logs for API request/response details.
- Update version in
package.json
- Build:
npm run build
- Publish to npm:
npm publish
- (Optional) Submit for n8n cloud verification: docs