n8n node

Use the Artefaktum community node in n8n to upload, cache, find and manage artifacts

Status

The node is published on npm and submitted to n8n for community node verification. Until n8n approves it, it does not appear in the Community Nodes catalogue or on n8n Cloud. The verified release is expected soon; in the meantime it installs on self-hosted n8n as below.

Install

On self-hosted n8n, either install it by package name under Settings → Community Nodes, or:

npm install n8n-nodes-artefaktum

This adds node Artefaktum and credential Artefaktum API.

Credentials

Mint a key in the console and paste it into the credential’s API Key field. Grant only the scopes needed: read, write, search, delete (only if deleting). Base URL defaults to https://api.artefaktum.dev; change only for self-hosting.

Operations

Artifact

Operation Purpose
Upload Store a new artifact from a binary property or text/JSON.
Get or Upload Return a cached artifact under an external key if fresh enough, else upload and cache it.
Download Download an artifact’s file into a binary property.
Get Fetch one artifact by ID or external key.
Get Many Search or list artifacts.
Update Replace title, description, tags, metadata or expiry.
Delete Delete an artifact by ID.

Project

Operation Purpose
Get Many List the projects in your tenant; no parameters.

Project’s “From List” mode lists your account’s projects; every account also has slug default.

Upload

Parameter Notes
Project The owning project.
Input Data Source Binary property, or text/JSON via expression.
Input Binary Field Binary property holding the file.
Content Text to store (text source).
File Name Defaults to the binary or a generated name.
Content Type Defaults to the binary type, or text/plain.
Title Searched by agents; defaults to the file name.
Options → Description Searched semantically.
Options → Expires In (Hours) Auto-delete after N hours; 0 keeps it.
Options → External Key Your own unique key within the project.
Options → Metadata (JSON) Filterable structured metadata.
Options → Tags Comma-separated.

Node versions up to 0.1.3 still show an Options → Summary field. Leave it empty: the API refuses an upload that sets it. Version 0.2.0 removes the field.

Field sizes are limited; see Limits.

Upload returns the artifact with status: "processing" for a few seconds while search metadata is derived; Get Many only finds it once ready.

Get or Upload

Same fields as Upload, plus:

Parameter Notes
External Key A fresh-enough artifact with this key is returned instead of uploading.
Max Age (Seconds) Reuse only if younger; 0 accepts any age.

Output carries cache: "hit" or cache: "created".

Download

Parameter Notes
Artifact ID E.g. from an earlier Artefaktum node.
Download Options → File Name Override the output name.
Download Options → Put Output File in Field Target binary property.
Download Options → Verify Checksum Compare bytes to the stored SHA-256.
Download Options → Version ID Defaults to latest.

Get

Parameter Notes
Lookup By ID or by External Key.
Artifact ID Lookup = By ID.
External Key Lookup = By External Key.
Project Resolves the key (Lookup = By External Key).
Simplify Simplified vs. raw response; on by default.

Get Many

Parameter Notes
Project Project to search or list within.
Query Free text; empty lists by filters.
Search Mode Hybrid, Semantic or Text.
Return All Vs. a fixed Limit.
Limit Max results.
Simplify Simplified vs. raw response; on by default.
Filters → Content Types Comma-separated MIME types.
Filters → Created After / Before Date range.
Filters → Include Superseded Include superseded artifacts.
Filters → Tags (All Of) Comma-separated; every tag must match.

No sort option: the API ranks results itself.

Update

Parameter Notes
Artifact ID The artifact to update.
Update Fields → Title, Description, Tags, Metadata (JSON) Leave blank to keep unchanged; clearing back to empty isn’t supported yet.
Update Fields → Expires At Set a new expiry.
Update Fields → Clear Expiry Remove the expiry.

Delete

Takes Artifact ID only.

Recipe: caching a third-party API response

Get or Upload de-duplicates an expensive call (an HTTP request, an LLM generation, a report render) by keying its result so later runs, here or elsewhere, reuse it.

Give it an External Key such as weather:vilnius:2026-09-23 and a Max Age (Seconds). A fresh-enough artifact under that key returns as-is (cache: "hit"); otherwise your content uploads and is stored under it (cache: "created"). The key isn’t workflow-scoped, so another workflow using it gets the cache too.

A worked example, Manual Trigger → HTTP Request → Get or Upload caching an hour under a per-day key, ships as examples/cache-api-response.json in the repo.

Get or Upload always needs the content on hand, since the API requires size_bytes. To skip that, call Get by external key first and branch on success.

Limits

Per-plan quotas apply (storage, rate, artifact count; see pricing), plus a per-file limit: 100 MB on Free, 5 GB on Pro. An exceeded quota returns quota_exceeded.

The node’s memory use is the tighter constraint on small instances: it buffers each file fully, roughly 2-3x its size per item. Keep files to tens of MB and avoid large batches under limited memory.

Compatibility

Requires n8n 1.0+. Tested against n8nio/n8n:latest (September 2026) and Node.js 20, 22, 24. No runtime dependencies.

See also the TypeScript SDK, the REST API, and the full README.

This page as Markdown: /docs/n8n.md