Package Information
Downloads: 75 weekly / 920 monthly
Latest Version: 2.0.6
Author: Kyuda
Available Nodes
Documentation
@kyuda/n8n-nodes-databricks
Comprehensive Databricks integration for n8n. Provides nodes for SQL, Unity Catalog, Jobs, Clusters, Files, Genie AI, Vector Search, and Model Serving.
Features
- Genie AI Assistant -- Start conversations, send messages, and execute SQL queries through Databricks' AI assistant
- Databricks SQL -- Execute SQL queries with automatic chunked result retrieval
- Unity Catalog -- Manage catalogs, schemas, tables, volumes, and functions
- Model Serving -- Query deployed ML/LLM endpoints with auto-detected input format
- Files -- Upload, download, list, and manage files in Unity Catalog volumes (up to 5 GiB)
- Vector Search -- Semantic similarity search with reranking support
- Jobs -- Run, create, list, cancel, and monitor Databricks job runs
- Clusters -- List, create, start, stop, and delete Databricks compute clusters
Prerequisites
- Node.js 18+
- pnpm
- A Databricks workspace with credentials (PAT or OAuth Service Principal)
Installation
For Development
git clone https://github.com/kyudahq/n8n.git
cd n8n/@kyuda/n8n-nodes-databricks
pnpm install
pnpm build
Link to your n8n installation:
npm link
cd ~/.n8n/custom
npm link @kyuda/n8n-nodes-databricks
From npm
npm install @kyuda/n8n-nodes-databricks
Credentials
Two authentication methods are supported:
Personal Access Token (default)
- Host -- Your Databricks workspace URL (e.g.
https://adb-1234567890123456.7.azuredatabricks.net) - Token -- A Databricks personal access token (generate at User Settings > Access Tokens)
OAuth M2M (Service Principal)
- Host -- Your Databricks workspace URL
- Client ID -- The application (client) ID of a Databricks service principal
- Client Secret -- The secret associated with the service principal
The OAuth flow uses grant_type=client_credentials against your workspace's /oidc/v1/token endpoint. Tokens are cached and refreshed automatically.
Resources and Operations
Databricks (main node)
| Resource | Operations |
|---|---|
| Genie | Start Conversation, Create Message, Get Message, Execute Message Query, Get Query Results, Get Space |
| Databricks SQL | Execute Query |
| Unity Catalog | Create/Get/Update/Delete Catalog, List Catalogs, Create/Get/Update/Delete Schema, List Schemas, Create/Get/Delete Volume, List Volumes, Get/List Tables, Create/Get/Delete Function, List Functions |
| Model Serving | Query Endpoint (auto-detects chat/completions/embeddings/dataframe formats) |
| Files | Upload File, Download File, Delete File, Get File Info, List Directory, Create Directory, Delete Directory |
| Vector Search | Query Index, Get Index, List Indexes |
| Jobs | Run Job, Get Run Status, Get Run Output, Create Job, List Jobs, Cancel Run, List Runs |
| Clusters | List Clusters, Get Cluster, Create Cluster, Start Cluster, Stop Cluster, Delete Cluster |
Architecture
@kyuda/n8n-nodes-databricks/
├── credentials/
│ └── Databricks.credentials.ts # PAT + OAuth M2M
└── nodes/
└── Databricks/
├── Databricks.node.ts # Main node (slim dispatcher)
├── helpers.ts # Shared HTTP helper, cache, security utils
└── resources/
├── index.ts # Barrel exports
├── clusters/ # operations, parameters, handler
├── databricksSql/ # operations, parameters, handler
├── files/ # operations, parameters, handler
├── genie/ # operations, parameters, handler
├── jobs/ # operations, parameters, handler
├── modelServing/ # operations, parameters, handler
├── unityCatalog/ # operations, parameters, handler
└── vectorSearch/ # operations, parameters, handler
Execution Flow
User selects Resource → Operation → fills Parameters
↓
execute() dispatcher (Databricks.node.ts)
↓
handlers[resource](ctx, operation, itemIndex)
↓
Per-resource handler file (e.g. resources/jobs/handler.ts)
↓
databricksApiRequest() (shared helper with auth, host normalization)
↓
Databricks REST API
Security
- Token masking -- Bearer tokens and PAT values are scrubbed from all error messages and logs
- URL encoding -- All user-provided path segments are passed through
encodeURIComponent - Path traversal protection -- File operations reject paths containing
.. - Cache isolation -- Cache keys include a hash of the credential token, preventing cross-user cache leaks
Development
pnpm build # Build the node
pnpm test # Run tests
pnpm lint # Lint
pnpm lintfix # Auto-fix lint issues
Contributing
Contributions are welcome. Please submit a Pull Request at github.com/kyudahq/n8n.