Voice RAG Chatbot with ElevenLabs and OpenAI
Configured with Agent, Document Default Data Loader, Embeddings Open Ai, Google Drive, and additional nodes. Review the connections and setup before adapting this template.
Node categories in this workflow
- AI & models
- Data store
- Trigger
- Web / API
- Files / media
- Transform
Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.
Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.
How it works
The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.
| Node | Category | Type | Operation |
|---|---|---|---|
| AI Agent | AI & models | Agent | See node parameters |
| Vector Store Tool | AI & models | Tool Vector Store | See node parameters |
| Qdrant Vector Store | Data store | Vector Store Qdrant | See node parameters |
| Embeddings OpenAI | AI & models | Embeddings Open Ai | See node parameters |
| When clicking ‘Test workflow’ | Trigger | Manual Trigger | See node parameters |
| Create collection | Web / API | HTTP Request | POST |
| Refresh collection | Web / API | HTTP Request | POST |
| Get folder | Files / media | Google Drive | fileFolder |
| Download Files | Files / media | Google Drive | download |
| Default Data Loader | Files / media | Document Default Data Loader | See node parameters |
| Token Splitter | Transform | Text Splitter Token Splitter | See node parameters |
| Qdrant Vector Store1 | Data store | Vector Store Qdrant | See node parameters |
| Embeddings OpenAI1 | AI & models | Embeddings Open Ai | See node parameters |
| Respond to ElevenLabs | Web / API | Respond To Webhook | See node parameters |
| OpenAI | AI & models | OpenAI Chat Model | See node parameters |
| Listen | Trigger | Webhook | See node parameters |
| Window Buffer Memory | Data store | Memory Buffer Window | See node parameters |
| OpenAI Chat Model | AI & models | OpenAI Chat Model | See node parameters |
Setup
- Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
- Connect your own credentials through n8n’s credential store. Replace
REPLACE_WITH_*values with your resource identifiers. - Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
- Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.
Requirements
An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.
Credential types declared in the source
googleDriveOAuth2ApihttpHeaderAuthopenAiApiqdrantApi
Workflow notes
STEP 4
STEP 4
RAG System
Click on "test workflow" on n8n and "Test AI agent" on ElevenLabs. If everything is configured correctly, when you ask a question to the agent, the webhook on n8n is activated with the "question" field in the body filled with the question asked to the voice agent.
The AI Agent will extract the information from the vector database, send it to the model to create the response which will be sent via the response webhook to ElevenLabs which will transform it into voice
STEP 1
STEP 1
Create an Agent on ElevenLabs
- Create an agent on ElevenLabs (eg. test_n8n)
- Add "First message" (eg. Hi, Can I help you?)
- Add the "System Prompt" message... eg: 'You are the waiter of "Pizzeria da Michele" in Verona. If you are asked a question, use the tool "test_chatbot_elevenlabs". When you receive the answer from "test_chatbot_elevenlabs" answer the user clearly and precisely.'
- In Tools add a Webhook called eg. "test_chatbot_elevenlabs" and add the following description: 'You are the waiter. Answer the questions asked and store them in the question field.'
- Add the n8n webhook URL (method POST)
- Enable "Body Parameters" and insert in the description "Ask the user the question to ask the place.", then in the "Properties" add a data type string called "question", value type "LLM Prompt" and description "user question"
STEP 2
STEP 2
Create Qdrant Collection
Change:
- QDRANTURL
- COLLECTION
STEP 3
STEP 3
Documents vectorization with Qdrant and Google Drive
Change:
- QDRANTURL
- COLLECTION
STEP 5
STEP 5
Add Widget
Add the widget to your business website by replacing AGENT_ID with the agent id you created on ElevenLabs
Voice RAG Chatbot with ElevenLabs and OpenAI
Voice RAG Chatbot with ElevenLabs and OpenAI
Purpose and structure
This folder contains the Voice RAG Chatbot with ElevenLabs and OpenAI workflow. Its executable nodes use agent, documentDefaultDataLoader, embeddingsOpenAi, googleDrive, httpRequest, lmChatOpenAi, manualTrigger, memoryBufferWindow, respondToWebhook, textSplitterTokenSplitter, toolVectorStore, vectorStoreQdrant, webhook. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.
Setup
Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.
Entry points
When clicking ‘Test workflow’, Listen
Verification
Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.
Attribution
https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Webhook/1887_Webhook_Respondtowebhook_Automate_Webhook.json MIT; preserve source notices.