AutomationFlowsAI & RAG › Rag-powered AI Voice Customer Support Agent (supabase + Gemini + Elevenlabs)

Rag-powered AI Voice Customer Support Agent (supabase + Gemini + Elevenlabs)

Byiamvaar @iamvaar on n8n.io

Execution video: Youtube Link

Webhook trigger★★★★☆ complexityAI-powered14 nodesChain LlmHTTP RequestGoogle DocsSupabaseLm Chat Google Vertex
AI & RAG Trigger: Webhook Nodes: 14 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #7188 — we link there as the canonical source.

This workflow follows the Chainllm → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "ce5697a5-fe3c-42eb-b93a-51e2abe35e90",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        784,
        -64
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d2671671-b493-4580-8eb4-02bce32ede8f",
      "name": "Basic LLM Chain",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1040,
        -64
      ],
      "parameters": {},
      "typeVersion": 1.7
    },
    {
      "id": "31b1d89e-696f-4c85-b0eb-80d395934e86",
      "name": "Search Embeddings",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        560,
        -64
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "38bee46c-b303-4649-bb61-039eae8c3d3a",
      "name": "Embend User Message",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        336,
        -64
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "a9c57108-69ab-462b-8b54-8b3a21dff7f5",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        112,
        -64
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "01c3dd7b-c16b-41fe-bb52-81262eca44fb",
      "name": "Respond to Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1456,
        -64
      ],
      "parameters": {},
      "typeVersion": 1.4
    },
    {
      "id": "49185bf9-d983-42a7-87f9-42418c070d53",
      "name": "Content for the Training",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        -1136,
        16
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "9b21eb3f-c27b-4664-87b1-fa41f0d0930b",
      "name": "Splitting into Chunks",
      "type": "n8n-nodes-base.code",
      "position": [
        -912,
        16
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "389b9fc5-ff9d-4278-bc3a-1507c18f510f",
      "name": "Embedding Uploaded document",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -688,
        16
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "d72d773e-c574-452e-9a83-5f6eb8dff830",
      "name": "Save the embedding in DB",
      "type": "n8n-nodes-base.supabase",
      "position": [
        -464,
        16
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "1471ef70-cb30-4558-8117-bd62fc909231",
      "name": "When clicking \u2018Execute workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1344,
        16
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d6b9cf3d-5b0d-4f6a-8ac0-7166c029063b",
      "name": "Google Vertex Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleVertex",
      "position": [
        1040,
        144
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "1337a267-bca3-46fb-bc1a-6508506d4a45",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1440,
        -752
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b99ac4fc-4ec1-4b87-9f45-ff9fecc30874",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        -752
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Embend User Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Basic LLM Chain": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search Embeddings": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Embend User Message": {
      "main": [
        [
          {
            "node": "Search Embeddings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Splitting into Chunks": {
      "main": [
        [
          {
            "node": "Embedding Uploaded document",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Content for the Training": {
      "main": [
        [
          {
            "node": "Splitting into Chunks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Vertex Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Embedding Uploaded document": {
      "main": [
        [
          {
            "node": "Save the embedding in DB",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "Content for the Training",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Execution video: Youtube Link

Source: https://n8n.io/workflows/7188/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

L&D_AgentsAI_ATIVO. Uses httpRequest, agent, googleCalendarTool, toolSerpApi. Webhook trigger; 93 nodes.

HTTP Request, Agent, Google Calendar Tool +9
AI & RAG

leads. Uses supabase, gmail, formTrigger, httpRequest. Webhook trigger; 62 nodes.

Supabase, Gmail, Form Trigger +13
AI & RAG

This workflow turns a spreadsheet row into a fully formatted, media-rich WordPress article. It pulls the outline and brand context from Google Sheets/Docs, drafts the article with Anthropic or Gemini,

Agent, Google Sheets, Google Docs +5
AI & RAG

StarGraphs. Uses lmChatGoogleGemini, chainLlm, supabase, httpRequest. Webhook trigger; 33 nodes.

Google Gemini Chat, Chain Llm, Supabase +1
AI & RAG

I2A2 - AI Minds V2. Uses chatTrigger, httpRequest, lmChatGoogleGemini, compression. Webhook trigger; 23 nodes.

Chat Trigger, HTTP Request, Google Gemini Chat +6