Package Information
Documentation
n8n-nodes-caspiopreview
This is an n8n community node officially supported by Caspio for integrating with the Caspio REST API. It provides comprehensive workflow automation capabilities including:
- Webhook triggers for real-time event notifications
- CRUD operations on tables and views (create, read, update, delete records)
- User directory management for authentication and user operations
- File operations for both Bridge (Files area) and Flex (attachment fields) storage
- Data Export/Import Tasks execution and management
Caspio is a cloud platform for building online database applications without coding. It provides database management, user authentication, web forms, reports, and REST API integration capabilities.
n8n is a fair-code licensed workflow automation platform.
Table of content
Operations
This node provides comprehensive access to the Caspio REST API through the following resources and operations:
Caspio Node (Action Node)
Table
- Select Records - Query and retrieve records with advanced filtering, sorting, and pagination
- Create Record - Create a new table record
- Update Records - Update table records with optional filtering
- Delete Records - Delete table records with optional filtering
View
- Select Records - Query and retrieve records with advanced filtering, sorting, and aggregations
Directory
- List Directories - Get all directories
- Get Users - Retrieve users from a directory
- Create User - Create a new user in a directory
- Update Users - Update users in a directory
- Delete Users - Delete users from a directory
- Activate User - Activate a user in a directory
File (Files Area / Bridge)
- List Files - Retrieve files from the Files area
- List Folders - Retrieve folders from the Files area
- Upload a File - Upload a file to the Files area
- Download a File - Download file content
- Delete a File - Delete a file from the Files area
Attachment (Flex Tables)
- List Table Attachments - List and filter attachment metadata from a table
- List View Attachments - List and filter attachment metadata from a view
- Upload - Upload a file to a table record attachment field
- Download - Download binary data from an attachment field
- Delete Attachments - Delete file(s) from a table attachment field using a WHERE clause
Task
- Get Tasks - Retrieve tasks
- Run Task - Execute a task
Caspio Trigger Node (Webhook Trigger)
- Webhook - Listen for real-time events from Caspio via webhooks
- Supports automatic webhook registration
- Handles incoming data from Caspio trigger events
- Configurable webhook activation
Credentials
This node uses OAuth2 authentication with the Caspio REST API.
Prerequisites
- A Caspio account with API access enabled
- Access to your Caspio account settings to create API credentials
Setup Instructions
Log in to your Caspio account and navigate to your account settings
Create a REST API profile:
- Go to Settings > REST API
- Click Add Profile or edit an existing profile
- Note your Integration URL (e.g.,
c1hcv374.caspio.com) - Generate or copy your Client ID and Client Secret
Configure credentials in n8n:
- In n8n, create new Caspio OAuth2 API credentials
- Enter your Integration URL (e.g.,
c1hcv374.caspio.com) - Enter your Client ID
- Enter your Client Secret
- Save the credentials
Installation
⚠️ TEMPORARY - FOR INTERNAL USE ONLY
This section is for internal development and testing. To be replaced with end-user installation instructions before publishing to npm.
Prerequisites
- Node.js 18+ (LTS recommended)
- n8n installed globally (
npm install n8n -g) - Git
Local Installation Steps
git clone https://github.com/reinventors-caspio/n8n-node-preview.git
cd n8n-node-preview
npm install
npm run dev
Note: npm run dev automatically handles building, installing to ~/.n8n-node-cli, and starting the n8n server with live reload. The @n8n/node-cli tool is installed via devDependencies.
Development
Available Commands
npm run build- Build the project (compiles TypeScript and builds icons)npm run dev- Run n8n with the node and rebuild on changes for live previewnpm run lint- Run ESLint on nodes, credentials, and package.jsonnpm run lint:fix- Auto-fix ESLint issuesnpm run format- Format code using Prettier (not currently configured)npm run prepublishOnly- Full build and lint check for publishing
Project Structure
n8n-nodes-caspio/
├── nodes/Caspio/
│ ├── Caspiopreview.node.ts # Main action node
│ ├── CaspiopreviewTrigger.node.ts # Webhook trigger node
│ ├── router.ts # Operation router
│ ├── node.type.ts # Type definitions
│ ├── actions/ # Resource operations
│ │ ├── table/ # Table CRUD operations
│ │ ├── view/ # View read operations
│ │ ├── directory/ # Directory user management
│ │ ├── file/ # File operations (Bridge)
│ │ ├── attachment/ # Attachment operations (Flex)
│ │ ├── task/ # Task operations
│ │ └── shared/ # Shared operations
│ ├── helpers/ # Utilities
│ │ ├── builders/ # Query builders (WHERE, SELECT, ORDER BY)
│ │ ├── ui/ # UI property generators
│ │ ├── utils.ts # Utility functions
│ │ ├── interfaces.ts # TypeScript interfaces
│ │ └── api.ts # API helpers
│ └── methods/ # n8n methods (loadOptions, listSearch, resourceMapping)
├── credentials/
│ └── CaspioOAuth2Api.credentials.ts # OAuth2 credentials
├── dist/ # Built output (generated)
└── package.json
Linter
This project uses the official n8n-node CLI linter and ESLint to ensure code quality.
Running Linter
npm run lint
npm run lint:fix
What Gets Checked
n8n-specific linting:
- n8n node property conventions
- Node structure and patterns
- Required fields and metadata
- n8n development best practices
ESLint (v9.32.0):
- TypeScript type safety
- Strict type checking
- Unused variable detection
- Code style consistency
Important Rules
- NEVER disable ESLint rules - Use proper typing instead
- Use TypeScript generics for type safety
- Avoid
anytype - use specific interfaces - All node properties must follow n8n conventions
Pre-publish Check
Before publishing:
npm run prepublishOnly
Runs complete build and lint verification.
Checklist Before Publishing
Before publishing this node to npm, complete the following tasks:
1. Package Naming
- Rename the package from
n8n-nodes-caspiopreviewton8n-nodes-caspioofficial(or similar) as the namen8n-nodes-caspiois already taken in the npm registry
Files to update:
-
package.json→namefield:"n8n-nodes-caspiopreview"→"n8n-nodes-caspioofficial" -
package.json→n8n.nodesarray paths:"dist/nodes/Caspio/Caspiopreview.node.js"→"dist/nodes/Caspio/Caspioofficial.node.js""dist/nodes/Caspio/CaspiopreviewTrigger.node.js"→"dist/nodes/Caspio/CaspioofficialTrigger.node.js"
- Rename node files:
nodes/Caspio/Caspiopreview.node.ts→Caspioofficial.node.tsnodes/Caspio/CaspiopreviewTrigger.node.ts→CaspioofficialTrigger.node.ts
- Update class names inside node files:
Caspiopreview.node.ts:export class Caspiopreview→export class CaspioofficialCaspiopreviewTrigger.node.ts:export class CaspiopreviewTrigger→export class CaspioofficialTrigger
- Update node names inside node files:
Caspiopreview.node.ts:name: 'caspiopreview'→name: 'caspioofficial'CaspiopreviewTrigger.node.ts:name: 'caspiopreviewTrigger'→name: 'caspioofficialTrigger'
- Update node codex files:
nodes/Caspio/Caspio.node.json:"node": "n8n-nodes-caspiopreview.caspiopreview"→"node": "n8n-nodes-caspioofficial.caspioofficial"nodes/Caspio/CaspioTriggerNode.json:"node": "n8n-nodes-caspiopreview.caspiopreviewTrigger"→"node": "n8n-nodes-caspioofficial.caspioofficialTrigger"
- Update README title:
# n8n-nodes-caspiopreview→# n8n-nodes-caspioofficial
2. Documentation Updates
Replace documentation links with official Caspio documentation URLs
- Update links in README to point to official Caspio help resources
- Ensure all URLs are publicly accessible
- Add links to any Caspio-specific guides or tutorials
Rewrite README from technical/developer perspective to end-user perspective
Set version to 1.0.0 in
package.json- This will be the first public release
- Follow semantic versioning for future releases
4. Package Metadata
- Review and update package.json fields:
- Review
homepage- currently set tohttps://www.caspio.com(change to specific n8n landing page if available) - Review
keywords- currently includes:caspio,database,rest-api,crud,webhooks,low-code - Update
repository.urlif moved to official Caspio GitHub organization - Verify
authoris correct (currently Mateusz Kalinowski)
- Review
- Review LICENSE file - MIT license created, copyright holder is "Caspio, Inc."
License
Author
Mateusz Kalinowski
Email: mateusz.kalinowski@caspio.com