caspiopreview

n8n community node for integrating with the Caspio REST API - create, read, update and delete records in Caspio tables and views

Package Information

Downloads: 863 weekly / 1,901 monthly
Latest Version: 1.0.29
Author: Mateusz Kalinowski

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

  1. A Caspio account with API access enabled
  2. Access to your Caspio account settings to create API credentials

Setup Instructions

  1. Log in to your Caspio account and navigate to your account settings

  2. 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
  3. 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 preview
  • npm run lint - Run ESLint on nodes, credentials, and package.json
  • npm run lint:fix - Auto-fix ESLint issues
  • npm 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 any type - 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-caspiopreview to n8n-nodes-caspioofficial (or similar) as the name n8n-nodes-caspio is already taken in the npm registry

Files to update:

  • package.jsonname field: "n8n-nodes-caspiopreview""n8n-nodes-caspioofficial"
  • package.jsonn8n.nodes array 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.tsCaspioofficial.node.ts
    • nodes/Caspio/CaspiopreviewTrigger.node.tsCaspioofficialTrigger.node.ts
  • Update class names inside node files:
    • Caspiopreview.node.ts: export class Caspiopreviewexport class Caspioofficial
    • CaspiopreviewTrigger.node.ts: export class CaspiopreviewTriggerexport 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 to https://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.url if moved to official Caspio GitHub organization
    • Verify author is correct (currently Mateusz Kalinowski)
  • Review LICENSE file - MIT license created, copyright holder is "Caspio, Inc."

License

MIT

Author

Mateusz Kalinowski
Email: mateusz.kalinowski@caspio.com

Discussion