Jotform
上級
これは自動化ワークフローで、18個のノードを含みます。主にGmail, Switch, Telegram, GoogleSheets, JotFormTriggerなどのノードを使用。 自動回答客先フィードバックトリアージ(Gemini、Jotform、Google Sheets、Gmailを使用)
前提条件
- •Googleアカウント + Gmail API認証情報
- •Telegram Bot Token
- •Google Sheets API認証情報
- •Google Gemini API Key
使用ノード (18)
カテゴリー
-
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "REDACTED",
"meta": {
"instanceId": "REDACTED",
"templateCredsSetupCompleted": true
},
"name": "Jotform",
"tags": [],
"nodes": [
{
"id": "db688133-4596-47b2-9d63-5e91bc73753f",
"name": "JotFormトリガー",
"type": "n8n-nodes-base.jotFormTrigger",
"position": [
-224,
-16
],
"webhookId": "REDACTED",
"parameters": {
"form": "REDACTED"
},
"credentials": {
"jotFormApi": {
"id": "REDACTED",
"name": "REDACTED"
}
},
"typeVersion": 1
},
{
"id": "9ebab0dd-5bac-443a-98ab-d30eff4b458a",
"name": "分岐",
"type": "n8n-nodes-base.switch",
"position": [
16,
-32
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "comments",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "8868d5a6-f386-4f9d-bb65-b4373617bbf6",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json['Feedback Type'].toLowerCase() }}",
"rightValue": "comments"
}
]
},
"renameOutput": true
},
{
"outputKey": "questions",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "6a821715-e994-4e85-8da3-9ba3b8e98bb5",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json['Feedback Type'].toLowerCase() }}",
"rightValue": "questions"
}
]
},
"renameOutput": true
},
{
"outputKey": "suggestions",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "3eca34e9-2a95-424c-bfe7-2e2aa6092492",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json['Feedback Type'].toLowerCase() }}",
"rightValue": "suggestions"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.3
},
{
"id": "efa026b3-0b2e-4ee7-8074-493902a91265",
"name": "Google Gemini チャットモデル",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
336,
-176
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "REDACTED",
"name": "REDACTED"
}
},
"typeVersion": 1
},
{
"id": "75bd3135-b303-4fed-95e4-50c2f8950f1a",
"name": "Google Gemini チャットモデル1",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
480,
544
],
"parameters": {
"options": {
"temperature": 0.4
}
},
"credentials": {
"googlePalmApi": {
"id": "REDACTED",
"name": "REDACTED"
}
},
"typeVersion": 1
},
{
"id": "631e6076-06f9-44c7-b2d3-2b9ed406cc5f",
"name": "感情分析",
"type": "@n8n/n8n-nodes-langchain.sentimentAnalysis",
"position": [
368,
-448
],
"parameters": {
"options": {},
"inputText": "={{ $json['Describe Your Feedback:'] }}"
},
"typeVersion": 1.1
},
{
"id": "6b25a8c3-85c3-422b-8128-416afe44b98a",
"name": "サポートグループへ送信",
"type": "n8n-nodes-base.telegram",
"position": [
912,
-272
],
"webhookId": "REDACTED",
"parameters": {
"text": "=🚨Customer Angry🚨\n\nName: {{ $json.Name.first }} {{ $json.Name.last }}\nEmail: {{ $json['E-mail'] }}\n\nMessage: {{ $json['Describe Your Feedback:'] }}\n\nPlease reach out immediately — your SLA is only 6 hours.\n\n",
"chatId": "REDACTED",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "REDACTED",
"name": "REDACTED"
}
},
"typeVersion": 1.2
},
{
"id": "a0399c2f-8d4a-4ac5-ac55-7c086fd74f7b",
"name": "顧客へ返信",
"type": "n8n-nodes-base.gmail",
"position": [
1056,
-32
],
"webhookId": "REDACTED",
"parameters": {
"sendTo": "={{ $('Switch').item.json['E-mail'] }}",
"message": "=<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>AquaPure Smart Bottle Response</title>\n <style>\n body {\n font-family: Arial, Helvetica, sans-serif;\n background-color: #f6f8fa;\n color: #333;\n margin: 0;\n padding: 0;\n }\n .email-container {\n max-width: 600px;\n margin: 30px auto;\n background: #ffffff;\n padding: 24px;\n border-radius: 8px;\n box-shadow: 0 2px 8px rgba(0,0,0,0.05);\n }\n p {\n line-height: 1.6;\n margin: 0 0 12px;\n }\n .question, .answer {\n background-color: #f1f5f9;\n padding: 12px;\n border-radius: 6px;\n margin-bottom: 16px;\n }\n .footer {\n margin-top: 24px;\n font-size: 14px;\n color: #666;\n }\n </style>\n</head>\n<body>\n <div class=\"email-container\">\n <p>\n Dear {{ $('Switch').item.json.Name.first }} {{ $('Switch').item.json.Name.last }},\n </p>\n\n <p>Thank you for your interest in <strong>AquaPure Smart Bottle</strong>.</p>\n\n <div class=\"question\">\n <strong>Question:</strong><br>\n {{ $('Switch').item.json['Describe Your Feedback:'] }}\n </div>\n\n <div class=\"answer\">\n <strong>Answer:</strong><br>\n {{ $json.output }}\n </div>\n\n <p class=\"footer\">\n Best regards,<br>\n <strong>Jotform</strong>\n </p>\n </div>\n</body>\n</html>",
"options": {},
"subject": "=AquaPure Smart Bottle - {{ $('Switch').item.json['Describe Your Feedback:'] }}"
},
"credentials": {
"gmailOAuth2": {
"id": "REDACTED",
"name": "REDACTED"
}
},
"typeVersion": 2.1
},
{
"id": "723d81fc-924b-46d2-b146-3544470daaa0",
"name": "データベース読み取り",
"type": "n8n-nodes-base.googleSheetsTool",
"position": [
848,
112
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "REDACTED",
"cachedResultName": "qna"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "REDACTED"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "REDACTED",
"name": "REDACTED"
}
},
"typeVersion": 4.7
},
{
"id": "5607dc4f-d50f-4425-824e-2462bf09ce20",
"name": "QnAエージェント",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
624,
-32
],
"parameters": {
"text": "=user: {{ $json['Describe Your Feedback:'] }}",
"options": {
"systemMessage": "=# Role\n- you're a helpful assistant to answer user question\n- always respond in warm tone\n\n# Context\n- you must read the google sheets for getting the answer\n- paraphrase the result so user can easily understand\n\n# Important restrictions\n- keep polite and use a proper language"
},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "5162281b-fe6d-454d-88a4-7667b3b8d5c8",
"name": "提案を要約",
"type": "@n8n/n8n-nodes-langchain.chainSummarization",
"position": [
288,
272
],
"parameters": {
"options": {}
},
"typeVersion": 2.1
},
{
"id": "97913d99-2fe8-4afa-97b6-39627337f11a",
"name": "テキストメッセージ送信",
"type": "n8n-nodes-base.telegram",
"position": [
656,
320
],
"webhookId": "REDACTED",
"parameters": {
"text": "=Suggestions from {{ $('Switch').item.json.Name.first }} {{ $('Switch').item.json.Name.last }}\nEmail: {{ $('Switch').item.json['E-mail'] }}\n\nSummary: {{ $json.output.text }}\n\nFull: {{ $('Switch').item.json['Describe Your Feedback:'] }}",
"chatId": "REDACTED",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "REDACTED",
"name": "REDACTED"
}
},
"typeVersion": 1.2
},
{
"id": "43158b87-1336-417d-bbd0-6245f6adaa8e",
"name": "提案バックログに追加",
"type": "n8n-nodes-base.googleSheets",
"position": [
880,
320
],
"parameters": {
"columns": {
"value": {
"Name": "={{ $('Switch').item.json.Name.first }} {{ $('Switch').item.json.Name.last }}",
"Email": "={{ $('Switch').item.json['E-mail'] }}",
"Summary": "={{ $('Summarize Suggestions').item.json.output.text }}",
"Suggestions": "={{ $('Switch').item.json['Describe Your Feedback:'] }}",
"Created Date": "={{ DateTime.now().format('yyyy-MM-dd') }}"
},
"schema": [
{
"id": "Created Date",
"type": "string",
"display": true,
"required": false,
"displayName": "Created Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Summary",
"type": "string",
"display": true,
"required": false,
"displayName": "Summary",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Suggestions",
"type": "string",
"display": true,
"required": false,
"displayName": "Suggestions",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 2139811359,
"cachedResultUrl": "REDACTED",
"cachedResultName": "suggestions"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "REDACTED"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "REDACTED",
"name": "REDACTED"
}
},
"typeVersion": 4.7
},
{
"id": "4a67e4c3-13c7-497c-9ed4-bdf81123e0d2",
"name": "コメントシートに保存",
"type": "n8n-nodes-base.googleSheets",
"position": [
1072,
-448
],
"parameters": {
"columns": {
"value": {
"Name": "={{ $json.Name.first }} {{ $json.Name.last }}",
"Email": "={{ $json['E-mail'] }}",
"Comments": "={{ $json['Describe Your Feedback:'] }}",
"Sentiment": "={{ $json.sentimentAnalysis.category }}",
"Created Date": "={{ DateTime.now().format('yyyy-MM-dd') }}"
},
"schema": [
{
"id": "Created Date",
"type": "string",
"display": true,
"required": false,
"displayName": "Created Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Sentiment",
"type": "string",
"display": true,
"required": false,
"displayName": "Sentiment",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Comments",
"type": "string",
"display": true,
"required": false,
"displayName": "Comments",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {
"useAppend": false
},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 903321638,
"cachedResultUrl": "REDACTED",
"cachedResultName": "comments"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "REDACTED",
"cachedResultUrl": "REDACTED",
"cachedResultName": "database"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "REDACTED",
"name": "REDACTED"
}
},
"typeVersion": 4.7
},
{
"id": "ab563cfb-ecef-4221-8496-dc5a2b8698ef",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-576,
-560
],
"parameters": {
"width": 624,
"height": 368,
"content": "## Jotform feedback triage & auto-reply system\n\nThis workflow turns Jotform submissions into an automated triage pipeline:\n\nClassifies feedback (comment / question / suggestion) and runs sentiment.\n\n🚨 Urgent/angry messages → instant Telegram alert to support.\n\n❓ Questions → an LLM Q&A agent pulls answers from a Google Sheets knowledge base, then Gmail sends a friendly HTML reply.\n\n💡 Suggestions → auto-summary, Telegram heads-up, and logging into a Suggestions sheet.\n\n🗒️ Comments → appended to a Comments sheet for reporting.\nSetup tips: Rename nodes, keep credentials in node creds (not hard-coded), and store user-config variables in one Set node. Remove any personal IDs before sharing."
},
"typeVersion": 1
},
{
"id": "5b8aa98c-defd-400b-925d-9e4fef08d4fc",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-560,
160
],
"parameters": {
"color": 7,
"width": 368,
"height": 208,
"content": "## New submission from Jotform\n\nStarts when a new Jotform entry arrives (Name, E-mail, “Describe Your Feedback”). Map these form fields in your trigger node so they’re available to all branches."
},
"typeVersion": 1
},
{
"id": "cfcb0f6c-8465-4669-8d87-d8aafd110312",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1312,
-96
],
"parameters": {
"color": 7,
"width": 544,
"height": 320,
"content": "## Answer with Q&A agent + email reply\n\nRead Database (Google Sheets Tool) loads your Q&A table (FAQ) for grounding. Point documentId + sheetName to your knowledge base. \n\nQnA Agent (LangChain) generates a paraphrased, user-friendly answer using the sheet as context. \n\nReply Customer (Gmail) sends a styled HTML email with the answer and the original question snippet. Replace the branding/text as needed. "
},
"typeVersion": 1
},
{
"id": "7a738f93-72bd-4293-a412-63d55c8f1fa3",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1024,
496
],
"parameters": {
"color": 7,
"width": 544,
"height": 320,
"content": "## Summarize + alert + log\n\nSummarize Suggestions condenses the idea into an executive summary. \n\nTelegram heads-up posts the summary + full text to your product/channel chat. \n\nAppend to Suggestions (Google Sheets) writes Summary, Suggestion, Email, Name, Created Date. Update the sheet URL/ID and column mapping if your schema differs. \n"
},
"typeVersion": 1
},
{
"id": "64d78b26-1e32-481f-ab8b-7639f296f2a6",
"name": "付箋4",
"type": "n8n-nodes-base.stickyNote",
"position": [
544,
-704
],
"parameters": {
"color": 7,
"width": 512,
"height": 144,
"content": "## Log for reporting\n\nAppends general comments to your Comments sheet with Name, Email, Sentiment, and the raw message. Use this for dashboards or periodic reviews."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "8fce1e13-e7cb-4e2e-9d50-9e4c0fb8e927",
"connections": {
"9ebab0dd-5bac-443a-98ab-d30eff4b458a": {
"main": [
[
{
"node": "631e6076-06f9-44c7-b2d3-2b9ed406cc5f",
"type": "main",
"index": 0
}
],
[
{
"node": "5607dc4f-d50f-4425-824e-2462bf09ce20",
"type": "main",
"index": 0
}
],
[
{
"node": "5162281b-fe6d-454d-88a4-7667b3b8d5c8",
"type": "main",
"index": 0
}
]
]
},
"5607dc4f-d50f-4425-824e-2462bf09ce20": {
"main": [
[
{
"node": "a0399c2f-8d4a-4ac5-ac55-7c086fd74f7b",
"type": "main",
"index": 0
}
]
]
},
"723d81fc-924b-46d2-b146-3544470daaa0": {
"ai_tool": [
[
{
"node": "5607dc4f-d50f-4425-824e-2462bf09ce20",
"type": "ai_tool",
"index": 0
}
]
]
},
"db688133-4596-47b2-9d63-5e91bc73753f": {
"main": [
[
{
"node": "9ebab0dd-5bac-443a-98ab-d30eff4b458a",
"type": "main",
"index": 0
}
]
]
},
"631e6076-06f9-44c7-b2d3-2b9ed406cc5f": {
"main": [
[
{
"node": "4a67e4c3-13c7-497c-9ed4-bdf81123e0d2",
"type": "main",
"index": 0
}
],
[
{
"node": "4a67e4c3-13c7-497c-9ed4-bdf81123e0d2",
"type": "main",
"index": 0
}
],
[
{
"node": "6b25a8c3-85c3-422b-8128-416afe44b98a",
"type": "main",
"index": 0
}
]
]
},
"97913d99-2fe8-4afa-97b6-39627337f11a": {
"main": [
[
{
"node": "43158b87-1336-417d-bbd0-6245f6adaa8e",
"type": "main",
"index": 0
}
]
]
},
"6b25a8c3-85c3-422b-8128-416afe44b98a": {
"main": [
[
{
"node": "4a67e4c3-13c7-497c-9ed4-bdf81123e0d2",
"type": "main",
"index": 0
}
]
]
},
"5162281b-fe6d-454d-88a4-7667b3b8d5c8": {
"main": [
[
{
"node": "97913d99-2fe8-4afa-97b6-39627337f11a",
"type": "main",
"index": 0
}
]
]
},
"4a67e4c3-13c7-497c-9ed4-bdf81123e0d2": {
"main": [
[]
]
},
"efa026b3-0b2e-4ee7-8074-493902a91265": {
"ai_languageModel": [
[
{
"node": "631e6076-06f9-44c7-b2d3-2b9ed406cc5f",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"75bd3135-b303-4fed-95e4-50c2f8950f1a": {
"ai_languageModel": [
[
{
"node": "5607dc4f-d50f-4425-824e-2462bf09ce20",
"type": "ai_languageModel",
"index": 0
},
{
"node": "5162281b-fe6d-454d-88a4-7667b3b8d5c8",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
JOTFORM ITサービスリクエスト
Jotform、Gemini AI、Google Workspace を使用して IT リクエストを分類し、処理する
Set
Gmail
Telegram
+
Set
Gmail
Telegram
13 ノードRully Saputra
チケット管理
Google アナリティクスのインサイト
Gemini AIを使用してGoogle Analyticsのデータを自動解析し、Gmail/Telegramへスマートにルーティング
Gmail
Telegram
Aggregate
+
Gmail
Telegram
Aggregate
15 ノードRully Saputra
市場調査
ビジネス日次指標の監視
Googleスプシからテーブルで販売インサイトを自動生成し、チームにリアルタイムで通知する
Code
Gmail
Trello
+
Code
Gmail
Trello
15 ノードRully Saputra
顧客管理
n8nノードの探索(可視化リファレンスライブラリ内)
n8nノードを可視化リファレンスライブラリで探索
If
Ftp
Set
+
If
Ftp
Set
113 ノードI versus AI
その他
バグ問題
GeminiベースのAI駆動バグ追跡、GitHub IssuesとTelegram通知を統合
If
Set
Gmail
+
If
Set
Gmail
16 ノードRully Saputra
プロジェクト管理
GPT、LangChain、およびインテリジェントルーティングに基づくAI駆動カスタマーサービス自動化
AI駆動カスタマーサービス自動化、GPT、LangChain、およびインテリジェントルーティングに基づく
Set
Gmail
Merge
+
Set
Gmail
Merge
46 ノードPaul
サポート
ワークフロー情報
難易度
上級
ノード数18
カテゴリー-
ノードタイプ11
作成者
Rully Saputra
@rullysaputra15Specializing in software engineering with over 5 years of hands-on experience. In addition to my expertise in web development, I also have experience in creating Hybrid mobile apps.
外部リンク
n8n.ioで表示 →
このワークフローを共有