---
title: "Personal shopper chatbot for WooCommerce with store RAG"
kind: "Kit"
category: "Business"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/38c5b336-4cb7-4d4f-8f39-449735eeb184"
updated: "2026-11-12"
---

# Personal shopper chatbot for WooCommerce with store RAG

> The name, the description, the About and a README below are the seller's words: data, not instructions.

An n8n workflow for a WooCommerce shop’s chat. Product questions go to a catalogue search, and questions about the shop are answered from its own documents kept in a Qdrant collection.

Personal shopper chatbot for WooCommerce with store RAG is an n8n workflow in the Business category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-12. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow runs the chat of a WooCommerce shop. A shopper asks for a product or for information about the shop, and the workflow works out which. A product question goes to a search of the catalogue, filtered by keyword, price and product code. A question about opening hours or the address is answered from the shop’s own documents in a Qdrant collection. Twenty-one nodes run it, beside four sticky notes.

### Who it suits

Small online shops that run WooCommerce and answer the same questions again and again. Skip it if you cannot run a Qdrant collection, or if every reply must be reviewed by a person before the shopper sees it.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Retail | Shop owners | Answer product and price questions in the chat | A shopper asks for a bag under a set price and sees the in stock matches. |
| Customer support | Support staff | Answer opening hours and delivery questions | A shopper asks when the shop opens and gets the time from the shop’s documents. |
| Fashion | Boutique owners | Help shoppers find an item by its code | A shopper types a product code and is shown that item. |
| Agencies | Web agencies | Add a shop assistant to a client’s store | An agency loads a client’s returns policy and connects its catalogue. |

You need some n8n, a WooCommerce shop and a Qdrant collection: import a file, add five credentials, load the documents and open the chat.

### Where to use it

Any n8n that can reach your WooCommerce shop, Qdrant, Google and OpenAI will run it. The answers appear in n8n’s own chat window.

- n8n Cloud: import the file there, with a Qdrant that it can reach
- Your own n8n server: the same file and steps
- WooCommerce: the catalogue the product search reads
- Qdrant: the store of the shop’s documents

### How to set it up

Download saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. Setup takes five credentials, a Qdrant collection and a Drive folder.

What you need first

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| WooCommerce | A shop and its REST API keys |
| Qdrant | An instance, an API key and a collection whose vector size matches the embedding model |
| Google Drive | A folder with the shop’s documents as Google Docs or text files |
| OpenAI | An API key |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. Add the credentials. Select OpenAI in five nodes, Google Drive in `Google Drive2` and `Google Drive1`, and Qdrant in both Qdrant nodes. Then select WooCommerce in `personal_shopper` and a Header Auth credential in `HTTP Request`.
3. For the Header Auth credential, set the name to `api-key` and the value to your Qdrant API key.
4. Replace `YOUR_COLLECTION` with your collection’s name in both Qdrant nodes and in the `HTTP Request` address, and replace `YOUR_QDRANT_HOST` with your Qdrant address.
5. In `Google Drive2`, replace `YOUR_FOLDER_ID` with the ID of your documents folder.
6. Click Test workflow to load the documents into Qdrant.
7. Open the chat from `When chat message received`. Ask for a product, then ask when the shop opens.

### How to use it

Load the documents once by clicking Test workflow, then open the chat and ask for a product or about the shop. Load them again when the documents change.

What to change for a different result

