Integration
n8n
One header credential, one HTTP Request node — from then on your workflows save knowledge in knowmind and look things up in it. n8n needs no extra community node for that.
Prerequisites
- An n8n instance, self-hosted or on n8n Cloud
- An email address for the knowmind account
- An access key with write if the workflow saves; read is enough for looking things up
Steps
- 1
Create your knowmind account
Enter your email address at knowmind.de. You receive a sign-in link by mail and use it to sign in. There is no password.
Then create your workspace: name, short name and plan. The Private plan costs 0 € and is enough for this guide; the pricing page lists the others.
Outcome: The welcome screen is open, offering “start by writing” and “connect my AI tool”. Three starter cards are already in your workspace.
- 2
Create the credential in n8n
Create a key in the Cockpit under keys. In n8n, use it for a header authentication credential:
textCredentials → New → HTTP Header Auth Name: knowmind Header Name: Authorization Header Value: Bearer kmt_YOUR_KEYThe key then lives in n8n rather than in single nodes; to rotate it later, the credential is all you touch.
Outcome: The credential “knowmind” is ready in n8n.
- 3
Set up the HTTP Request node
One node covers every tool: you call the MCP address over JSON-RPC and pick the tool in the
namefield.textMethod: POST URL: https://knowmind.de/api/mcp/v1 Authentication: Generic Credential Type → HTTP Header Auth → knowmind Send Body: yes, Body Content Type: JSONjson{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "knowmind_recall_memories", "arguments": { "query": "{{ $json.subject }}", "k": 5 } } }Outcome: The node answers with plain JSON. The hits sit in
result.content[0].text; a following node reads them out. - 4
Activate the workflow and call it
Save the workflow, activate it and trigger it — with a webhook trigger, through the production URL rather than the test URL. To save instead of search, change only the tool name and the fields:
json{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "knowmind_store_memory", "arguments": { "memory_type": "episodic", "title": "Mail from {{ $json.from }}", "content": "{{ $json.subject }}\n\n{{ $json.text }}", "source": "n8n" } } }Outcome: The run ends with HTTP 200 and a
resultfield, and the saved content is found in the next recall straight away. - 5
Plan for the rate limit
Workflows that query knowmind in a loop, such as an import of old mail, run into the rate limit. It applies to the tools that query the memory; saving and linking do not count towards it.
Over this route the limit does not arrive as a status code: the node receives HTTP 200 with an
errorfield carrying the code-32004. As far as n8n is concerned the call succeeded, so Retry On Fail does not catch it. Check in the next node whethererroris set, and slow the workflow down with a wait node. The limits of your plan are on the German limits page.
Verify the result
The integration works when all three hold:
- The node returns HTTP 200 with a
resultfield. - A call to
knowmind_get_healthreports the service as reachable. - The Cockpit shows the call in the timeline and a last-used time under keys.
Troubleshooting
| Error message | Cause | Resolution |
|---|---|---|
| HTTP 401 | The header is missing, or the key has been revoked. | Check the format: Authorization: Bearer kmt_… with a space after Bearer. The credential must be selected in the node, not merely created. |
| HTTP 200 with error -32002 in the body | The key only carries read, and the workflow wants to save. | Create a key with read and write in the Cockpit, put it in the credential and revoke the old one. |
| HTTP 200 with error -32004 in the body | The workspace rate limit is reached. The status code stays 200, so the node reports no failure. | Check the error field in the next node, slow the workflow down with a wait node, or move to a plan with a higher limit. |
| The webhook trigger stays silent | The URL being called is the workflow's test URL. | Activate the workflow and use the webhook's production URL; n8n keeps the two apart. |
The other direction: let n8n react to events from knowmind
To start a workflow when something is created or changed in knowmind, set up a webhook trigger in n8n and register its production URL in the Cockpit under webhooks. Which events exist, how the signature is checked and what the notification contains is on the German webhooks page.
Accept header n8n sends by default, knowmind answers with plain JSON.
