AutomationFlowsAI & RAG › Youtube Discord Bot

Youtube Discord Bot

Youtube Discord Bot. Uses memoryBufferWindow, lmChatGoogleGemini, respondToWebhook, agent. Webhook trigger; 6 nodes.

Webhook trigger★★★★☆ complexityAI-powered6 nodesMemory Buffer WindowLm Chat Google GeminiAgent
AI & RAG Trigger: Webhook Nodes: 6 Complexity: ★★★★☆ AI nodes: yes

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
{
  "id": "OqfQNcgTqUK7UvZG",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Youtube Discord Bot",
  "tags": [
    {
      "id": "5eZb3e5PJspoJjVN",
      "name": "Discord",
      "createdAt": "2025-02-22T09:31:58.972Z",
      "updatedAt": "2025-02-22T09:31:58.972Z"
    }
  ],
  "nodes": [
    {
      "id": "39832819-a14b-445c-bf5c-0bd93613b1ca",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        80,
        440
      ],
      "parameters": {
        "path": "b0631bec-9ccc-4eb8-b143-d73609b213c7",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 2
    },
    {
      "id": "5e70b649-5678-4718-98a7-302a4c784155",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        460,
        680
      ],
      "parameters": {
        "sessionKey": "={{ $json.body.userId }}",
        "sessionIdType": "customKey",
        "contextWindowLength": 50
      },
      "typeVersion": 1.3
    },
    {
      "id": "7cc849c3-3ed8-4fe2-a378-a213736a9aef",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        180,
        700
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.0-flash"
      },
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4b664f21-6f1c-4894-9196-beecbd865d3e",
      "name": "Respond to Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        880,
        440
      ],
      "parameters": {
        "options": {},
        "respondWith": "allIncomingItems"
      },
      "typeVersion": 1.1
    },
    {
      "id": "c7c779d3-e324-4a3f-a5a1-5218ec61d856",
      "name": "correctNaming",
      "type": "n8n-nodes-base.code",
      "position": [
        680,
        440
      ],
      "parameters": {
        "jsCode": "// Hole alle Items\nconst items = $input.all();\n\n// Nehme das erste Item (falls mehrere vorhanden sind)\nconst item = items[0];\n\n// Extrahiere den output\nconst antwort = item.json.output;\n\n// Formatiere die Antwort im richtigen Format f\u00fcr den Discord-Bot\nreturn {\n  json: {\n    answer: antwort\n  }\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "9ff7ad77-88ce-467e-91b1-4fc2d13636fd",
      "name": "Discord AI Response Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        300,
        440
      ],
      "parameters": {
        "text": "=Username: {{ $json.body.userName }}\n\nQuestion/Prompt: {{ $json.body.question }}",
        "options": {
          "systemMessage": "You are a helpful assistant. You answer in the language you receive the question in. Interactions might be all over the place. If there is any questions regarding the Youtube Videos of the channel: Presting Podcasts, you have the transcript of the podcast videos as additional knowledge.\nAlways begin your answer with a @insertusername to mark the guy who asked the question.  "
        },
        "promptType": "define"
      },
      "typeVersion": 1.8
    }
  ],
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "429e2ccd-5a58-4287-9ad8-314efbbecb8f",
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Discord AI Response Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "Discord AI Response Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "correctNaming": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Discord AI Response Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Discord AI Response Agent": {
      "main": [
        [
          {
            "node": "correctNaming",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

About this workflow

Youtube Discord Bot. Uses memoryBufferWindow, lmChatGoogleGemini, respondToWebhook, agent. Webhook trigger; 6 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →