AutomationFlowsAI & RAG › Hr Policy Retrieval Using Slack, S3, and Gpt-4.1-mini with RAG

Hr Policy Retrieval Using Slack, S3, and Gpt-4.1-mini with RAG

ByHumble Turtle @humbleturtle on n8n.io

Answer HR and company policy questions via Slack, powered by a Knowledge Base of internal documents stored in S3. The assistant uses vector search and an OpenAI Chat Model to retrieve accurate answers.

Event trigger★★★★☆ complexityAI-powered24 nodesSlack TriggerAgentMemory Buffer WindowTool Vector StoreIn-Memory Vector StoreOpenAI EmbeddingsOpenAI ChatAWS S3
AI & RAG Trigger: Event Nodes: 24 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Agent → Documentdefaultdataloader 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
{
  "id": "iZCUHJ7060rflEUa",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "HR Chatbot (RAG-system)",
  "tags": [],
  "nodes": [
    {
      "id": "80d6f6e5-1a25-48c4-9078-7fa11a8d9940",
      "name": "Slack Trigger",
      "type": "n8n-nodes-base.slackTrigger",
      "position": [
        -208,
        592
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "2ba0c35e-407b-4402-b6f2-22ad6b80382d",
      "name": "Chatbot",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        0,
        592
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "37b4763a-15d0-419a-b095-07a8703c604f",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        16,
        816
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "dbec54d1-3159-477d-9454-75d94706962b",
      "name": "Knowledge Base Search",
      "type": "@n8n/n8n-nodes-langchain.toolVectorStore",
      "position": [
        160,
        800
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "2b8e1a2b-0a57-456c-92cd-1c0fea3ba7fe",
      "name": "Knowledge Base",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreInMemory",
      "position": [
        32,
        1008
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "1f0a289f-fd0b-4f66-972b-65228a2b13b2",
      "name": "Knowledge Base Embeddings",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        0,
        1168
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "0c653e07-6b76-4f1a-ae60-b97ee54ffdd6",
      "name": "Conversation Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -128,
        800
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "0ce7ae16-34a9-45bf-96ae-d3240c3ec8a1",
      "name": "Knowledge Base Response Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        320,
        928
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "2cdd2ce8-a3a7-45e5-9ba1-7226645d715b",
      "name": "Manual Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ce887063-a120-4cd8-9cdd-da454de43131",
      "name": "S3 Document Downloader",
      "type": "n8n-nodes-base.awsS3",
      "position": [
        208,
        0
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "ffcdf0d7-ef27-42cf-a3c8-043edb6bae06",
      "name": "Knowledge Base storage",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreInMemory",
      "position": [
        416,
        0
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "71d714a4-7a7d-43f1-aac5-6c85489a3a93",
      "name": "Knowledge Base Embeddings Generator",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        352,
        224
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "c14a4de4-e0a7-4134-bfcb-59a765b31168",
      "name": "Document Loader",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        560,
        208
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "627b5648-9af1-42e3-bcb1-3b658e9633cc",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        752,
        448
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "5a6675f0-a92f-4528-aa0c-3337a021d5be",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        448
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "8c6014f5-894c-4ebd-a766-6910acd463c1",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        -128
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "20fb6d4b-466f-438c-b9d1-92231c30d87e",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        752,
        -128
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "90b0c6cf-389b-4572-9207-2dba4ddd3feb",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        256,
        -1408
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "a2e79935-3199-41bf-9478-552ef7963941",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        -2384
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "0bf7faa6-d9fc-4559-853b-78085c250dff",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        -1408
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "5ed1311b-0e82-449e-b196-15b293f748be",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        -1408
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "4b2031c7-0328-4684-baaf-af9259914655",
      "name": "Response",
      "type": "n8n-nodes-base.set",
      "position": [
        288,
        464
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "ff4c1dc4-5b18-44d9-b347-5651235a8209",
      "name": "Try Again",
      "type": "n8n-nodes-base.set",
      "position": [
        288,
        656
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "15c7ef90-d37e-4c3b-8c53-c1e79e6209c7",
      "name": "Send a message",
      "type": "n8n-nodes-base.slack",
      "position": [
        512,
        464
      ],
      "parameters": {},
      "typeVersion": 2.3
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "4cb15aed-33a0-41c2-8607-62d481345840",
  "connections": {
    "Chatbot": {
      "main": [
        [
          {
            "node": "Response",
            "type": "main",
            "index": 0
          },
          {
            "node": "Try Again",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Response": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "Chatbot",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Slack Trigger": {
      "main": [
        [
          {
            "node": "Chatbot",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Knowledge Base": {
      "ai_vectorStore": [
        [
          {
            "node": "Knowledge Base Search",
            "type": "ai_vectorStore",
            "index": 0
          }
        ]
      ]
    },
    "Manual Trigger": {
      "main": [
        [
          {
            "node": "S3 Document Downloader",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Document Loader": {
      "ai_document": [
        [
          {
            "node": "Knowledge Base storage",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Conversation Model": {
      "ai_languageModel": [
        [
          {
            "node": "Chatbot",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Knowledge Base Search": {
      "ai_tool": [
        [
          {
            "node": "Chatbot",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "S3 Document Downloader": {
      "main": [
        [
          {
            "node": "Knowledge Base storage",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Knowledge Base Embeddings": {
      "ai_embedding": [
        [
          {
            "node": "Knowledge Base",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Knowledge Base Response Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Knowledge Base Search",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Knowledge Base Embeddings Generator": {
      "ai_embedding": [
        [
          {
            "node": "Knowledge Base storage",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

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

About this workflow

Answer HR and company policy questions via Slack, powered by a Knowledge Base of internal documents stored in S3. The assistant uses vector search and an OpenAI Chat Model to retrieve accurate answers.

Source: https://n8n.io/workflows/7745/ — 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

Your AI workforce is ready. Are you?

Google Sheets Tool, Mcp Trigger, Google Drive +29
AI & RAG

Code Extractfromfile. Uses manualTrigger, sort, httpRequest, compression. Event-driven trigger; 50 nodes.

HTTP Request, Compression, Edit Image +15
AI & RAG

BambooHR AI-Powered Company Policies and Benefits Chatbot. Uses manualTrigger, documentDefaultDataLoader, embeddingsOpenAi, textSplitterRecursiveCharacterTextSplitter. Event-driven trigger; 50 nodes.

Document Default Data Loader, OpenAI Embeddings, Text Splitter Recursive Character Text Splitter +14
AI & RAG

BambooHR AI-Powered Company Policies and Benefits Chatbot. Uses manualTrigger, documentDefaultDataLoader, embeddingsOpenAi, textSplitterRecursiveCharacterTextSplitter. Event-driven trigger; 50 nodes.

Document Default Data Loader, OpenAI Embeddings, Text Splitter Recursive Character Text Splitter +14
AI & RAG

2464. Uses httpRequest, compression, editImage, documentDefaultDataLoader. Event-driven trigger; 50 nodes.

HTTP Request, Compression, Edit Image +15