The Add operation exposed app_id, includes, and excludes in Additional Fields and forwarded them to POST /v3/memories/add/. None of the three are declared on that endpoint's schema (they belong to MemoryInput, used by POST /v1/memories/), so they were silently dropped by the server. app_id was worse than a no-op: the entity-id guard accepted it as satisfying "at least one entity id", so filling only App ID passed local validation and then sent a v3 request carrying no scope v3 recognises. The guard now requires User ID, Agent ID, or Run ID. Docs corrections alongside it: - Add: document Custom Instructions and Custom Categories, which the node has always supported but the docs never mentioned - Get Many: document Return All, which the docs omitted entirely - README: Infer and Wait for Completion are independent controls; the README claimed infer=false returns synchronously, contradicting the node's own field description and its actual behaviour
@mem0/n8n-nodes-mem0
This is an n8n community node that lets you use Mem0 — the memory layer for AI agents — in your n8n workflows.
Mem0 gives your agents long-term memory: add memories from conversations, then search and recall them across sessions.
n8n is a fair-code licensed workflow automation platform.
Installation · Operations · Credentials · Usage · Resources
Installation
Follow the community nodes installation guide and install @mem0/n8n-nodes-mem0.
Operations
The Memory resource supports:
| Operation | Description | Endpoint |
|---|---|---|
| Add | Extract and store memories from messages | POST /v3/memories/add/ |
| Search | Semantic search over stored memories | POST /v3/memories/search/ |
| Get Many | List memories for a user (single page, or Return All) | POST /v3/memories/ |
| Get | Retrieve a single memory by ID | GET /v1/memories/{id}/ |
| Update | Update a memory's text or metadata | PUT /v1/memories/{id}/ |
| Delete | Delete a single memory by ID | DELETE /v1/memories/{id}/ |
Add & asynchronous extraction
By default, Add runs LLM-based extraction asynchronously: the API returns an event ID and the node polls until extraction finishes, then returns the resulting memories.
Two independent controls:
- Wait for Completion (on by default) decides whether the node polls. Turn it off to return immediately with the event ID.
- Infer (on by default, under Additional Fields) decides whether the API runs LLM extraction at all. Turn it off to store the messages verbatim.
Custom Instructions and Custom Categories (also under Additional Fields) steer what extraction keeps for that call.
Credentials
You need a Mem0 API key. Create one at app.mem0.ai → Settings → API Keys. The key is sent as Authorization: Token <key>.
Usage
This node is also usable as a tool by n8n's AI Agent node — attach it so an agent can "remember" and "recall" autonomously.
A typical loop:
- Search memory before answering, filtered by
User ID. - Add durable facts after a meaningful exchange.
Memory writes are asynchronous by default; allow a moment after an Add before searching for the same content.
Telemetry
This node sends no third-party telemetry. Its API requests are tagged with source: "N8N" so Mem0 can see aggregate usage of the integration. No separate analytics service is contacted and nothing else is collected.