Google Geminiを使用してJotform回答からテーマと感情を自動抽出する
中級
これは自動化ワークフローで、14個のノードを含みます。主にCode, Merge, Aggregate, GoogleSheets, JotFormTriggerなどのノードを使用。 Google Gemini を利用して Jotform への回答からテーマと感情を自動抽出
前提条件
- •Google Sheets API認証情報
- •Google Gemini API Key
使用ノード (14)
カテゴリー
-
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "s9tAZpHcsRFJjK3A",
"meta": {
"instanceId": "885b4fb4a6a9c2cb5621429a7b972df0d05bb724c20ac7dac7171b62f1c7ef40",
"templateCredsSetupCompleted": true
},
"name": "Automatic Topic & Sentiment Extraction from Jotform Responses with Google Gemini",
"tags": [
{
"id": "ddPkw7Hg5dZhQu2w",
"name": "AI",
"createdAt": "2025-04-13T05:38:08.053Z",
"updatedAt": "2025-04-13T05:38:08.053Z"
},
{
"id": "ZOwtAMLepQaGW76t",
"name": "Building Blocks",
"createdAt": "2025-04-13T15:23:40.462Z",
"updatedAt": "2025-04-13T15:23:40.462Z"
},
{
"id": "Kujft2FOjmOVQAmJ",
"name": "Engineering",
"createdAt": "2025-04-09T01:31:00.558Z",
"updatedAt": "2025-04-09T01:31:00.558Z"
}
],
"nodes": [
{
"id": "36ae4c6f-049d-475c-af85-9cca6affc769",
"name": "Google Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-32,
320
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.0-flash-exp"
},
"credentials": {
"googlePalmApi": {
"id": "YeO7dHZnuGBVQKVZ",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "8c3ecf36-96e7-4dfc-9ec2-0cf2d0425139",
"name": "Sentiment Analyzer",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
0,
104
],
"parameters": {
"text": "=Perform sentiment analysis of the following {{ $json.body }} \n",
"batching": {},
"messages": {
"messageValues": [
{
"message": "You are an expert sentiment analyzer"
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.7
},
{
"id": "8fdec511-d900-41a4-bf79-295a620f0b4e",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
208,
320
],
"parameters": {
"schemaType": "manual",
"inputSchema": "\n{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"title\": \"Feedback Sentiment Output Schema\",\n \"description\": \"Schema for parsing AI sentiment analysis results from customer feedback submissions.\",\n \"type\": \"object\",\n \"properties\": {\n \"customer_name\": {\n \"type\": \"string\",\n \"description\": \"Name of the customer submitting feedback.\"\n },\n \"customer_email\": {\n \"type\": \"string\",\n \"description\": \"Email of the customer submitting feedback.\"\n },\n \"feedback_text\": {\n \"type\": \"string\",\n \"description\": \"Raw feedback text provided by the customer.\"\n },\n \"sentiment\": {\n \"type\": \"string\",\n \"enum\": [\"positive\", \"neutral\", \"negative\"],\n \"description\": \"Predicted sentiment label of the feedback.\"\n },\n \"confidence_score\": {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"description\": \"Model confidence score for the sentiment classification (0-1).\"\n },\n \"key_phrases\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" },\n \"description\": \"Important keywords or topics extracted from the feedback.\"\n },\n \"summary\": {\n \"type\": \"string\",\n \"description\": \"A short AI-generated summary of the feedback.\"\n },\n \"alert_priority\": {\n \"type\": \"string\",\n \"enum\": [\"high\", \"medium\", \"low\"],\n \"description\": \"Priority level for team alerting based on sentiment and urgency.\"\n },\n \"timestamp\": {\n \"type\": \"string\",\n \"format\": \"date-time\",\n \"description\": \"Time when the feedback was received.\"\n }\n },\n \"additionalProperties\": false\n}"
},
"typeVersion": 1.3
},
{
"id": "ec24ab03-ffdd-412b-a66f-4b3d6bb04edd",
"name": "シートに行を追加または更新",
"type": "n8n-nodes-base.googleSheets",
"position": [
880,
-112
],
"parameters": {
"columns": {
"value": {
"topics_keywords": "={{ $json.output[0].toJsonString() }}",
"feedback_analysis": "={{ $json.output.toJsonString() }}"
},
"schema": [
{
"id": "feedback_analysis",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "feedback_analysis",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "topics_keywords",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "topics_keywords",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"feedback_analysis"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/13iJ2sOSaCEekzRNrhkUirZX2llBnpwGi3gdhI4PWIFM/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "13iJ2sOSaCEekzRNrhkUirZX2llBnpwGi3gdhI4PWIFM",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/13iJ2sOSaCEekzRNrhkUirZX2llBnpwGi3gdhI4PWIFM/edit?usp=drivesdk",
"cachedResultName": "Jotform Feedback"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "Zjoxh2BUZ6VXGQhA",
"name": "Google Sheets account"
}
},
"typeVersion": 4.7
},
{
"id": "b3dbc129-bd64-420b-969b-9bec6a11f4d1",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-608,
-416
],
"parameters": {
"color": 7,
"width": 352,
"height": 272,
"content": "\n\nUses Google Gemini AI for the sentiment analysis and topics + keyword extraction of Jotform content"
},
"typeVersion": 1
},
{
"id": "83b6913b-ff18-46c0-ba3e-b2c0d5fddedf",
"name": "フォームデータのフォーマット",
"type": "n8n-nodes-base.code",
"position": [
-352,
-96
],
"parameters": {
"jsCode": "const outputString = JSON.stringify($input.first().json, null, 2);\nreturn [\n {\n json: {\n body: outputString\n }\n }\n ];"
},
"typeVersion": 2
},
{
"id": "78ffe47a-7836-45ed-a3b1-73f9ccff41d6",
"name": "Topics & Keywords",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
0,
-400
],
"parameters": {
"text": "=Perform sentiment analysis of the following {{ $json.body }} \n",
"batching": {},
"messages": {
"messageValues": [
{
"message": "You are an expert sentiment analyzer"
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.7
},
{
"id": "41b0cfcb-fa81-4c52-96a7-e6581bb057be",
"name": "Google Gemini Chat Model for Topics and Keywords",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-16,
-176
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.0-flash-exp"
},
"credentials": {
"googlePalmApi": {
"id": "YeO7dHZnuGBVQKVZ",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "5f5c238d-9705-4017-bdb8-0f6b1adbba15",
"name": "Structured Output Parser for Topics & Keywords",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
176,
-176
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"title\": \"SurveyTopicKeywordExtraction\",\n \"description\": \"Schema for extracting topics, keywords, and sentiment insights from Jotform survey responses.\",\n \"type\": \"object\",\n \"properties\": {\n \"topics\": {\n \"type\": \"array\",\n \"description\": \"High-level themes or categories extracted from the survey answers.\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"topic\": {\n \"type\": \"string\",\n \"description\": \"Descriptive name of the topic, e.g., 'Customer Support Experience'.\"\n },\n \"summary\": {\n \"type\": \"string\",\n \"description\": \"Short summary describing this topic based on the responses.\"\n },\n \"keywords\": {\n \"type\": \"array\",\n \"description\": \"List of key terms or phrases related to this topic.\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"sentiment\": {\n \"type\": \"string\",\n \"enum\": [\"positive\", \"negative\", \"neutral\", \"mixed\"],\n \"description\": \"Overall sentiment associated with this topic.\"\n },\n \"importance_score\": {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 1,\n \"description\": \"Relative importance or weight of this topic (0-1 scale).\"\n }\n },\n \"required\": [\"topic\", \"keywords\"]\n }\n },\n \"global_keywords\": {\n \"type\": \"array\",\n \"description\": \"Top-level keywords or phrases representing the overall survey themes.\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"insights\": {\n \"type\": \"array\",\n \"description\": \"Key takeaways or AI-generated insights derived from the data mining.\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"generated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\",\n \"description\": \"Timestamp of when this analysis was generated.\"\n }\n }\n}\n"
},
"typeVersion": 1.3
},
{
"id": "041a9363-5f09-46ed-9cd4-4cc17dbe60c8",
"name": "JotForm Trigger",
"type": "n8n-nodes-base.jotFormTrigger",
"position": [
-576,
-96
],
"webhookId": "bddebb80-2e71-43e6-941e-4d599f70d0e6",
"parameters": {
"form": "252797914459475"
},
"credentials": {
"jotFormApi": {
"id": "IcptK658rWIj1G45",
"name": "JotForm account"
}
},
"typeVersion": 1
},
{
"id": "4981c2c9-a760-43d4-ad81-dc60f545bffb",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
464,
-112
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "e6ec2964-d484-4d8f-9c92-515ad9904cd0",
"name": "Aggregate",
"type": "n8n-nodes-base.aggregate",
"position": [
672,
-112
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "output"
}
]
}
},
"typeVersion": 1
},
{
"id": "95125c3d-1fc8-4339-a91c-f4f7527fb2de",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-144,
-464
],
"parameters": {
"color": 4,
"width": 528,
"height": 432,
"content": "## Topics and Keyword Extraction using Google Gemini"
},
"typeVersion": 1
},
{
"id": "95fc87ef-b095-41d0-9ce1-9a7ef11facc6",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-144,
0
],
"parameters": {
"color": 4,
"width": 528,
"height": 464,
"content": "## Sentiment Analysis using Google Gemini"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "6f6e2249-0884-47a8-af5e-bcc4bac7a61c",
"connections": {
"4981c2c9-a760-43d4-ad81-dc60f545bffb": {
"main": [
[
{
"node": "e6ec2964-d484-4d8f-9c92-515ad9904cd0",
"type": "main",
"index": 0
}
]
]
},
"e6ec2964-d484-4d8f-9c92-515ad9904cd0": {
"main": [
[
{
"node": "ec24ab03-ffdd-412b-a66f-4b3d6bb04edd",
"type": "main",
"index": 0
}
]
]
},
"041a9363-5f09-46ed-9cd4-4cc17dbe60c8": {
"main": [
[
{
"node": "83b6913b-ff18-46c0-ba3e-b2c0d5fddedf",
"type": "main",
"index": 0
}
]
]
},
"78ffe47a-7836-45ed-a3b1-73f9ccff41d6": {
"main": [
[
{
"node": "4981c2c9-a760-43d4-ad81-dc60f545bffb",
"type": "main",
"index": 0
}
]
]
},
"8c3ecf36-96e7-4dfc-9ec2-0cf2d0425139": {
"main": [
[
{
"node": "4981c2c9-a760-43d4-ad81-dc60f545bffb",
"type": "main",
"index": 1
}
]
]
},
"83b6913b-ff18-46c0-ba3e-b2c0d5fddedf": {
"main": [
[
{
"node": "8c3ecf36-96e7-4dfc-9ec2-0cf2d0425139",
"type": "main",
"index": 0
},
{
"node": "78ffe47a-7836-45ed-a3b1-73f9ccff41d6",
"type": "main",
"index": 0
}
]
]
},
"36ae4c6f-049d-475c-af85-9cca6affc769": {
"ai_languageModel": [
[
{
"node": "8c3ecf36-96e7-4dfc-9ec2-0cf2d0425139",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"8fdec511-d900-41a4-bf79-295a620f0b4e": {
"ai_outputParser": [
[
{
"node": "8c3ecf36-96e7-4dfc-9ec2-0cf2d0425139",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"ec24ab03-ffdd-412b-a66f-4b3d6bb04edd": {
"main": [
[]
]
},
"5f5c238d-9705-4017-bdb8-0f6b1adbba15": {
"ai_outputParser": [
[
{
"node": "78ffe47a-7836-45ed-a3b1-73f9ccff41d6",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"41b0cfcb-fa81-4c52-96a7-e6581bb057be": {
"ai_languageModel": [
[
{
"node": "78ffe47a-7836-45ed-a3b1-73f9ccff41d6",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Amazon製品の価格下落をBright Dataで抽出・要約・分析
Bright DataとGoogle GeminiでAmazonの価格下落情報を抽出・要約・分析
Set
Wait
Merge
+
Set
Wait
Merge
26 ノードRanjan Dailata
人工知能
Decodo+Google Geminiを活用したLinkedIn人材分析とサマリーの自動化
Decodo、Gemini、 Google Sheets を使って LinkedIn タレントプロファイルとサマリー自動化
Set
Code
Merge
+
Set
Code
Merge
13 ノードRanjan Dailata
LinkedIn上の求人情報をDecodoとGPT-4o-miniでクロール&分析
LinkedIn、Decodo、GPT-4o-miniを使って人材のインサイトとデータドリブシングを抽出・分析
Set
Code
Merge
+
Set
Code
Merge
19 ノードRanjan Dailata
人事
Bright DataとGoogle Geminiを使用したGoogle Mapsビジネス情報スクレイピングとリードリッチ化
Bright DataとGoogle Geminiを利用したGoogle Maps企業情報スクレイピングとリードリッチ化ツール
Set
Code
Wait
+
Set
Code
Wait
29 ノードRanjan Dailata
リード獲得
01 AIメディアバイヤーでFacebook広告のパフォーマンスを分析し、インサイトをGoogle Sheetsへ送信
Gemini AIを使用してFacebook広告を分析し、インサイトをGoogle Sheetsに送信
If
Set
Code
+
If
Set
Code
34 ノードJJ Tham
市場調査
n8nノードの探索(可視化リファレンスライブラリ内)
n8nノードを可視化リファレンスライブラリで探索
If
Ftp
Set
+
If
Ftp
Set
113 ノードI versus AI
その他
ワークフロー情報
難易度
中級
ノード数14
カテゴリー-
ノードタイプ9
作成者
Ranjan Dailata
@ranjancseA Professional based out of India specialized in handling AI-powered automations. Contact me at ranjancse@gmail.com
外部リンク
n8n.ioで表示 →
このワークフローを共有