Skip to main content

The Memory Layer Every n8n Workflow Was Missing

· 11 min read
Ben Bartholomew
Hindsight Team

The Memory Layer Every n8n Workflow Was Missing

n8n is the connective tissue of modern automation. Slack, Gmail, Stripe, Notion, Sheets, Zendesk, Gong, OpenAI, Anthropic — 500+ integrations strung together by an open-source workflow engine you can self-host or run on n8n Cloud. If a thing has an API, the platform can probably wire it into a workflow.

There has been one consistent gap. Every workflow run starts from zero. The workflow that just closed a Zendesk ticket has no idea that workflow ran yesterday. The sales-call summarizer doesn't know what was said on last week's call with the same prospect. The Slack bot that answers questions has no memory of the question it just answered five minutes ago.

We just shipped a fix. The Hindsight community node adds persistent memory to any n8n workflow with three operations — Retain, Recall, and Reflect. Drop it in alongside any of the platform's other 500+ integrations and your workflows stop being stateless and start compounding.

TL;DR

  • The new @vectorize-io/n8n-nodes-hindsight community node gives any n8n workflow access to Hindsight's persistent memory layer
  • One node, three operations: Retain (store), Recall (search), Reflect (LLM-synthesized answer)
  • Works with Hindsight Cloud or self-hosted Hindsight
  • Install today via Settings → Community Nodes on self-hosted n8n; n8n Cloud install is pending Verified Node review
  • Real-use examples below: support workflows that learn from every closed ticket, sales-call coaches that remember every prior touchpoint, Slack bots that build a continuous relationship with the user

Why This Matters For n8n Specifically

Every other automation platform has the same problem n8n does — workflows fire, complete, and forget. n8n hits it harder than most because of what people actually use it for.

Look at a typical n8n graph. A trigger fires (a webhook, a cron, a form submission). Data flows through enrichment nodes (lookup in Sheets, fetch from CRM). It hits an LLM node (OpenAI, Anthropic, Cohere). It writes back somewhere (Slack message, email, ticket update). The workflow ends. Everything that just happened is gone.

That's fine for one-off automations. It is genuinely painful for the workflows people are increasingly building in n8n:

  • Customer-facing automations that should treat the same person consistently across runs
  • AI-augmented workflows where the LLM step would be much better with prior context
  • Long-running operational pipelines where every run could be informed by every prior run

Without memory, the LLM in your workflow knows only what you cram into the prompt for that single execution. With memory, the LLM gets a recall of what's relevant to the current input — built up across every prior run.

That's the difference between a workflow and a system that improves with use.


What The Hindsight Node Does

The community node adds a single Hindsight entry to your n8n node panel. Inside it you pick one of three operations.

Retain — store content into a memory bank

Drop a Retain node anywhere you generate something worth remembering. A Zendesk ticket closes? Retain the ticket summary. A Gong call wraps? Retain the transcript. A form submission lands? Retain the relevant fields.

You give it free text. Hindsight's retain pipeline asynchronously extracts structured facts, deduplicates against what's already in the bank, and updates the bank's mental models — without blocking your workflow.

FieldDescription
Bank IDWhich memory bank to store in (auto-created on first use)
ContentThe text to retain
TagsComma-separated tags for later filtering

Recall — search a memory bank