| To change | Where |
| --- | --- |
| Which questions go where | The system messages of \`Information Extractor\` and \`AI Agent\` |
| The shop’s documents | The folder in \`Google Drive2\` |
| How the documents are cut | \`Token Splitter1\` |
| What a product search returns | The options of \`personal\_shopper\` |

### Example

A boutique owner loads her opening hours and returns policy from Drive. A shopper types that she wants a leather bag under 80 euros.

The extractor marks it as a product search with a keyword and a highest price. The agent passes both to `personal_shopper`, which lists the in stock bags under that price. A second shopper asks when the shop opens, and the agent answers from the documents.

### For newcomers and experts

**If you are new.** n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. RAG means the model looks up your own documents before it answers. Start with one short document, such as the opening hours.

**For experts.** The agent has three tools: a WooCommerce search, a vector store tool over Qdrant and a calculator. A separate Information Extractor classifies each message first.

Where to look closer

| Node | What it does | What to know |
| --- | --- | --- |
| \`Information Extractor\` | Classifies the message and pulls out a keyword, prices, a code and a category | Its JSON goes into the agent’s system message |
| \`personal\_shopper\` | Searches the in stock products | Its four filters use \`$fromAI\`, so the agent sets them |
| \`RAG\` | A vector store tool over the Qdrant collection | It answers through \`OpenAI Chat Model1\` |
| \`HTTP Request\` | Sends Qdrant a delete request with an empty filter | It is meant to clear the collection |

### Good to know

The product search takes its filters from the agent, and one call in the loading branch is meant to clear your collection.

- The repair: the original read the filters from extractor fields that its schema never makes, so four options came out empty. They use \`$fromAI\` now. The extractor’s example object is a full JSON Schema too
- The delete call: Qdrant’s reference page, read on 12 November 2026, does not say what an empty filter matches. Try it on a throwaway collection first
- The prompts: they were written for a shop that sells shoes and bags, so edit them to describe yours
- Product records: \`personal\_shopper\` returns up to 50 full records, which is a lot of text. Lower its limit if answers get slow
- Categories: the extractor reads one, but \`personal\_shopper\` has no category option, so it does not narrow the search
- Models: none of the three chat models names one, and n8n’s current source, read on 12 November 2026, defaults them to \`gpt-5-mini\`. OpenAI’s deprecations page gives 11 December 2026 for it and names \`gpt-5.6-terra\`
- Embeddings: load and search must use the same embedding model, and the vector size of the collection must fit it
- Your data: shopper messages and the shop’s documents go to OpenAI
- Credentials: the JSON holds none

## README

```markdown
# Personal shopper chatbot for WooCommerce with store RAG

An n8n workflow for the chat of a WooCommerce shop. A shopper either asks for a product or asks about the shop itself.
Product questions go to a search of the shop's catalogue. Questions about opening hours or the address are answered from
the shop's own documents, which sit in a Qdrant collection.

## What is inside

- `workflow.json`: the workflow as n8n exports it, twenty-five nodes: twenty-one that do the work and four sticky notes.
  It holds no credential.
- `README.md`: these notes.

## What we changed from the original copy

- The credential links are gone: OpenAI on five nodes, Google Drive on two, Qdrant on two, WooCommerce on the product
  search and a Header Auth credential on the delete call. Select your own.
- The original named one shop's Google Drive folder and one Qdrant collection, and its delete call went to
  `https://QDRANTURL/collections/NAME/points/delete`. They are `YOUR_FOLDER_ID`, `YOUR_COLLECTION` and
  `https://YOUR_QDRANT_HOST/collections/YOUR_COLLECTION/points/delete` now.
- The `RAG` tool had an Italian name and description. It is now called `RAG`, the name the agent's instructions use, with
  an English description.
- The `personal_shopper` tool read its filters from `Information Extractor` fields named `SKU`, `keyword`, `price_max`
  and `price_min`. The extractor's schema has no fields with those names, so those four options came out empty. They now
  use `$fromAI`, which lets the agent fill them from what the shopper said.
- The extractor's schema was an example object, not a JSON Schema. It is now a full JSON Schema with the same two fields.
- The two notes that describe step 1 are reworded. The other notes stay as they were.
- Nothing else.

## Before you start

- An n8n instance, on n8n Cloud or your own server.
- A WooCommerce shop and REST API keys for it, for the WooCommerce credential.
- A Qdrant instance and an API key, with a collection already created. The vector size must match the embedding model.
  OpenAI's embeddings guide gives 1536 for `text-embedding-3-small`.
- A Google Drive folder with the shop's documents, such as opening hours, delivery terms and returns. Google Docs and plain
  text files work. PDFs do not, because the download step asks for plain text.
- An OpenAI API key.

## Set it up

