Auto-update knowledge base with Drive, LlamaIndex & Azure OpenAI embeddings
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (8)
- Simple Vector Store
@n8n/n8n-nodes-langchain.vectorStoreInMemory - Embeddings Azure OpenAI
@n8n/n8n-nodes-langchain.embeddingsAzureOpenAi - Default Data Loader
@n8n/n8n-nodes-langchain.documentDefaultDataLoader - If
n8n-nodes-base.if - Google Drive Trigger
n8n-nodes-base.googleDriveTrigger - Google Drive
n8n-nodes-base.googleDrive - HTTP Request
n8n-nodes-base.httpRequest - Wait
n8n-nodes-base.wait
What it does
This Workflow auto-ingests Google Drive documents, parses them with LlamaIndex, and stores Azure OpenAI embeddings in an in-memory vector store—cutting manual update time from ~30 minutes to under 2 minutes per doc. Last updated: September 2026. Why Use This Workflow? Cost Reduction: No monthly cloud fees just to store knowledge. Ideal For - Knowledge Managers / Documentation Teams: Automatically keep product docs and SOPs in sync when source files change on Google Drive. - Support Teams: Ensure the searchable KB is always up-to-date after doc edits, speeding agent onboarding and resolution time. - Developer / AI Teams: Populate an in-memory vector store for experiments, rapid prototyping, or local RAG demos. How It Works 1. Trigger: Google Drive Trigger watches a specific document or folder for updates. 2. Data Collection: The updated file is downloaded from Google Drive. 3. Processing: The file is uploaded to LlamaIndex cloud via an HTTP Request to create a parsing job. 4. Intelligence Layer: Workflow polls LlamaIndex job status (Wait + Monitor loop). If parsing status equals SUCCESS, the result is retrieved as markdown. 5. Output & Delivery: Parsed markdown is loaded into LangChain's Default Data Loader, passed to Azure OpenAI embeddings (deployment "3small"), then inserted into an in-memory vector store. 6. Storage & Logging: Vector store holds embeddings in memory (good for prototyping). Optionally persist to an external vector DB for production. Setup Guide Prerequisites | Requirement | Type | Purpose | |-------------|------|---------| | n8n instance | Essential | Execute and import the workflow — use the n8n instance | | Google Drive OAuth2 | Essential | Watch and download documents from Google Drive | | LlamaIndex Cloud API | Essential | Parse and convert documents to structured markdown | | Azure OpenAI Account | Essential | Generate embeddings (deployment configured to model name "3small") | | Persistent Vector DB (e.g., Pinecone) | Optional | Persist embeddings for production-scale search (docs) | Installation Steps 1. Import the workflow JSON into your n8n instance: open your n8n instance and import the file. 2. Configure credentials: - Azure OpenAI: Provide Endpoint, API Key and set deployment name. - LlamaIndex API: Create an HTTP Header Auth credential in n8n. Header Name: Authorization. Header Value: Bearer YOURAPIKEY. - Google Drive OAuth2: Create OAuth 2.0 credentials in Google Cloud Console, enable Drive API, and configure the Google Drive OAuth2 credential in n8n. 3. Update environment-specific values: - Replace the workflow's Google Drive fileId with the GUID or folder ID you want to watch (do not commit public IDs). 4. Customize settings: - Polling interval (Wait node): adjust for faster or slower job status checks. - Target file or folder: toggled on the Google Drive Trigger node. - Embedding model: change Azure OpenAI deployment if needed. 5. Test execution: - Save changes and trigger a sample file update on Drive. Verify each node runs and the vector store receives embeddings. Technical Details Core Nodes | Node | Purpose | Key Configuration | |------|---------|-------------------| | Knowledge Base Updated Trigger (Google Drive Trigger) | Triggers on file/folder changes | Set trigger type to specific file or folder; configure OAuth2 credential | | Download Knowledge Document (Google Drive) | Downloads file binary | Operation: download; ensure OAuth2 credential is selected | | Parse Document via LlamaIndex (HTTP Request) | Uploads file to LlamaIndex parsing endpoint | POST multipart/form-data to /parsing/upload; use HTTP Header Auth credential | | Monitor Document Processing (HTTP Request) | Polls parsing job status | GET /parsing/job/{{jobId}}; check status field | | Check Parsing Completion (If) | Branches on job status | Condition: {{$json.status}} equals SUCCESS | | Retrieve Parsed Content (HTTP Request) | Fetches parsed markdown result | GET /parsing/job/{{jobId}}/result/markdown | | Default Data L