๐ง RAG AI Medical Agent โ n8n Workflow
๐ฅ Whoโs it for
This workflow is perfect for:
- Healthcare ecommerce businesses that want to automate product recommendations.
- Founders or developers building an AI assistant using retrieval-augmented generation (RAG) with product data.
- Anyone wanting to combine OpenAI, Qdrant vector search, and Google Sheets to power intelligent medical queries.
โ๏ธ How it works / What it does
This RAG-based workflow allows users to ask medical questions related to hair or scalp issues (e.g., hair loss, thinning). It:
- Retrieves product info from a Google Sheet.
- Converts product data into text embeddings using OpenAI.
- Stores those embeddings in a Qdrant vector database.
- On chat message trigger, performs a vector similarity search to match user symptoms with relevant products.
- Uses an AI agent to respond with top 3 matching products from your catalog.
๐ ๏ธ How to set up
Step 1: ๐ Get your data
- Make sure your Google Sheet contains the following columns:
Product Name
Symptoms Involved
Product Description
ForeverBetty Product Page Link
Category (optional but recommended)
Step 2: ๐ Connect your accounts
- Add your Google Sheets OAuth2 credentials in the "Get all products" node.
- Add your OpenAI API key in the embedding nodes.
- Add your Qdrant credentials in the vector store nodes.
Step 3: ๐ง Populate the Vector DB
- Click โExecute workflowโ manually.
- This pulls data from the Google Sheet.
- Each row is:
- Formatted properly into a vector-friendly string.
- Converted into an embedding using OpenAI.
- Stored into Qdrant.
Step 4: ๐ฌ Enable Chat Interface
- Use the ChatTrigger to receive user queries.
- The agent searches Qdrant for relevant vectors.
- Replies with product suggestions via LangChain's LLM agent.
๐ Requirements
- ๐ง n8n
- ๐ A Google Sheet with product data.
- ๐ Google Sheets OAuth2 credentials.
- ๐ง OpenAI API key (for embeddings + chat LLM).
- ๐๏ธ Qdrant Vector DB instance (Cloud or self-hosted).
๐งฉ How to customize it
๐ Change the data structure
- Update the "Set Data Properly in vector database" node to modify what fields are embedded.
- Example:
---
Product: {{ $json['Product Name '] }}
Use-case: {{ $json['Symptoms Involved'] }}
Link: {{ $json['ForeverBetty Product Page Link '] }}