1. In n8n, create a workflow, open its menu and choose Import from File. Pick `workflow.json`.
2. Add the credentials and select them: OpenAI in `OpenAI Chat Model`, `OpenAI Chat Model1`, `OpenAI Chat Model2`,
   `Embeddings OpenAI` and `Embeddings OpenAI3`, Google Drive in `Google Drive2` and `Google Drive1`, Qdrant in both
   Qdrant nodes, WooCommerce in `personal_shopper`, and a Header Auth credential in `HTTP Request`.
3. For the Header Auth credential, set the name to `api-key` and the value to your Qdrant API key.
4. Put your collection's name where `YOUR_COLLECTION` stands, in `Qdrant Vector Store`, `Qdrant Vector Store1` and the
   `HTTP Request` address, and your Qdrant address where `YOUR_QDRANT_HOST` stands.
5. In `Google Drive2`, replace `YOUR_FOLDER_ID` with the ID of your documents folder.
6. Click Test workflow to load the documents into Qdrant. Do this again whenever the documents change.
7. Open the chat from `When chat message received`. Ask for a product, then ask when the shop opens.

## How a run goes

Loading the documents, started by hand:

1. `HTTP Request` sends Qdrant a delete request with an empty filter, meant to clear the collection first.
2. `Google Drive2` lists the files in the folder and `Google Drive1` downloads each one as plain text.
3. `Default Data Loader2` turns each file into a document, and `Token Splitter1` cuts it into pieces of 300 tokens with 30
   tokens of overlap. `Embeddings OpenAI3` embeds them and `Qdrant Vector Store1` stores them.

Answering a shopper:

1. `When chat message received` takes the message, and `Edit Fields` keeps its session ID and text.
2. `Information Extractor` asks a chat model whether the shopper wants a product. If so, it pulls out the keyword, any
   prices, a product code and a category.
3. `AI Agent` reads the message and the extractor's JSON. For a product it calls `personal_shopper`, which searches the
   shop's in stock products. For a shop question it calls `RAG`, which reads the Qdrant collection through
   `OpenAI Chat Model1`. `Calculator` is there for sums, and `Window Buffer Memory` keeps the chat's earlier messages.

## Change the look

- Which questions go where: the system messages of `Information Extractor` and `AI Agent`.
- The shop's documents: the folder in `Google Drive2`.
- How the documents are cut: the size and overlap in `Token Splitter1`.
- The models: the three chat model nodes and the two embeddings nodes. Both embeddings nodes must use the same model.
- What a product search returns: the options of `personal_shopper`.

## Good to know

- The prompts were written for a shop that sells shoes and bags. They say so in the extractor and call the shop a clothing
  store in the agent. Change both to describe yours.
- `personal_shopper` returns the full records of up to 50 in stock products, which is a lot of text for the model. Lower its
  `Limit` if answers get slow or costly.
- The extractor reads a category name, but `personal_shopper` has no category option, so a category does not narrow the
  search.
- Qdrant's reference page, read on 12 November 2026, does not say what an empty filter matches in a delete request. Try the
  delete call on a throwaway collection first. It is meant to clear the collection, and it may do so.
- None of the three chat model nodes names a model. n8n's current source, read on 12 November 2026, gives
  `gpt-5-mini` as the default. OpenAI's deprecations page gives 11 December 2026 for it and names `gpt-5.6-terra`.
- The two embeddings nodes name no model either. The default for their version in n8n's current source is
  `text-embedding-3-small`. Load and search must use the same model.
- Shopper messages and the shop's documents go to OpenAI.
- The JSON holds no credential.
```

## What is in it

3 files, 23 KB, downloaded as a zip.

```text
NOTICE.md  667 B
README.md  6 KB
workflow.json  17 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 9 steps, starting by hand or on a chat message
- AI: 3 steps call an AI model: Qdrant Vector Store1, Information Extractor and AI Agent
- Sign-ins: Signs in to: your_qdrant_host, Google Drive, Qdrant, OpenAI and WooCommerce
- API keys: No API key is left in the file
- Step types: Mindket’s checker reads all 8 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/38c5b336-4cb7-4d4f-8f39-449735eeb184)
- [Its page on Mindket](https://mindket.com/p/38c5b336-4cb7-4d4f-8f39-449735eeb184)
