Mindket

Personal shopper chatbot for WooCommerce with store RAG

Newversion 1 · updated

Overview

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 . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

At a glance

Runs in
  • 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

Platform

Connects 4 apps

How it works

Trigger

Chat message

It starts when a shopper sends a message in the chat. The shop’s documents are loaded in a separate run that you start by hand:

  • The shopper’s message
  • A manual run that loads the documents

Actions

  1. An extractor decides whether the shopper wants a product and pulls out the keyword, prices and product code
  2. For a product, the agent searches the in stock products in WooCommerce
  3. For a question about the shop, the agent searches the shop’s documents in Qdrant
  4. The agent answers, with the chat’s earlier messages in mind

Result

A chat answer with matching in stock products, or with the shop’s own information

Integrations

What you need before you start.

WooCommerce

Product catalogue

Is searched for in stock products by keyword, code and price range.

NeedsA WooCommerce credential with the shop’s REST API keys

Qdrant

Vector store

Holds the shop’s documents as embeddings and returns the passages that match a question.

NeedsA Qdrant API key, and a collection whose vector size fits the embedding model

Google Drive

Document source

Lists the files in a folder and downloads them as text, so they can be loaded into Qdrant.

NeedsA Google Drive OAuth2 credential, and the ID of a folder

OpenAI

Language model

Classifies the message, answers the shopper and embeds the documents and the questions.

NeedsOpenAI API key

Workflow check

Checked by Mindket on 13 Nov 2026

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

Read from the workflow’s file, not from a run.

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
IndustryWho uses itHow they use itExample
RetailShop ownersAnswer product and price questions in the chatA shopper asks for a bag under a set price and sees the in stock matches.
Customer supportSupport staffAnswer opening hours and delivery questionsA shopper asks when the shop opens and gets the time from the shop’s documents.
FashionBoutique ownersHelp shoppers find an item by its codeA shopper types a product code and is shown that item.
AgenciesWeb agenciesAdd a shop assistant to a client’s storeAn 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

Setup

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
NeedDetail
n8nOn n8n Cloud or on a server of your own
WooCommerceA shop and its REST API keys
QdrantAn instance, an API key and a collection whose vector size matches the embedding model
Google DriveA folder with the shop’s documents as Google Docs or text files
OpenAIAn 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 changeWhere
Which questions go whereThe system messages of Information Extractor and AI Agent
The shop’s documentsThe folder in Google Drive2
How the documents are cutToken Splitter1
What a product search returnsThe 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
NodeWhat it doesWhat to know
Information ExtractorClassifies the message and pulls out a keyword, prices, a code and a categoryIts JSON goes into the agent’s system message
personal_shopperSearches the in stock productsIts four filters use $fromAI, so the agent sets them
RAGA vector store tool over the Qdrant collectionIt answers through OpenAI Chat Model1
HTTP RequestSends Qdrant a delete request with an empty filterIt 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 and files

README

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.
Files
NOTICE.md  667 B
README.md  6 KB
workflow.json  17 KB

3 files, 23 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-12

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

anaksor-ocr

Sokheng · Kit

Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…

New

Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…

New

ACE-Step 1.5 XL SFT

ACE-Step · Kit

Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…

New

Similar in Business

See all in Business

pplx-decider-v1.1-27b

perplexity-ai · Kit

Picks the best option for a decision from text and images, such as which team should handle a request, with a probability for each choice, for developers who b…

New

NuExtract3

numind · Kit

Reads documents as text or images and fills a JSON template with the fields you ask for, or converts the pages to Markdown. A 4B model for teams that process s…

New

Drex DLM

nace-ai · Kit

Scores yes or no, multiple choice and rating questions about a document in one pass, with a probability for every option. An 8B decision model from Nace.AI tha…

New