Resources · n8n integration

n8n Chroma Vector Store nodeConfigure Chroma Vector Store in n8n.

The n8n Chroma Vector Store node turns a Chroma collection into something a workflow can read from and write to. One node, four operation modes, three parameters to set: pick the mode, point it at a collection, then choose between a self-hosted instance and Chroma Cloud.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the n8n Chroma Vector Store node actually do?

The Chroma Vector Store node is the way n8n talks to Chroma, a vector database. It writes documents as embeddings, the numeric form of a text that lets a search match on meaning rather than on exact words, and it reads them back ranked by similarity to a question. The node ships inside the n8n AI package, runs on each incoming item like any action node, and covers four separate jobs behind a single Operation Mode selector.

Start with the obvious one: filling the store. In insert mode the node takes whatever documents arrive on its input and writes them into the Chroma Collection you selected. Support macros, product sheets, meeting notes scraped out of a shared drive, anything that arrives as text in the workflow. The useful habit is to run that branch on a schedule so the collection tracks the source instead of drifting away from it after the first load.

The second job is plain search. load mode, labelled Get Many, takes a Prompt and returns the closest documents, so a workflow can answer a question without an agent anywhere in sight. A message lands in Slack, the node pulls the three best-matching passages, and a reply goes back with the sources attached. Same shape for an inbound ticket read from Gmail: search first, draft after.

The third job is the one people actually come for. retrieve-as-tool exposes the collection as a tool, a capability an agent can call on its own when it decides it needs it, and that is what you wire into an AI Agent. The Name and Description fields matter more than they look: the description is the only thing the model reads before deciding whether to call the tool at all. retrieve does the same job for a chain rather than an agent.

When is a vector store the wrong answer? When lookups are exact. A customer ID, an order number, a country code: a row lookup in Google Sheets is faster, cheaper and never returns an approximate match. Similarity search earns its place once the question is phrased in human words and the answer lives somewhere in a paragraph. Keep in mind too that the embedding provider, OpenAI or another, bills its own API calls; n8n adds nothing on top.

Known edges, so nothing surprises you later. The node is at version 1 and exposes those four modes, nothing else: no delete mode, no collection management. The Chroma Collection field is a resource locator and it is required, so the collection has to exist before the workflow runs. And Chroma stores what you give it, which means a stale document stays findable until the branch that wrote it replaces it. If you are still weighing platforms before building any of this, the n8n review goes into that.

Connect

How do you connect n8n to Chroma?

  1. 01

    Pick the authentication type

    Open the node and start with the Authentication selector, because it decides which credential n8n asks for next. Two choices: chromaSelfHostedApi, labelled Self-Hosted, connects to a ChromaDB instance you run yourself, and chromaCloudApi, labelled Cloud, connects to Chroma Cloud. Choose the one that matches where the data already lives, not the one that looks simpler in the dropdown.

  2. 02

    Create the credential once

    A credential in n8n is a saved set of connection details, stored apart from the workflow. Create it from the Credentials menu, or straight from the node with the Create New option, and it becomes reusable: every other workflow that touches the same Chroma instance points at that one entry. Change a key later and you change it in one place, not in each node that happens to use it.

  3. 03

    Select the Chroma Collection

    Last step, the Chroma Collection field. It is a resource locator, the n8n control that lets you pick a value from a list, paste an identifier, or build it with an expression such as {{ $json.collection }} when the name comes from an earlier node. It is required, and the credential has to be valid before the list can populate, which is why this step comes third rather than first.

Parameters

Which parameters do you set on the node?

The Chroma Vector Store node has 3 parameters. For each one: the node as you configure it in n8n, what the parameter changes, and our field notes.

01

Operation Mode

mode

What you see in n8n

Notes & use cases

This selector decides what the node is here: a writer, a search step, or an AI node's tool. Set it first.

Key parameters

  • Operation Mode: load (Get Many) returns ranked documents, insert (Insert Documents) writes them in, retrieve (Retrieve Documents (As Vector Store for Chain/Tool)) serves a chain, retrieve-as-tool (Retrieve Documents (As Tool for AI Agent)) serves an agent.
  • Prompt and Limit: the search text, often {{ $json.question }}, and how many top results come back.
  • Name and Description: what an agent sees, such as company_knowledge_base.
  • Include Metadata, Rerank Results, Options, ID: metadata, a second ranking pass, extra options, one entry.
