Gemini AI 기반 Zoho Desk 지원 티켓 자동 분류
중급
이것은자동화 워크플로우로, 14개의 노드를 포함합니다.주로 Code, SplitOut, HttpRequest, ManualTrigger, ChainLlm 등의 노드를 사용하며. Gemini AI 기반 Zoho Desk 지원 티켓 자동 분류
사전 요구사항
- •대상 API의 인증 정보가 필요할 수 있음
카테고리
-
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "42450f423595f391b7c323eb4191c0bc81df9f6de5483a12f34f76cb4146556c",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "f34db366-b13a-43ac-8d4e-a52e3a7243dd",
"name": "'워크플로 실행' 클릭 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-432,
-256
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e2386bfd-2803-4f40-8744-0c86aecfb167",
"name": "OpenRouter 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
1200,
-96
],
"parameters": {
"model": "google/gemini-2.5-flash-lite-preview-09-2025",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "aCsTDT5LGS5D8Ndl",
"name": "OpenRouter account"
}
},
"typeVersion": 1
},
{
"id": "fe6a1452-471c-4e2b-8c64-7d32e35bb33b",
"name": "분류 필터 = null",
"type": "n8n-nodes-base.code",
"position": [
496,
-256
],
"parameters": {
"jsCode": "// Filter items where classification is null\nconst filteredItems = $input.all().filter(item => item.json.classification === null);\n\nreturn filteredItems;\n"
},
"typeVersion": 2
},
{
"id": "4153b802-af64-4ec1-b55e-2dcd41a8f038",
"name": "스레드 가져오기",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
720,
-256
],
"parameters": {
"url": "=https://desk.zoho.eu/api/v1/tickets/{{ $json.id }}/threads",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"genericAuthType": "oAuth2Api",
"queryParameters": {
"parameters": [
{
"name": "sortBy",
"value": "sendDateTime"
}
]
},
"headerParameters": {
"parameters": [
{}
]
}
},
"typeVersion": 4.2
},
{
"id": "f41d94a5-3070-4874-a72d-2ff28af6e4ca",
"name": "첫 번째 스레드 가져오기",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
944,
-256
],
"parameters": {
"url": "=https://desk.zoho.eu/api/v1/tickets/{{ $('Filter classification = null').item.json.id }}/threads/{{ $json.data[0].id }}",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "oAuth2Api",
"queryParameters": {
"parameters": [
{
"name": "include",
"value": "plainText"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "dba88e6c-e555-42d6-b0b6-b02c2f5ef977",
"name": "분류하기",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1168,
-256
],
"parameters": {
"text": "=**Role:** You are an expert support ticket classification system.\n\n**Task:** Read the provided ticket title and request body. Based on the content, classify the ticket into one of the following categories. Respond with only the single, most appropriate category name.\n\n**Categories:**\n• Content\n• Contract\n• Invoice\n• Featured Products\n• Affiliate-Partner\n• Bug\n• Feature\n• Other\n\n---\n\n**Ticket Title:**\n{{ $('Filter classification = null').item.json.subject }}\n\n**Ticket Request:**\n{{ $json.plainText }}\n\n**Category:**",
"batching": {},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "b14e73ba-0046-4395-9e26-f80014a3332a",
"name": "티켓 업데이트",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
1600,
-256
],
"parameters": {
"url": "=https://desk.zoho.eu/api/v1/tickets/{{ $('Filter classification = null').item.json.id }}",
"method": "PUT",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "classification",
"value": "={{ $json.text }}"
}
]
},
"genericAuthType": "oAuth2Api"
},
"typeVersion": 4.2
},
{
"id": "62d15c70-77fb-4947-a808-29e0c366e957",
"name": "모든 티켓 가져오기",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
48,
-256
],
"parameters": {
"url": "https://desk.zoho.eu/api/v1/tickets/search",
"options": {
"pagination": {
"pagination": {
"parameters": {
"parameters": [
{
"name": "from",
"value": "={{ $pageCount * 100 }}"
}
]
},
"completeExpression": "={{ $response.body.data.length === 0 || $response.body.data.length < 100 }}",
"paginationCompleteWhen": "other"
}
}
},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "oAuth2Api",
"queryParameters": {
"parameters": [
{
"name": "limit",
"value": "100"
},
{
"name": "sortBy",
"value": "createdTime"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "4e551054-ffb2-4d4b-ba37-3b24045c9971",
"name": "티켓 분할",
"type": "n8n-nodes-base.splitOut",
"position": [
272,
-256
],
"parameters": {
"options": {},
"fieldToSplitOut": "data"
},
"typeVersion": 1
},
{
"id": "8e29f267-2cae-4429-8914-a58487d45840",
"name": "스티커 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-576,
-784
],
"parameters": {
"width": 368,
"height": 480,
"content": "## 🎯 WORKFLOW PURPOSE\n\nAutomatically classifies Zoho Desk tickets using AI based on their title and content.\nProcesses all unclassified tickets in batches.\n"
},
"typeVersion": 1
},
{
"id": "4b6d79df-3535-4d37-b959-64f5642817eb",
"name": "스티커 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-784
],
"parameters": {
"color": 7,
"width": 368,
"height": 480,
"content": "## 📥 FETCH TICKETS WITH PAGINATION\n- Retrieves 100 tickets per page\n- Automatically paginates through ALL results\n- Sorted by creation time\n\n## 🔐 OAUTH2 SETUP\nSetting up OAuth2 with Zoho can be tricky! \nFollow my complete guide: https://gist.github.com/Julian194/7c0ef5abaa5e3850f2bcc0a51bcd4633\n\n## ⚙️ PAGINATION EXPLAINED\nThis demonstrates proper Zoho API pagination:\n- Uses 'from' parameter: {{ $pageCount * 100 }}\n- Stops when: data.length === 0 or < 100\n- This pattern works for all Zoho Desk paginated endpoints\n"
},
"typeVersion": 1
},
{
"id": "a019181e-7023-4002-b106-2635cf4ccf3d",
"name": "스티커 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
384,
-784
],
"parameters": {
"color": 7,
"width": 320,
"height": 480,
"content": "## 🔍 FILTER LOGIC\nOnly processes tickets where 'classification' is empty/null.\nPrevents re-processing already classified tickets.\n\n## 💡 ALTERNATIVE APPROACH\nYou can filter directly in the API using query parameters instead!\nCheck the Zoho API docs for available filters.\nThis example shows client-side filtering for simplicity.\n\n"
},
"typeVersion": 1
},
{
"id": "33dbe4e2-6f94-41f9-bc39-2b57c3df728e",
"name": "스티커 노트4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1104,
-784
],
"parameters": {
"color": 7,
"width": 368,
"height": 480,
"content": "## 🤖 AI CLASSIFICATION CATEGORIES\n• Content\n• Contract\n• Invoice\n• Featured Products\n• Affiliate-Partner\n• Bug\n• Feature\n• Other\n\n## ✏️ CUSTOMIZE FOR YOUR USE CASE\nChange these categories to match your business needs!\nYou can also modify the prompt to classify different aspects \n(urgency, department, product type, etc.)\n\n"
},
"typeVersion": 1
},
{
"id": "57d25075-78d6-42cc-8415-9a51c8c7883e",
"name": "스티커 노트5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1536,
-512
],
"parameters": {
"color": 7,
"width": 272,
"height": 208,
"content": "## 💾 SAVE CLASSIFICATION\nUpdates the Zoho Desk ticket with the AI-generated classification.\nError handling enabled to continue processing other tickets if one fails.\n"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"dba88e6c-e555-42d6-b0b6-b02c2f5ef977": {
"main": [
[
{
"node": "b14e73ba-0046-4395-9e26-f80014a3332a",
"type": "main",
"index": 0
}
]
]
},
"4153b802-af64-4ec1-b55e-2dcd41a8f038": {
"main": [
[
{
"node": "f41d94a5-3070-4874-a72d-2ff28af6e4ca",
"type": "main",
"index": 0
}
]
]
},
"4e551054-ffb2-4d4b-ba37-3b24045c9971": {
"main": [
[
{
"node": "fe6a1452-471c-4e2b-8c64-7d32e35bb33b",
"type": "main",
"index": 0
}
]
]
},
"f41d94a5-3070-4874-a72d-2ff28af6e4ca": {
"main": [
[
{
"node": "dba88e6c-e555-42d6-b0b6-b02c2f5ef977",
"type": "main",
"index": 0
}
]
]
},
"62d15c70-77fb-4947-a808-29e0c366e957": {
"main": [
[
{
"node": "4e551054-ffb2-4d4b-ba37-3b24045c9971",
"type": "main",
"index": 0
}
]
]
},
"e2386bfd-2803-4f40-8744-0c86aecfb167": {
"ai_languageModel": [
[
{
"node": "dba88e6c-e555-42d6-b0b6-b02c2f5ef977",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"fe6a1452-471c-4e2b-8c64-7d32e35bb33b": {
"main": [
[
{
"node": "4153b802-af64-4ec1-b55e-2dcd41a8f038",
"type": "main",
"index": 0
}
]
]
},
"f34db366-b13a-43ac-8d4e-a52e3a7243dd": {
"main": [
[
{
"node": "62d15c70-77fb-4947-a808-29e0c366e957",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
커뮤니티 문제 모니터링 및 OpenRouter AI, Reddit, 포럼 크롤링
OpenRouter AI, Reddit, 포럼을 사용하여 커뮤니티 문제를 모니터링합니다.
Set
Code
Html
+
Set
Code
Html
29 노드Julian Kaiser
시장 조사
HN 채용 정보 추출
Hacker News 채용 정보 추출 및 분석
Set
Code
Limit
+
Set
Code
Limit
20 노드Julian Kaiser
인사
OpenRouter GPT-5 및 이메일을 사용한 채용 기회 요약 자동화
OpenRouter GPT-5 및 이메일을 통한 채용 기회 요약 자동화
Code
Html
Merge
+
Code
Html
Merge
18 노드Julian Kaiser
GPT-5-mini 요약 및 이메일 다이제스트로 Make.com 구인 게시판 자동 스크랩
GPT-5-mini 요약 및 이메일 요약을 사용하여 Make.com 구인 게시판 자동 스크랩
Code
Html
Merge
+
Code
Html
Merge
18 노드Julian Kaiser
아마존 제품 검색 크롤러 (BrightData, GPT-4 및 Google Sheets)
BrightData, GPT-4, Google Sheets를 사용한 Amazon 제품 검색 크롤러
Code
Split Out
Http Request
+
Code
Split Out
Http Request
11 노드phil
인공지능
n8n에서 Gemini AI로 이미지 및 PDF 처리하는 5가지 방법
在n8n中사용Gemini AI처리图像및PDF의5种方法
Set
Filter
Split Out
+
Set
Filter
Split Out
28 노드Julian Kaiser
빌딩 블록
워크플로우 정보
난이도
중급
노드 수14
카테고리-
노드 유형7
저자
Julian Kaiser
@jksrFull Stack Developer turned AI & Automation Engineer, implementing intelligent solutions with custom code, LLMs & n8n. Use my link to book a free 30-minute call to discuss your AI challenges and see if my services might be a good fit for your needs.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유