이메일 이력 RAG
고급
이것은Internal Wiki, AI RAG분야의자동화 워크플로우로, 23개의 노드를 포함합니다.주로 Code, Gmail, GmailTrigger, ManualTrigger, SplitInBatches 등의 노드를 사용하며. Gmail, OpenAI, 그리고 Qdrant 벡터 데이터베이스를 사용하여 이메일 지식庫를 생성하세요
사전 요구사항
- •Google 계정 및 Gmail API 인증 정보
- •OpenAI API Key
- •Qdrant 서버 연결 정보
사용된 노드 (23)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "7QhxjMbqHv5tk9wM",
"meta": {
"instanceId": "b50483b2122f6dc268662b45507d575d939570ea8e1e086601ebb3b6273c1cfd",
"templateCredsSetupCompleted": true
},
"name": "Email History RAG",
"tags": [
{
"id": "PNmVCFjr9sq0xind",
"name": "RAG",
"createdAt": "2025-07-12T09:30:51.202Z",
"updatedAt": "2025-07-12T09:30:51.202Z"
}
],
"nodes": [
{
"id": "dec780ab-9e05-4305-ba52-8a92dfc266e7",
"name": "OpenAI 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-7040,
800
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"id": "K8T7HIhpd7gMJG20",
"name": "OpenAi account - Remap"
}
},
"typeVersion": 1
},
{
"id": "13f21017-5470-4e0e-8d13-aea6d98c4918",
"name": "메모",
"type": "n8n-nodes-base.stickyNote",
"position": [
-7440,
448
],
"parameters": {
"width": 1162,
"height": 796,
"content": "# RAG AI Agent\n"
},
"typeVersion": 1
},
{
"id": "b6615316-94c0-4091-b6e3-8cdf64cb0902",
"name": "클릭 시 ‘Test workflow’",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-6048,
1472
],
"parameters": {},
"typeVersion": 1
},
{
"id": "349336cd-9373-4553-aa13-9cf6a427a0c6",
"name": "RAG 에이전트",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-6944,
576
],
"parameters": {
"options": {
"systemMessage": "=You are a helpful assistant that will get data from RAG and send a good response to user.\n\nToday date is this if user ask for dated or latest data: {{ $now }}\n\nSo add date when send query to vector database because I am already setting the date field in embedding."
}
},
"typeVersion": 1.7
},
{
"id": "82da160a-a572-4cdf-a260-f7a0c51a30fa",
"name": "Gmail 트리거1",
"type": "n8n-nodes-base.gmailTrigger",
"position": [
-6064,
672
],
"parameters": {
"filters": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"credentials": {
"gmailOAuth2": {
"id": "ufYEel3Kf0MiIlZB",
"name": "Gmail account - chzainali6363@gmail.com"
}
},
"typeVersion": 1.2
},
{
"id": "954a8ea4-9e00-43b9-9fe2-6d717b6dccd7",
"name": "Get Mail Data1",
"type": "n8n-nodes-base.gmail",
"position": [
-5840,
672
],
"webhookId": "[REDACTED_WEBHOOK_ID]",
"parameters": {
"simple": false,
"options": {},
"messageId": "={{ $json.id }}",
"operation": "get"
},
"credentials": {
"gmailOAuth2": {
"id": "ufYEel3Kf0MiIlZB",
"name": "Gmail account - chzainali6363@gmail.com"
}
},
"typeVersion": 2.1
},
{
"id": "16acb16b-8d56-425a-b484-fa4ffc3f5616",
"name": "OpenAI 임베딩5",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
-5680,
912
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"id": "K8T7HIhpd7gMJG20",
"name": "OpenAi account - Remap"
}
},
"typeVersion": 1.1
},
{
"id": "73a26bce-0df2-4755-8175-8a0e367f7418",
"name": "Enhanced Default Data Loader3",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
-5424,
880
],
"parameters": {
"options": {
"metadata": {
"metadataValues": [
{
"name": "=data_source",
"value": "=gmail"
},
{
"name": "=created_at",
"value": "={{ $json.date }}"
}
]
}
},
"jsonData": "=Email details:\nDate: {{ $json.headers.date }}\n\nFrom Email: {{ $json.from.value[0].address }}\nFrom Name: {{ $json.from.value[0].name }}\n\nTo Email: {{ $json.to.value[0].address }}\n\nEmail Subject:\n{{ $json.subject }}\n\nEmail body:\n{{ $json.text }}",
"jsonMode": "expressionData"
},
"typeVersion": 1
},
{
"id": "262344fa-8b26-4665-b0ff-e1354e6d84eb",
"name": "메모4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-6128,
448
],
"parameters": {
"color": 4,
"width": 1200,
"height": 788,
"content": "# Watch Trigger (Email) - New Email\n## Get new Email -> Extract the text -> Add to Vector Store"
},
"typeVersion": 1
},
{
"id": "c70f74e1-75ab-4ce3-9c84-f92ff1d7a762",
"name": "Character Text Splitter",
"type": "@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter",
"position": [
-5344,
1056
],
"parameters": {
"separator": "Email details:"
},
"typeVersion": 1
},
{
"id": "f01ccf0e-caf4-44f1-a385-a6eb2b063551",
"name": "코드",
"type": "n8n-nodes-base.code",
"position": [
-5616,
1472
],
"parameters": {
"jsCode": "const emails = $input.all().map((item) => item.json);\n\nconst extractedData = emails.map((email) => {\n // Remove line breaks and excessive spaces from body\n const cleanBody = email.text\n ?.replace(/(\\r\\n|\\n|\\r)/gm, ' ') // Replace newlines with space\n ?.replace(/\\s+/g, ' ') // Collapse multiple spaces\n ?.trim(); // Remove leading/trailing space\n\n return {\n to: email.to?.value?.[0]?.address || '',\n from: email.from?.value?.[0]?.address || '',\n fromName: email.from?.value?.[0]?.name || '',\n date: email.date || '',\n subject: email.subject || '',\n body: cleanBody || '',\n emailId: email.id || '',\n };\n});\n\nreturn extractedData;\n"
},
"typeVersion": 2
},
{
"id": "69d042bf-b75a-414e-a2e2-a62632e6aef2",
"name": "OpenAI 임베딩11",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
-5280,
1712
],
"parameters": {
"options": {}
},
"typeVersion": 1.1
},
{
"id": "5200b258-2c96-4d38-9c92-b5353ada6957",
"name": "Default Data Loader",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
-5104,
1696
],
"parameters": {
"options": {
"metadata": {
"metadataValues": [
{
"name": "created_at",
"value": "={{ $json.date }}"
},
{
"name": "data_source",
"value": "gmail"
}
]
}
},
"jsonData": "=Email details:\nDate: {{ $json.date }}\n\nFrom Email: {{ $json.from }}\nFrom Name: {{ $json.fromName }}\n\nTo Email: {{ $json.to }}\n\nEmail Subject:\n{{ $json.subject }}\n\nEmail body:\n{{ $json.body }}",
"jsonMode": "expressionData"
},
"typeVersion": 1
},
{
"id": "cd126bb7-60a6-450b-b31c-cfd9517e9441",
"name": "메모11",
"type": "n8n-nodes-base.stickyNote",
"position": [
-6128,
1328
],
"parameters": {
"width": 1596,
"height": 740,
"content": "# Get All Emails -> Store embedding in vector db\n"
},
"typeVersion": 1
},
{
"id": "19fe59c6-6576-453a-8098-97e47c72c033",
"name": "batch emails",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-5424,
1472
],
"parameters": {
"options": {},
"batchSize": 50
},
"typeVersion": 3
},
{
"id": "512bb68a-94d7-4e0f-ab51-265f19d670bd",
"name": "Character Text Splitter1",
"type": "@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter",
"position": [
-5024,
1888
],
"parameters": {
"separator": "Email details:"
},
"typeVersion": 1
},
{
"id": "051c026e-0fd7-4182-a388-0ccd6e0c085e",
"name": "OpenAI 임베딩3",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
-6784,
1072
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"id": "K8T7HIhpd7gMJG20",
"name": "OpenAi account - Remap"
}
},
"typeVersion": 1.1
},
{
"id": "d7481948-2972-42e9-b2ef-900c55bc6465",
"name": "Qdrant Email 벡터 스토어",
"type": "@n8n/n8n-nodes-langchain.vectorStoreQdrant",
"position": [
-6736,
896
],
"parameters": {
"mode": "retrieve-as-tool",
"options": {},
"toolName": "emails_vector_search",
"toolDescription": "=Call this tool to perform a vector embeddings search in my e-mail database. For time-specific queries:\n1. ALWAYS include the time frame in your query (e.g., \"interviews scheduled after April 27, 2025\" or \"interviews for next week April 28-May 4, 2025\")\n2. For future events, explicitly mention \"future\" or \"upcoming\" in your query",
"qdrantCollection": {
"__rl": true,
"mode": "list",
"value": "emails_history",
"cachedResultName": "emails_history"
}
},
"typeVersion": 1.1
},
{
"id": "7cecd74a-bde6-4fcf-8622-81620c63b20f",
"name": "Qdrant 벡터 스토어",
"type": "@n8n/n8n-nodes-langchain.vectorStoreQdrant",
"position": [
-5568,
672
],
"parameters": {
"mode": "insert",
"options": {},
"qdrantCollection": {
"__rl": true,
"mode": "list",
"value": "emails_history",
"cachedResultName": "emails_history"
}
},
"typeVersion": 1.1
},
{
"id": "1e6d26d8-60e3-4128-82b4-a5e61d83cff1",
"name": "Qdrant 벡터 스토어1",
"type": "@n8n/n8n-nodes-langchain.vectorStoreQdrant",
"position": [
-5104,
1456
],
"parameters": {
"mode": "insert",
"options": {},
"qdrantCollection": {
"__rl": true,
"mode": "list",
"value": "emails_history",
"cachedResultName": "emails_history"
}
},
"typeVersion": 1.1
},
{
"id": "8b9845c3-a9e6-47a1-ae0e-8e66a15b5812",
"name": "채팅 메시지 수신 시",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-7248,
576
],
"webhookId": "61ffbc2d-0469-49ab-8541-694f021112e6",
"parameters": {
"options": {}
},
"typeVersion": 1.1
},
{
"id": "2c320869-b169-4961-a8fd-5403c7a1366e",
"name": "심플 메모리",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
-6864,
800
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "6735edda-91ff-4872-8c13-bec68a8af925",
"name": "Get many messages",
"type": "n8n-nodes-base.gmail",
"position": [
-5824,
1472
],
"webhookId": "778c704a-a717-45e1-adc7-f15a6426c415",
"parameters": {
"simple": false,
"filters": {},
"options": {},
"operation": "getAll",
"returnAll": true
},
"credentials": {
"gmailOAuth2": {
"id": "ufYEel3Kf0MiIlZB",
"name": "Gmail account - chzainali6363@gmail.com"
}
},
"typeVersion": 2.1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "a81f41c7-8a71-483c-82bb-ff45081649cf",
"connections": {
"Code": {
"main": [
[
{
"node": "19fe59c6-6576-453a-8098-97e47c72c033",
"type": "main",
"index": 0
}
]
]
},
"RAG Agent": {
"main": [
[]
]
},
"19fe59c6-6576-453a-8098-97e47c72c033": {
"main": [
[],
[
{
"node": "Qdrant Vector Store1",
"type": "main",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "RAG Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"954a8ea4-9e00-43b9-9fe2-6d717b6dccd7": {
"main": [
[
{
"node": "Qdrant Vector Store",
"type": "main",
"index": 0
}
]
]
},
"Gmail Trigger1": {
"main": [
[
{
"node": "954a8ea4-9e00-43b9-9fe2-6d717b6dccd7",
"type": "main",
"index": 0
}
]
]
},
"6735edda-91ff-4872-8c13-bec68a8af925": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "RAG Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Embeddings OpenAI3": {
"ai_embedding": [
[
{
"node": "Qdrant Email Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Embeddings OpenAI5": {
"ai_embedding": [
[
{
"node": "Qdrant Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"5200b258-2c96-4d38-9c92-b5353ada6957": {
"ai_document": [
[
{
"node": "Qdrant Vector Store1",
"type": "ai_document",
"index": 0
}
]
]
},
"Embeddings OpenAI11": {
"ai_embedding": [
[
{
"node": "Qdrant Vector Store1",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Qdrant Vector Store1": {
"main": [
[
{
"node": "19fe59c6-6576-453a-8098-97e47c72c033",
"type": "main",
"index": 0
}
]
]
},
"c70f74e1-75ab-4ce3-9c84-f92ff1d7a762": {
"ai_textSplitter": [
[
{
"node": "73a26bce-0df2-4755-8175-8a0e367f7418",
"type": "ai_textSplitter",
"index": 0
}
]
]
},
"512bb68a-94d7-4e0f-ab51-265f19d670bd": {
"ai_textSplitter": [
[
{
"node": "5200b258-2c96-4d38-9c92-b5353ada6957",
"type": "ai_textSplitter",
"index": 0
}
]
]
},
"Qdrant Email Vector Store": {
"ai_tool": [
[
{
"node": "RAG Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "RAG Agent",
"type": "main",
"index": 0
}
]
]
},
"73a26bce-0df2-4755-8175-8a0e367f7418": {
"ai_document": [
[
{
"node": "Qdrant Vector Store",
"type": "ai_document",
"index": 0
}
]
]
},
"When clicking ‘Test workflow’": {
"main": [
[
{
"node": "6735edda-91ff-4872-8c13-bec68a8af925",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 내부 위키, AI RAG
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
문서 RAG과 채팅 대리자: 구글 드라이브에서 Qdrant과 Mistral OCR로
문서 RAG 및 채팅 대리인: Google Drive에서 Qdrant과 Mistral OCR
If
Set
Code
+
If
Set
Code
40 노드DIGITAL BIZ TECH
내부 위키
제품 추천 RAG
OpenAI, Qdrant, Google 스프레드시트 RAG를 사용하여 의료 증상을 제품과 일치시킵니다.
Google Sheets
Manual Trigger
Split In Batches
+
Google Sheets
Manual Trigger
Split In Batches
17 노드Zain Ali
리드 육성
🤖 Gemini RAG 파이프라인을 사용한 문서 전문가 채팅 로봇 구축
OpenAI RAG 파이프라인을 사용하여 n8n 문서 전문가 채팅 로봇 구축
Set
Html
Filter
+
Set
Html
Filter
46 노드Ayham
내부 위키
시각화 참조 라이브러리에서 n8n 노드를 탐색
可视化 참조 라이브러리에서 n8n 노드를 탐색
If
Ftp
Set
+
If
Ftp
Set
113 노드I versus AI
기타
基于AI의MIS에이전트
基于AI의관리信息系统에이전트
If
Set
Code
+
If
Set
Code
129 노드Kumar Shivam
지원
[AOE] 수신함 및 캘린어 관리 에이전트
Gmail, Google Calendar 및 GPT-4o AI를 사용한 이메일 및 캘린더 관리 자동화
Code
Gmail
Gmail Tool
+
Code
Gmail
Gmail Tool
38 노드AOE Agent Lab
인공지능