コールセンター transcription 感情分析 n8n
中級
これはAI Summarization, Multimodal AI分野の自動化ワークフローで、9個のノードを含みます。主にSet, GoogleSheets, SplitInBatches, Agent, ScheduleTriggerなどのノードを使用。 GPT-4o-miniとGoogle Sheetsでカスタマーセンターでの感情分析を自動化
前提条件
- •Google Sheets API認証情報
- •OpenAI API Key
使用ノード (9)
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "6kTlui6CDAIL3vNV",
"meta": {
"instanceId": "9272721148ea09184b6bbb7ce6219dab088562dd450e2df8280d57c2e34c7d84",
"templateCredsSetupCompleted": true
},
"name": "call-center-transcription-sentiment-analysis-n8n",
"tags": [],
"nodes": [
{
"id": "eee89774-3c9b-4e26-8bf2-9f14ee1ced97",
"name": "OpenAI チャットモデル",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
192,
128
],
"parameters": {
"model": {
"__rl": true,
"mode": "id",
"value": "=gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "zHTJ5AI7kBmTnuvv",
"name": "InfyOm"
}
},
"typeVersion": 1.2
},
{
"id": "77912e60-0f2a-4434-b8c7-00bc53c474a9",
"name": "ループ処理",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-256,
32
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "d44b524d-3b67-4c48-8d52-34bba6ad16b9",
"name": "スケジュールトリガー",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-704,
32
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 19
}
]
}
},
"typeVersion": 1.2
},
{
"id": "3173c049-13c7-483c-a6ea-65340bf585f9",
"name": "Get All Transcript",
"type": "n8n-nodes-base.googleSheets",
"position": [
-480,
32
],
"parameters": {
"options": {},
"filtersUI": {
"values": [
{
"lookupColumn": "Status"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1aWU28D_73nvkDMPfTkPkaV53kHgX7cg0W4NwLzGFEGU/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1aWU28D_73nvkDMPfTkPkaV53kHgX7cg0W4NwLzGFEGU",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1aWU28D_73nvkDMPfTkPkaV53kHgX7cg0W4NwLzGFEGU/edit?usp=drivesdk",
"cachedResultName": "Transcript_analysis_system"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "WdaCQmtoNquNSoAA",
"name": "Google Sheets"
}
},
"typeVersion": 4.6
},
{
"id": "856d4c88-f8a6-41ab-b52c-639e58df2b0c",
"name": "Send only Transcript Field",
"type": "n8n-nodes-base.set",
"position": [
-32,
-96
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "697b9e87-2767-43a8-9dfe-72c50903a5d5",
"name": "Full Transcript",
"type": "string",
"value": "={{ $json[\"Full Transcript\"] }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "0aa10ec0-c836-44df-ad85-9a503e1d10e3",
"name": "Analysis Transcript",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
192,
-96
],
"parameters": {
"text": "={{ $json[\"Full Transcript\"] }}",
"options": {
"systemMessage": "=You are an advanced AI assistant specialized in sentiment analysis for customer service conversations.\n\nYour task is to extract structured data from a customer service chat transcript. Return values for each field listed below.\n\nRespond in JSON format using structured output tool with the following fields:\n\n\n- Topic (Topic name for discussion like 'Medical Report','shipping delay')\n- Customer Name\n- Agent Name\n- Greeting Sentiment (1 to 5, where 5 is very polite/friendly/Greeting and 1 is rude)\n- Closing Sentiment (1 to 5, where 5 is very Closing polite/friendly and 1 is rude)\n- Problem Solving (1 to 5, where 5 is excellent and 1 is poor)\n- Agent Friendliness (1 to 5, where 5 is very polite/friendly and 1 is rude)\n- Customer Sentiment (Before → After, e.g. \"Angry → Satisfied\")\n- Issue Resolved (Yes / No / Partially)"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "1c427949-04d9-4ed8-9d17-d62bf34c18e8",
"name": "Structured Output",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
368,
128
],
"parameters": {
"jsonSchemaExample": "{\n \"Topic\": \"XYZ\",\n \"Customer Name\": \"John D\",\n \"Agent Name\": \"Priya M\",\n \"Greeting Sentiment\": 5,\n \"Closing Sentiment\": 5,\n \"Problem Solving\": 5,\n \"Agent Friendliness\": 5,\n \"Customer Sentiment\": \"Frustrated → Satisfied\",\n \"Issue Resolved\": \"Yes\"\n}"
},
"typeVersion": 1.3
},
{
"id": "79c31b02-f5bc-4185-b83a-6ca7caa25f6c",
"name": "Store Analysis Transcript",
"type": "n8n-nodes-base.googleSheets",
"position": [
608,
32
],
"parameters": {
"columns": {
"value": {
"Status": "Done",
"Agent Name": "={{ $json.output[\"Agent Name\"] }}",
"Total Rating": "={{( Number($json.output[\"Greeting Sentiment\"]) + Number($json.output[\"Closing Sentiment\"]) + Number($json.output[\"Problem Solving\"]) + Number($json.output[\"Agent Friendliness\"]))/4}}\n",
"Customer Name": "={{ $json.output[\"Customer Name\"] }}",
"Issue Resolved": "={{ $json.output[\"Issue Resolved\"] }}",
"Full Transcript": "={{ $('Loop Over Items').item.json['Full Transcript'] }}",
"Problem Solving": "={{ $json.output[\"Problem Solving\"] }}",
"Closing Sentiment": "={{ $json.output[\"Closing Sentiment\"] }}",
"Agent Friendliness": "={{ $json.output[\"Agent Friendliness\"] }}",
"Customer Sentiment": "={{ $json.output[\"Customer Sentiment\"] }}",
"Greeting Sentiment": "={{ $json.output[\"Greeting Sentiment\"] }}",
"Conversations Topics": "={{ $json.output.Topic }}"
},
"schema": [
{
"id": "Full Transcript",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Full Transcript",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Conversations Topics",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Conversations Topics",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Customer Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Customer Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Agent Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Agent Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Greeting Sentiment",
"type": "string",
"display": true,
"required": false,
"displayName": "Greeting Sentiment",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Closing Sentiment",
"type": "string",
"display": true,
"required": false,
"displayName": "Closing Sentiment",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Problem Solving",
"type": "string",
"display": true,
"required": false,
"displayName": "Problem Solving",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Agent Friendliness",
"type": "string",
"display": true,
"required": false,
"displayName": "Agent Friendliness",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Customer Sentiment",
"type": "string",
"display": true,
"required": false,
"displayName": "Customer Sentiment",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Issue Resolved",
"type": "string",
"display": true,
"required": false,
"displayName": "Issue Resolved",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Total Rating",
"type": "string",
"display": true,
"required": false,
"displayName": "Total Rating",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Full Transcript"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1aWU28D_73nvkDMPfTkPkaV53kHgX7cg0W4NwLzGFEGU/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1aWU28D_73nvkDMPfTkPkaV53kHgX7cg0W4NwLzGFEGU",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1aWU28D_73nvkDMPfTkPkaV53kHgX7cg0W4NwLzGFEGU/edit?usp=drivesdk",
"cachedResultName": "Transcript_analysis_system"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "WdaCQmtoNquNSoAA",
"name": "Google Sheets"
}
},
"typeVersion": 4.6
},
{
"id": "735bad42-0258-4076-a4d2-939a4a2677f6",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-720,
-176
],
"parameters": {
"width": 512,
"height": 128,
"content": "### Sample Google Sheet\n\nhttps://docs.google.com/spreadsheets/d/1aWU28D_73nvkDMPfTkPkaV53kHgX7cg0W4NwLzGFEGU/edit?gid=0#gid=0"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "a54e879a-6738-4edb-b195-8b47945d70a7",
"connections": {
"Loop Over Items": {
"main": [
[],
[
{
"node": "856d4c88-f8a6-41ab-b52c-639e58df2b0c",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "3173c049-13c7-483c-a6ea-65340bf585f9",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "0aa10ec0-c836-44df-ad85-9a503e1d10e3",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"1c427949-04d9-4ed8-9d17-d62bf34c18e8": {
"ai_outputParser": [
[
{
"node": "0aa10ec0-c836-44df-ad85-9a503e1d10e3",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"3173c049-13c7-483c-a6ea-65340bf585f9": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"0aa10ec0-c836-44df-ad85-9a503e1d10e3": {
"main": [
[
{
"node": "79c31b02-f5bc-4185-b83a-6ca7caa25f6c",
"type": "main",
"index": 0
}
]
]
},
"79c31b02-f5bc-4185-b83a-6ca7caa25f6c": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"856d4c88-f8a6-41ab-b52c-639e58df2b0c": {
"main": [
[
{
"node": "0aa10ec0-c836-44df-ad85-9a503e1d10e3",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - AI要約, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Twitter監視ワークフロー
OpenAI、Googleスプレッドシート、Slackアラートを使用したTwitter感情分析の自動化
If
Set
Slack
+
If
Set
Slack
15 ノードInfyOm Technologies
市場調査
コンテンツリサーチエンジン
Reddit からのクローリングと AI を使った分析、Google Sheets でのコンテンツリサーチの自動化
Set
Merge
Reddit
+
Set
Merge
Reddit
14 ノードMichael Taleb
AI要約
自動化 B2B リード生成:Google Places、Scrape.do、AI によるデータ強化
自動 B2B リード生成:Google Places、Scrape.do と AI によるデータ強化
If
Set
Html
+
If
Set
Html
19 ノードOnur
その他
毎日の WhatsApp グループ スマート分析:GPT-4.1 による分析と音声メッセージの transcrição
毎日の WhatsApp グループ インタラクティブ分析:GPT-4.1 分析と音声メッセージ文字起こし
If
Set
Code
+
If
Set
Code
52 ノードDaniel Lianes
その他
私のワークフロー
Gmailを整理する:GPT-4 を使用して非アクティブメールを分類・归档
If
Set
Gmail
+
If
Set
Gmail
13 ノードMatt Chong | n8n Creator
AI要約
ScrapeGraph AIを使用してn8nコミュニティで最近追加されたワ流を抽出
ScrapeGraphAI、Geminiを使ってn8nコミュニティで最近追加されたワークフローを抽出・保存する
Set
Merge
Split Out
+
Set
Merge
Split Out
21 ノードDavide
その他
ワークフロー情報
難易度
中級
ノード数9
カテゴリー2
ノードタイプ8
作成者
InfyOm Technologies
@infyomWe are an AI Automation Agency focusing on various AI Automation Services like, workflow automation, shopify automation, chatbot developerment, custom ai agent development and more.
外部リンク
n8n.ioで表示 →
このワークフローを共有