고객 지원
고급
이것은Support Chatbot, Multimodal AI분야의자동화 워크플로우로, 27개의 노드를 포함합니다.주로 Code, Switch, Webhook, GmailTool, SupabaseTool 등의 노드를 사용하며. GPT-4와 Supabase를 통합한 AI 기반 전자상거래 고객 지원 챗봇
사전 요구사항
- •HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
- •Google 계정 및 Gmail API 인증 정보
- •Supabase URL과 API Key
- •OpenAI API Key
사용된 노드 (27)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "uuSl9lDT5Kvcmorr",
"meta": {
"instanceId": "6b109f8b50fc175f161ecf0ec15aeda399ad29579e94d7b8c80910ef688285d8",
"templateCredsSetupCompleted": true
},
"name": "Customer Support",
"tags": [],
"nodes": [
{
"id": "dfd932f3-1fe2-49a4-b914-a6d9c69cdbf6",
"name": "AI 에이전트",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-220,
-20
],
"parameters": {
"text": "=Here is the query of user {{ $json.body.message }}",
"options": {
"systemMessage": "=You are an AI assistant that classifies customer support queries.\n\nYour task is to:\n1. Understand the user's message.\n2. Identify the **intent** behind the query.\n3. Extract any **mentioned product** or item.\n4. Respond in **strict JSON format**.\n5. If user did not asking about these things then reply with the assitant tone . don't forecfully try to classify everything to certain category.\n\nPossible intents:\n- \"order_status\" → Asking about delivery, shipping, or order update.\n- \"support_ticket\" → Complaints, issues, or help requests.\n- \"product_recommendation\" → Asking for product suggestions or alternatives.\n\nHere are some examples:\n\n---\nUser: \"Where is my headset?\"\nOutput:\n{ \"intent\": \"order_status\", \"product\": \"headset\" }\n\n---\nUser: \"My keyboard hasn’t arrived yet.\"\nOutput:\n{ \"intent\": \"order_status\", \"product\": \"keyboard\" }\n\n---\nUser: \"I need help with a broken mouse.\"\nOutput:\n{ \"intent\": \"support_ticket\", \"product\": \"mouse\" }\n\n---\nUser: \"Can you suggest something similar to a gaming chair?\"\nOutput:\n{ \"intent\": \"product_recommendation\", \"product\": \"gaming chair\" }\n\n---\nUser: \"Thanks for your help\"\nOutput:\n{ \"intent\":\"general\", \"product\":\"Happy to assists you . What else you need . Aske me i can help.\"}\n\n\n"
},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "dd1aa1e5-eaa2-4617-85e5-71f93a4327bd",
"name": "OpenAI 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-220,
160
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "Q7EegaddHu6FMk4i",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "37a5d705-e4a3-43c5-9405-077f0bc2827c",
"name": "코드",
"type": "n8n-nodes-base.code",
"position": [
80,
-20
],
"parameters": {
"jsCode": "// Loop over input items and add a new field called 'myNewField' to the JSON of each one\nresponse= JSON.parse($input.first().json.output)\nreturn {\"category\":response}"
},
"typeVersion": 2
},
{
"id": "865fc0d3-679a-4368-8605-75a94bb00f59",
"name": "스위치",
"type": "n8n-nodes-base.switch",
"position": [
280,
0
],
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "52528583-0e80-4335-aa15-660d2d500108",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.category.intent }}",
"rightValue": "order_status"
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "fb71b829-1006-4f9f-80ed-3458d5ce4b63",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.category.intent }}",
"rightValue": "product_recommendation"
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "ec099566-32cf-408b-a502-7d0f6ca742f4",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.category.intent }}",
"rightValue": "support_ticket"
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d3ad5c59-2938-4fc6-ad0f-c9fec160c589",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.category.intent }}",
"rightValue": "general"
}
]
}
}
]
},
"options": {
"allMatchingOutputs": true
}
},
"typeVersion": 3.2
},
{
"id": "83768852-add1-4a23-a407-9a193b821580",
"name": "스티키 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
-120
],
"parameters": {
"height": 100,
"content": "#### order_status\n#### product_recommendations\n#### support_ticket\n"
},
"typeVersion": 1
},
{
"id": "95fbe02c-e9b1-4fc1-9444-2b98e76e3b99",
"name": "주문 조회",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
840,
-500
],
"parameters": {
"text": "=The query of the user is this .{{ $('Webhook').item.json.body.message }}",
"options": {
"systemMessage": "=You are a helpful AI assistant that handles customer support queries related to order tracking.\n\nYour job is to:\n1. Understand the customer's query.\n2. Extract any useful details like:\n - `order_id` (e.g., ORD001)\n - `product` name (e.g., keyboard)\n - `customer_name` (optional, fallback if no order_id is given)\n3. If the intent is to check order status, you MUST call the `getOrderStatus` tool with the extracted order_id or product.\n4. Wait for the result from the tool and then respond clearly with the order status and ETA.\n\n---\n\nExamples:\n\nUser: \"Where is my keyboard? I think it was order ORD001\"\n→ Extract:\n{\n \"intent\": \"order_status\",\n \"order_id\": \"ORD001\",\n \"product\": \"keyboard\"\n}\n→ Then call: getOrderStatus(order_id = \"ORD001\")\n\n---\n\nUser: \"I ordered a mouse last week. When will it arrive?\"\n→ Extract:\n{\n \"intent\": \"order_status\",\n \"product\": \"mouse\"\n}\n→ Then ask about the order_id first then move further\n\n---\n\nUser: \"I haven’t received my microphone yet\"\n→ Extract:\n{\n \"intent\": \"order_status\",\n \"product\": \"microphone\"\n}\n→ Then call: getOrderStatus(product = \"microphone\")\n\n---\n\nIf you do not have enough information to look up the order, ask for the `order ID` or product name politely.\n\nALWAYS return your final answer to the user in natural, friendly language, after getting the result from `getOrderStatus`.\n\nThe result value should be of string .\n"
},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "9fe7972e-c225-4918-b8ad-5b30e35c6535",
"name": "getOrderStatus",
"type": "n8n-nodes-base.supabaseTool",
"position": [
1240,
-320
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "order_id",
"keyValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('conditions0_Value', ``, 'string') }}"
}
]
},
"tableId": "orders",
"operation": "get"
},
"credentials": {
"supabaseApi": {
"id": "Wwp5fmAE6zpCGAJI",
"name": "Supabase account"
}
},
"typeVersion": 1
},
{
"id": "37d2380c-1f86-4d33-a8a1-096df1aa8741",
"name": "OpenAI 채팅 모델1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
860,
-300
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "Q7EegaddHu6FMk4i",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "2075ef0b-9415-4267-9d79-f9b5cd752fcb",
"name": "심플 메모리",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
1080,
-280
],
"parameters": {
"sessionKey": "={{ $('Webhook').item.json.body.session_id }}",
"sessionIdType": "customKey",
"contextWindowLength": 7
},
"typeVersion": 1.3
},
{
"id": "5a1f1e85-580a-489a-8e89-0d0065f5bfe8",
"name": "심플 메모리1",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
-40,
180
],
"parameters": {
"sessionKey": "={{ $json.body.session_id }}",
"sessionIdType": "customKey",
"contextWindowLength": 7
},
"typeVersion": 1.3
},
{
"id": "fe9f6c92-70d3-4ef9-90e3-f39f16d2a548",
"name": "AI 에이전트1",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
760,
340
],
"parameters": {
"text": "=The message/qiery of the user {{ $('Webhook').item.json.body.message }}",
"options": {
"systemMessage": "=You are a smart and polite AI assistant that helps users manage customer support tickets.\n\nYou have **two main responsibilities**:\n1. 📝 Help users **create a new support ticket** when they report an issue.\n2. 📊 Help users **check the status** of an existing support ticket using their ticket ID.\n\n---\n\n### 1. SUPPORT TICKET CREATION\n\nIf the user reports an issue with a product (e.g., “my keyboard is not working”), your task is to:\n\n✅ Collect the following required information:\n\n- `user_email` → The customer's email address \n - If the email is not provided, ask the user to share it.\n - Warn them that this email will be used by the company to contact them, so it must be correct.\n\n- `product` → The name of the product involved in the issue.\n\n- `issue` → A clear description of the problem.\n\n- `ticket_id` → Call the **Code tool** to generate a unique ticket ID. \n **Do NOT generate the ticket ID yourself.**\n\n---\n\n✅ Once all required fields are collected:\n\n- Call the **`createSupportTicket`** tool using:\n - `ticket_id` (from the Code tool)\n - `user_email`\n - `product`\n - `issue`\n - `status = open`\n\n- Then, politely respond to the user like this:\n\n> “Thanks! Your support ticket has been created with Ticket ID **TKT-20250711-8471**. Our team will contact you at **ali@example.com**. You can use this ID anytime to check the ticket's progress.”\n\n---\n\n✅ Also, **send an email** to the company or support team with the ticket info using a connected email tool (e.g., SendGrid or SMTP):\n- Subject: `New Support Ticket Created - TKT-20250711-8471`\n- Include: `user_email`, `product`, `issue`\n\n---\n\n### 2. CHECK TICKET STATUS\n\nIf the user asks about an existing ticket's progress (e.g., “What's the update on TKT-20250711-8471?”):\n\n✅ Steps:\n- Extract the `ticket_id` from the message.\n- If not provided, ask the user to share their ticket ID.\n- Once available, call the **`getTicketStatus`** tool using the `ticket_id`.\n\n✅ Respond back to the user with:\n\n> “Your ticket **TKT-20250711-8471** is currently marked as **in progress**. \n> Update: Our technician is working on your issue and will follow up soon.”\n\n---\n\n### BEHAVIOR RULES:\n\n- Always use a helpful, natural, and polite tone.\n- Don’t make up any values — especially ticket IDs.\n- Don’t submit the ticket until all required fields are collected.\n- If any field is missing, gently ask for it.\n\n---\n\n### EXAMPLE DIALOGUE:\n\n**User**: “My monitor keeps flickering.”\n→ Ask: “I’m sorry to hear that! Can you please share your email address? We’ll use it to contact you with updates.”\n\n**User**: “My headset is broken. Email: sara@example.com”\n→ Extract all info → Call Code tool for `ticket_id` → Call `createSupportTicket` → Respond with confirmation + ID\n\n**User**: “What’s going on with ticket TKT-20250711-8471?”\n→ Extract ID → Call `getTicketStatus` → Respond with current status and update notes\n\n---\n\nFollow these steps carefully to manage all support ticket interactions.\n\n\n## Important\n- don't the output with ** , / or any element which cause the invalid json while parsing. "
},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "40fe3c62-7dd5-4db7-9179-e773cc151a0f",
"name": "지원 티켓 처리",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
500,
600
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "Q7EegaddHu6FMk4i",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "2760705d-0971-46c8-bf42-a16e08341ca0",
"name": "심플 메모리2",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
640,
620
],
"parameters": {
"sessionKey": "={{ $('Webhook').item.json.body.session_id }}",
"sessionIdType": "customKey",
"contextWindowLength": 7
},
"typeVersion": 1.3
},
{
"id": "55cbecd5-9e0c-482c-89ff-413b8fb4b35b",
"name": "코드 도구",
"type": "@n8n/n8n-nodes-langchain.toolCode",
"position": [
860,
640
],
"parameters": {
"jsCode": "const now = new Date();\nconst dateStr = now.toISOString().slice(0,10).replace(/-/g, '');\nconst random = Math.floor(1000 + Math.random() * 9000); // 4-digit code\nconst ticket_id = `TKT-${dateStr}-${random}`;\nreturn ticket_id",
"description": "Call this tool to create the unique Ticket Id"
},
"typeVersion": 1.2
},
{
"id": "eb443fb8-fd18-4983-b1c3-91f1c92d7563",
"name": "전송",
"type": "n8n-nodes-base.gmailTool",
"position": [
1140,
620
],
"webhookId": "e234df90-5074-4e47-8982-f228df61d50c",
"parameters": {
"sendTo": "seharn314@gmail.com",
"message": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}",
"options": {},
"subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}"
},
"credentials": {
"gmailOAuth2": {
"id": "XPVAzucp2RRhHu9P",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "35975b58-ce77-4837-b098-a5673ce5dc6f",
"name": "createSupportTicket",
"type": "n8n-nodes-base.supabaseTool",
"position": [
1000,
640
],
"parameters": {
"tableId": "support_tickets",
"fieldsUi": {
"fieldValues": [
{
"fieldId": "ticket_id",
"fieldValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('fieldValues0_Field_Value', ``, 'string') }}"
},
{
"fieldId": "user_email",
"fieldValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('fieldValues1_Field_Value', ``, 'string') }}"
},
{
"fieldId": "product",
"fieldValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('fieldValues2_Field_Value', ``, 'string') }}"
},
{
"fieldId": "issue",
"fieldValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('fieldValues3_Field_Value', ``, 'string') }}"
},
{
"fieldId": "status",
"fieldValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('fieldValues4_Field_Value', ``, 'string') }}"
}
]
}
},
"credentials": {
"supabaseApi": {
"id": "Wwp5fmAE6zpCGAJI",
"name": "Supabase account"
}
},
"typeVersion": 1
},
{
"id": "dcd292e1-bb3b-441e-a4bf-8b730bbc353f",
"name": "getTicketStatus",
"type": "n8n-nodes-base.supabaseTool",
"position": [
1260,
600
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "ticket_id",
"keyValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('conditions0_Value', ``, 'string') }}"
}
]
},
"tableId": "support_tickets",
"operation": "get",
"descriptionType": "manual",
"toolDescription": "Tool can retrieve the information about any support ticket by its Ticket ID"
},
"credentials": {
"supabaseApi": {
"id": "Wwp5fmAE6zpCGAJI",
"name": "Supabase account"
}
},
"typeVersion": 1
},
{
"id": "a7b25883-96b5-4d98-9c9b-37fcd23d5315",
"name": "추천",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1160,
-40
],
"parameters": {
"text": "=The query of the user is this . {{ $('Webhook').item.json.body.message }}",
"options": {
"systemMessage": "=You are a helpful and polite AI assistant that suggests similar or related products based on what the user is looking for.\n\nYour job is to:\n1. Understand whether the user is asking for **product recommendations**, **similar items**, **suggestions**, or **alternatives**.\n2. Determine whether the user is referring to a **specific product** or a **product category**.\n3. Based on that:\n - If the user refers to a **product name**, call the tool `getProductRecommendations` with the key `\"product\"`.\n - If the user refers to a **product category**, call the tool `getCategoryRecommendations` with the key `\"category\"`.\n4. Wait for the tool response before replying.\n5. After receiving the tool result, present the recommended products in a helpful, friendly tone.\n\n---\n\n### 🔍 Input Understanding Rules\n\n- If the user says something like “Can you suggest something like a wireless mouse?”, interpret this as a **product-based recommendation**.\n - Extract: `\"product\": \"wireless mouse\"`\n - Call: `getProductRecommendations`\n\n- If the user says something like “What are some good accessories for laptops?” or “Suggest something in audio equipment,” interpret this as a **category-based recommendation**.\n - Extract: `\"category\": \"laptop accessories\"` or `\"audio equipment\"` or `\"display\"` , `\"audio\"`\n - Call: `getCategoryRecommendations`\n\n---\n\n### ⚠️ Missing Info Handling\n\nIf the user does not clearly mention a product or category, politely ask:\n> “Could you please tell me the product or category you’re interested in so I can recommend something useful?”\n\n---\n\n"
},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "5ac4c297-01f9-4f30-8e8a-55479a73dfe0",
"name": "OpenAI 채팅 모델2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1140,
160
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "Q7EegaddHu6FMk4i",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "cda9abdf-cabe-4127-9507-66392d712769",
"name": "심플 메모리3",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
1280,
180
],
"parameters": {
"sessionKey": "={{ $('Webhook').item.json.body.session_id }}",
"sessionIdType": "customKey",
"contextWindowLength": 7
},
"typeVersion": 1.3
},
{
"id": "11aa9f9e-1acb-45ee-986c-4298b228dc5d",
"name": "getCategoryRecommendations",
"type": "n8n-nodes-base.supabaseTool",
"position": [
1400,
200
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "category",
"keyValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('conditions1_Value', ``, 'string') }}"
}
]
},
"tableId": "products",
"operation": "get",
"descriptionType": "manual",
"toolDescription": "Call this tool when you want recommendation based on the category."
},
"credentials": {
"supabaseApi": {
"id": "Wwp5fmAE6zpCGAJI",
"name": "Supabase account"
}
},
"typeVersion": 1
},
{
"id": "130277bc-6cbf-48e2-9b16-a94bc1088d31",
"name": "getProductRecommendations",
"type": "n8n-nodes-base.supabaseTool",
"position": [
1540,
140
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "name",
"keyValue": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('conditions0_Value', ``, 'string') }}"
}
]
},
"tableId": "products",
"operation": "get",
"descriptionType": "manual",
"toolDescription": "Call this tool if you want recommendation based on the product name."
},
"credentials": {
"supabaseApi": {
"id": "Wwp5fmAE6zpCGAJI",
"name": "Supabase account"
}
},
"typeVersion": 1
},
{
"id": "3ca4c1cb-6a0d-49c5-ad2d-94ab800a3437",
"name": "웹훅",
"type": "n8n-nodes-base.webhook",
"position": [
-440,
-20
],
"webhookId": "4cdaa2e9-be46-4f60-83f6-8d7bd4a6ad5d",
"parameters": {
"path": "4cdaa2e9-be46-4f60-83f6-8d7bd4a6ad5d",
"options": {},
"httpMethod": "POST",
"responseMode": "responseNode"
},
"typeVersion": 2
},
{
"id": "015084ec-64f3-4bae-8aee-3f826c383c71",
"name": "웹훅 응답",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
1200,
-500
],
"parameters": {
"options": {},
"respondWith": "json",
"responseBody": "={\n \"response\": \"{{ $json.output.replace(/[\\n\\r\\t]+/g, ' ').replace(/\\s{2,}/g, ' ').trim() }}\"\n}\n"
},
"typeVersion": 1.4
},
{
"id": "cfe0f477-ae44-45cc-b3c1-33575934607b",
"name": "웹훅 응답1",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
1560,
-40
],
"parameters": {
"options": {},
"respondWith": "json",
"responseBody": "={\n\"response\":\"{{ JSON.stringify($json.output) }}\"\n}"
},
"typeVersion": 1.4
},
{
"id": "8251dd9d-41b8-413b-a97e-aa086b6f66c6",
"name": "웹훅 응답2",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
1120,
340
],
"parameters": {
"options": {},
"respondWith": "json",
"responseBody": "={\n \"response\": \"{{ $json.output.replace(/[\\n\\r\\t]+/g, ' ').replace(/\\s{2,}/g, ' ').trim() }}\"\n}\n"
},
"typeVersion": 1.4
},
{
"id": "0d6e5c87-9824-493f-a492-dead40212114",
"name": "웹훅 응답3",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
280,
440
],
"parameters": {
"options": {},
"respondWith": "json",
"responseBody": "={\n \"response\": \"{{ $json.category.product }}\"\n}"
},
"typeVersion": 1.4
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "0c596213-59ce-4080-b740-b2b6c6e3981d",
"connections": {
"37a5d705-e4a3-43c5-9405-077f0bc2827c": {
"main": [
[
{
"node": "865fc0d3-679a-4368-8605-75a94bb00f59",
"type": "main",
"index": 0
}
]
]
},
"eb443fb8-fd18-4983-b1c3-91f1c92d7563": {
"ai_tool": [
[
{
"node": "fe9f6c92-70d3-4ef9-90e3-f39f16d2a548",
"type": "ai_tool",
"index": 0
}
]
]
},
"865fc0d3-679a-4368-8605-75a94bb00f59": {
"main": [
[
{
"node": "95fbe02c-e9b1-4fc1-9444-2b98e76e3b99",
"type": "main",
"index": 0
}
],
[
{
"node": "a7b25883-96b5-4d98-9c9b-37fcd23d5315",
"type": "main",
"index": 0
}
],
[
{
"node": "fe9f6c92-70d3-4ef9-90e3-f39f16d2a548",
"type": "main",
"index": 0
}
],
[
{
"node": "0d6e5c87-9824-493f-a492-dead40212114",
"type": "main",
"index": 0
}
]
]
},
"3ca4c1cb-6a0d-49c5-ad2d-94ab800a3437": {
"main": [
[
{
"node": "dfd932f3-1fe2-49a4-b914-a6d9c69cdbf6",
"type": "main",
"index": 0
}
]
]
},
"dfd932f3-1fe2-49a4-b914-a6d9c69cdbf6": {
"main": [
[
{
"node": "37a5d705-e4a3-43c5-9405-077f0bc2827c",
"type": "main",
"index": 0
}
]
]
},
"fe9f6c92-70d3-4ef9-90e3-f39f16d2a548": {
"main": [
[
{
"node": "8251dd9d-41b8-413b-a97e-aa086b6f66c6",
"type": "main",
"index": 0
}
]
]
},
"55cbecd5-9e0c-482c-89ff-413b8fb4b35b": {
"ai_tool": [
[
{
"node": "fe9f6c92-70d3-4ef9-90e3-f39f16d2a548",
"type": "ai_tool",
"index": 0
}
]
]
},
"95fbe02c-e9b1-4fc1-9444-2b98e76e3b99": {
"main": [
[
{
"node": "015084ec-64f3-4bae-8aee-3f826c383c71",
"type": "main",
"index": 0
}
]
]
},
"2075ef0b-9415-4267-9d79-f9b5cd752fcb": {
"ai_memory": [
[
{
"node": "95fbe02c-e9b1-4fc1-9444-2b98e76e3b99",
"type": "ai_memory",
"index": 0
}
]
]
},
"5a1f1e85-580a-489a-8e89-0d0065f5bfe8": {
"ai_memory": [
[
{
"node": "dfd932f3-1fe2-49a4-b914-a6d9c69cdbf6",
"type": "ai_memory",
"index": 0
}
]
]
},
"2760705d-0971-46c8-bf42-a16e08341ca0": {
"ai_memory": [
[
{
"node": "fe9f6c92-70d3-4ef9-90e3-f39f16d2a548",
"type": "ai_memory",
"index": 0
}
]
]
},
"cda9abdf-cabe-4127-9507-66392d712769": {
"ai_memory": [
[
{
"node": "a7b25883-96b5-4d98-9c9b-37fcd23d5315",
"type": "ai_memory",
"index": 0
}
]
]
},
"9fe7972e-c225-4918-b8ad-5b30e35c6535": {
"ai_tool": [
[
{
"node": "95fbe02c-e9b1-4fc1-9444-2b98e76e3b99",
"type": "ai_tool",
"index": 0
}
]
]
},
"a7b25883-96b5-4d98-9c9b-37fcd23d5315": {
"main": [
[
{
"node": "cfe0f477-ae44-45cc-b3c1-33575934607b",
"type": "main",
"index": 0
}
]
]
},
"dcd292e1-bb3b-441e-a4bf-8b730bbc353f": {
"ai_tool": [
[
{
"node": "fe9f6c92-70d3-4ef9-90e3-f39f16d2a548",
"type": "ai_tool",
"index": 0
}
]
]
},
"dd1aa1e5-eaa2-4617-85e5-71f93a4327bd": {
"ai_languageModel": [
[
{
"node": "dfd932f3-1fe2-49a4-b914-a6d9c69cdbf6",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"37d2380c-1f86-4d33-a8a1-096df1aa8741": {
"ai_languageModel": [
[
{
"node": "95fbe02c-e9b1-4fc1-9444-2b98e76e3b99",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"5ac4c297-01f9-4f30-8e8a-55479a73dfe0": {
"ai_languageModel": [
[
{
"node": "a7b25883-96b5-4d98-9c9b-37fcd23d5315",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"015084ec-64f3-4bae-8aee-3f826c383c71": {
"main": [
[]
]
},
"cfe0f477-ae44-45cc-b3c1-33575934607b": {
"main": [
[]
]
},
"35975b58-ce77-4837-b098-a5673ce5dc6f": {
"ai_tool": [
[
{
"node": "fe9f6c92-70d3-4ef9-90e3-f39f16d2a548",
"type": "ai_tool",
"index": 0
}
]
]
},
"40fe3c62-7dd5-4db7-9179-e773cc151a0f": {
"ai_languageModel": [
[
{
"node": "fe9f6c92-70d3-4ef9-90e3-f39f16d2a548",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"130277bc-6cbf-48e2-9b16-a94bc1088d31": {
"ai_tool": [
[
{
"node": "a7b25883-96b5-4d98-9c9b-37fcd23d5315",
"type": "ai_tool",
"index": 0
}
]
]
},
"11aa9f9e-1acb-45ee-986c-4298b228dc5d": {
"ai_tool": [
[
{
"node": "a7b25883-96b5-4d98-9c9b-37fcd23d5315",
"type": "ai_tool",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 지원 챗봇, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
AI 기반 WhatsApp 지원 봇(Google Sheets 티켓 생성)
AI 기반 WhatsApp 지원 봇(Google Sheets 티켓 생성)
Set
Xml
Code
+
Set
Xml
Code
35 노드Zain Khan
지원 챗봇
OpenAI, LangChain, API 통합을 사용한 작업 자동화 초보자 가이드
OpenAI, LangChain 및 API 통합을 사용한 작업 자동화 시작자 가이드
If
Set
Code
+
If
Set
Code
33 노드Meelioo
콘텐츠 제작
시각화 참조 라이브러리에서 n8n 노드를 탐색
可视化 참조 라이브러리에서 n8n 노드를 탐색
If
Ftp
Set
+
If
Ftp
Set
113 노드I versus AI
기타
dian-memo_03 내보내기
AI 음성 및 텍스트 메모 - LINE 메시지, Supabase 벡터 데이터베이스 및 Gmail 통합
If
Set
Code
+
If
Set
Code
30 노드kote2
AI RAG
살롱 예약
AI 기반 살롱 예약 시스템으로, GPT, Google 캘린더 및 이메일 확인 기능을 통합합니다.
Set
Gmail
Switch
+
Set
Gmail
Switch
20 노드Aziz B
AI 챗봇
제 작업 흐름 4
프로페셔널 어시스턴트를 갖춘 GPT-4 다중 인공지능 채팅의 아름다운 웹 인터페이스
Code
Switch
Webhook
+
Code
Switch
Webhook
24 노드Hugo
지원 챗봇
워크플로우 정보
난이도
고급
노드 수27
카테고리2
노드 유형11
저자
Sehar Nazeer
@automates-with-eazeI design powerful n8n workflows that save businesses hours of work every week. From lead generation to AI-powered automation, I create plug-and-play solutions you can integrate in minutes. Let’s automate your success.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유