Use cases
one branch on insert refreshes the collection nightly, another on retrieve-as-tool serves an agent.
02

Authentication

authentication

What you see in n8n

Notes & use cases

This one has nothing to do with search: it says which Chroma the node should reach, and therefore which credential shape n8n presents underneath.

Key parameters

  • Authentication: chromaSelfHostedApi (Self-Hosted) connects to a self-hosted ChromaDB instance, chromaCloudApi (Cloud) connects to Chroma Cloud.
Use cases
teams that keep documents on their own servers stay on Self-Hosted so nothing leaves the network, while a small team with no server to maintain picks Cloud and gets the same node behavior. Switching later means creating the other credential, not rebuilding the workflow: the mode, the prompt and the collection field all stay as they are.
03

Chroma Collection

chromaCollection

What you see in n8n

Notes & use cases

A Chroma instance holds several collections, and this field says which one the node reads or writes. It is required, so the node stops before doing anything if it is left empty.

Key parameters

  • Chroma Collection: a resource locator, so the value comes from the list, from a pasted identifier, or from an expression like {{ $json.collection }}.
Use cases
keeping one collection per language or per client turns this single field into the routing logic. The workflow computes the name upstream, drops it into the expression, and one branch serves everybody instead of a copy of the node per audience.
Need help

Need help automating Chroma Vector Store with n8n?

A person reads every message.

FAQ

Chroma Vector Store in n8n, answered

01Is the Chroma Vector Store node included in n8n?
Yes. It belongs to the n8n AI package and ships with n8n itself, on n8n Cloud and on a self-hosted instance alike, with nothing to install and no extra charge on the n8n side. A workflow behaves the same in both places. What does carry a cost sits outside n8n: the provider whose embeddings you use bills its own API calls under its own terms, and Chroma itself is either an instance you host or a Chroma Cloud account, depending on which Authentication option you pick. So the node is free, the surrounding services follow their own pricing, and n8n adds nothing on top of either.
02What do you need to make the n8n Chroma Vector Store node work?
Three things, and they line up with the three parameters. First an Authentication choice, Self-Hosted for a ChromaDB instance you run or Cloud for Chroma Cloud, which decides the credential type. Second the credential itself, created once from the Credentials menu and then reused by every workflow that touches the same instance. Third a Chroma Collection, picked in the resource locator field or built with an expression; it is required, so an empty value stops the node. Once those are set, the Operation Mode selector is the only thing left to choose, and it drives the rest of the panel.
03What are the limits of the node?
It is at version 1, and the Operation Mode selector lists four choices: Get Many, Insert Documents, Retrieve Documents as a vector store for a chain or tool, and Retrieve Documents as a tool for an agent. Anything outside those four is outside the node. There is no mode for deleting documents or managing collections, so the collection has to exist before the workflow runs, which is also why the Chroma Collection field is required rather than optional. On the read side the tuning surface is deliberately small: a Prompt, a Limit, Include Metadata, Rerank Results, an Options collection and an ID for a single entry.
04What do you plug into it, and where does it sit in an AI workflow?
Nothing plugs into this node. n8n AI workflows are built from a root node with sub-nodes, smaller nodes attached to its ports that never run on their own, and this one is not that kind of parent: it runs like a normal action node, once per incoming item. In the two Retrieve modes it becomes the thing you attach elsewhere, either as a vector store for a chain or as a tool an AI Agent can call when it judges the question needs a document. In Get Many and Insert Documents it is a plain step in the line, taking items in and passing results on.
05n8n or Make for a Chroma workflow?
It depends on where the documents are allowed to live. Make is a hosted platform with no self-hosting option and billing per operation, which suits a team that wants nothing to maintain and a predictable visual builder. n8n runs on Chroma Cloud or against a ChromaDB instance inside your own network, which is the deciding factor when the documents are contracts, medical notes or anything that should not leave the building. A retrieval workflow also tends to loop and branch a lot while it is being tuned, and per-operation billing is felt more there than elsewhere. Neither answer is wrong; the constraint decides.
Hack'celeration Lab

Get our weekly integration tips.

No spam. Unsubscribe anytime.