Drop a Recall node before any step that benefits from prior context — most often, before an OpenAI / Anthropic / Cohere node. You give it a natural-language query (often the user's current message, or a constructed query from the trigger data). It returns the most relevant memories from the bank.

FieldDescription
Bank IDMemory bank to search
QueryNatural-language query
Budgetlow / mid / high — controls retrieval depth
Max TokensCap on returned memory tokens
Tags FilterOptional tag filter

The output is a results array — each item is a memory with text, score, and metadata. Pass it straight into your LLM prompt as context.

Reflect — get an LLM-synthesized answer

Reflect is the operation most other memory integrations don't offer. Instead of returning raw memories, Reflect runs a query through Hindsight's reflection layer and returns a synthesized answer with citations.

FieldDescription
Bank IDMemory bank
QueryThe question you want answered
Budgetlow / mid / high

This is the right operation when you're asking "what do we know about this customer?" or "summarize the patterns in our last 50 support tickets" rather than "find me the closest matching memory."

In practice, you reach for Recall most often, Retain is automatic in your workflow's write paths, and Reflect is the surprise tool — the one you didn't realize you needed until the third time you wanted a workflow to give you a summarized answer over an entire bank.


Setup

The node is published as the @vectorize-io/n8n-nodes-hindsight package on npm.

Install on self-hosted n8n

In the n8n UI (community node install docs):

  1. Go to Settings → Community Nodes → Install
  2. Enter @vectorize-io/n8n-nodes-hindsight
  3. Click Install
  4. Restart n8n

Or via CLI:

cd ~/.n8n/custom
npm install @vectorize-io/n8n-nodes-hindsight

After restart, the Hindsight node appears in the node panel.

Install on n8n Cloud

This is the one piece we're still waiting on. n8n Cloud only allows installing community nodes that have passed the Verified Node review. We've submitted the Hindsight node to the n8n Creator Portal, including provenance-signed npm publishes from GitHub Actions (a hard requirement n8n added in May). Review typically takes several weeks. Once approved, the node will appear in n8n Cloud's in-product node finder with a verification badge and install in one click. We'll update this post when that lands.

Configure the credential

Whether you're on self-hosted or Cloud, you need a Hindsight API credential:

  1. Sign up at Hindsight Cloud (free tier) or self-host Hindsight
  2. Get an API key from the Hindsight dashboard
  3. In n8n, create a new Hindsight API credential:
    • API URL: https://api.hindsight.vectorize.io (or your self-hosted URL)
    • API Key: your hsk_... key (leave blank if you're hitting an unauthenticated self-hosted instance)

That's the entire setup. The Hindsight node is now usable in any workflow.


Three Workflows This Unlocks

Three concrete patterns make this easier to picture. Each one is a workflow you could build today.

1. The customer-support assistant that learns from every ticket

The pattern:

  • Trigger: Zendesk webhook for "ticket closed"
  • Hindsight Retain: content = ticket conversation + resolution; tags = support, <product-area>
  • Trigger: Zendesk webhook for "ticket created"
  • Hindsight Recall: query = the new ticket's subject + body; tags filter = support
  • OpenAI: prompt = "Here are similar past tickets and their resolutions. Draft a first reply." with the recalled memories injected
  • Zendesk: post the draft as an internal note

After a few weeks of closed tickets flowing into the bank, the new-ticket workflow stops drafting generic responses and starts surfacing the actual fix from the time you saw the same issue last month. The bot is not just answering — it is compounding.

2. The sales-call coach that remembers every touchpoint

The pattern:

  • Trigger: Gong webhook for "call ended"
  • OpenAI: generate a structured summary of the call (key topics, decisions, blockers, next steps)
  • Hindsight Retain: content = the structured summary; tags = <account>, sales, <call-type>
  • Trigger: cron, daily at 7 AM
  • For each upcoming meeting: Hindsight Recall with query = <prospect-name>; tags filter = <account>
  • OpenAI: "Build a pre-meeting brief from these prior touchpoints"
  • Slack / email: deliver the brief

The next time a rep walks into a call with a prospect they've spoken to three times before, they get a brief that actually reflects all three conversations — not a manually-stitched summary they had to remember to write.

3. The Slack bot that builds a continuous relationship

The pattern:

  • Trigger: Slack DM mention
  • Hindsight Recall: query = the user's message; tags filter = slack:<user-id>
  • OpenAI: answer the question with the recalled context injected
  • Slack: post the reply
  • Hindsight Retain: content = the conversation turn (question + answer); tags = slack, <user-id>

Two weeks in, the bot stops re-asking the user about their stack, their preferences, what they've already tried. It remembers because every turn was retained, and every new turn started with a recall.

This is the smallest, fastest way to demonstrate compounding memory inside n8n — a few nodes, a free Hindsight Cloud account, and a Slack workspace.


Where The Memory Layer Sits

The mental model that makes this click: n8n owns the workflow graph; Hindsight owns the memory layer; they connect over HTTP through the community node.

This means a few useful things:

  • The same Hindsight bank can be shared across multiple n8n workflows. The support workflow's writes are visible to the sales workflow's reads if you point them at the same bankId.
  • The same bank can be shared across n8n and your other Hindsight integrations. A bank that your Claude Code plugin writes to can be read by an n8n workflow, and vice versa.
  • Tags are the way to scope. tags: ["user:42", "shared"] with tagsMatch: "any_strict" gives you per-user isolation plus shared knowledge in a single bank.

For multi-tenant workflows — a SaaS where every customer's automations should be isolated — the memory bank reference covers the per-tenant scoping patterns. The most common pattern is one bank per tenant; n8n's expression language makes it easy to set the bankId field dynamically based on the trigger payload.


What's Next

The immediate roadmap on the n8n side has two pieces.

n8n Cloud install. We've submitted the Hindsight node to the n8n Creator Portal and it's currently under Verified Node review (a process that typically takes several weeks). Once approved, n8n Cloud users can install it directly from the in-product node finder, with a verification badge. The same node code, same operations, same docs — just one fewer step. We'll update this post and our docs when the review completes.

More built-in patterns. The three example workflows above are the obvious starting points. The patterns we expect to add next are: tag-aware retain templates (so Retain can take a structured payload and apply tags automatically), batch retain (for backfilling a bank from existing data), and a sub-workflow / template starter pack that ships ready-to-import workflow JSON for the most common shapes.


Recap

  • n8n is the connective tissue of automation, but workflows are stateless by default
  • The new Hindsight community node closes that gap with three operations: Retain, Recall, Reflect
  • Drop it into any workflow alongside the 500+ apps n8n connects to, and the workflow starts compounding instead of resetting
  • Self-hosted n8n: install today via Settings → Community Nodes
  • n8n Cloud: pending Verified Node approval; we'll update when it lands

If you've been building automations in n8n that involve any LLM step, any customer-facing surface, or anything that should get smarter with use — the memory layer is the missing piece. One node, three operations, your entire workflow graph plus 500+ integrations.


Further Reading


Next Steps