Description
n8n-nodes-klaaro
Community n8n node for the Klaaro document extraction API.
Installation
Community nodes (recommended)
In n8n, go to Settings → Community nodes, install n8n-nodes-klaaro.
Manual install
cd ~/.n8n/custom
npm install n8n-nodes-klaaro
Restart n8n after installing.
Credentials
Create a Klaaro credential with your API key (sk_...). Obtain keys from the Klaaro dashboard under Team → API keys.
The credential injects Authorization: Bearer on every request.
Nodes
Klaaro (action node)
| Resource | Operation | Description |
|———-|———–|————-|
| Document | Upload | Upload a file or URL; optionally wait for extraction and return records |
| Document | Get | Get a document by ID |
| Document | List | List documents with filters |
| Document | Delete | Delete a document |
| Document | Get Records | Get extracted records for a document (clean / flat / nested) |
| Dataset | List | List datasets |
| Dataset | Get | Get a dataset by ID |
| Dataset | Get Records | List dataset records with filters |
| Dataset | Get Classes | List classes in a dataset |
| Dataset | Get Class | Get a class by slug |
| Dataset | Get Approval Queue | List approval queue items |
| Record | Get | Get a record (clean / flat / nested) |
| Record | Get Field Events | List field change events |
| Record | Get Comments | List record comments |
| Record | Get Approvals | List approval events |
Upload and wait: enable Wait Until Done to poll until the document completes, then optionally attach extracted records in the same output item.
Klaaro Trigger
Starts a workflow when Klaaro sends webhook events. On activation, the node registers a webhook via the Klaaro API and removes it on deactivation.
Supported events:
document.extraction_completeddocument.failedrecord.updated- Node.js 18+
- A local n8n instance (
npm install -g n8nor a cloned n8n repo) - A Klaaro API key for credential testing
When Klaaro returns a signingSecret at webhook creation, incoming deliveries are verified with Klaaro-Signature (t=).
Test mode: click Listen for test event on the trigger node before triggering events in Klaaro. The listener stays open for about 2 minutes.
Local development
Prerequisites
1. Clone and build
git clone https://github.com/klaaro-ai/n8n-nodes-klaaro.git
cd n8n-nodes-klaaro
npm install
npm run build
2. Publish the package locally
From the n8n-nodes-klaaro directory:
npm link
3. Link into n8n
n8n loads community nodes from ~/.n8n/custom/. Create that directory if it does not exist:
mkdir -p ~/.n8n/custom
cd ~/.n8n/custom
npm init -y # only needed on first setup
npm link n8n-nodes-klaaro
If your n8n install uses a custom extensions path, link the package there instead (set via N8NCUSTOMEXTENSIONS).
4. Start n8n
n8n start
Open n8n in the browser and search for Klaaro in the node panel.
5. Iterate on changes
In one terminal, watch TypeScript:
cd n8n-nodes-klaaro
npm run watch
After each change, copy icons if you edited SVG/PNG assets:
npm run build
Restart n8n (or set N8NDEVRELOAD=true when running n8n from source) to pick up credential or node definition changes.
Scripts
| Command | Description |
|—————-|————————————–|
| npm run build | Compile TS and copy icons to dist/ |
| npm run watch | Recompile TS on file changes |
| npm run lint | Run ESLint (n8n community rules) |
| npm run lintfix| Auto-fix lint issues |
Troubleshooting
npm link n8n-nodes-klaaro ran inside ~/.n8n/custom, then restart n8n.npm run build in n8n-nodes-klaaro before restarting n8n.read scope and targets https://klaaro.ai/api/v1.License
MIT