AI团队士气监测器
高级
这是一个HR, AI Summarization领域的自动化工作流,包含 18 个节点。主要使用 Set, Code, Slack, Aggregate, SplitInBatches 等节点。 使用Gemini AI从Teams/Slack消息监测团队士气
前置要求
- •Slack Bot Token 或 Webhook URL
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "JQP0dkQCszkc3cZy",
"meta": {
"instanceId": "15d6057a37b8367f33882dd60593ee5f6cc0c59310ff1dc66b626d726083b48d",
"templateCredsSetupCompleted": true
},
"name": "AI 团队士气监测器",
"tags": [],
"nodes": [
{
"id": "bb8d11dc-5c7c-4e27-8090-8670682ecf9d",
"name": "分批处理",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-864,
208
],
"parameters": {
"options": {},
"batchSize": 5
},
"typeVersion": 1
},
{
"id": "dea3c66c-a383-4092-afb5-e8e1bbe13ffb",
"name": "获取团队消息(模拟)1",
"type": "n8n-nodes-base.code",
"position": [
-1088,
208
],
"parameters": {
"jsCode": "\n// Placeholder: Fetch messages from Microsoft Graph API\nconst config = $input.item.json;\nreturn [{\n json: {\n messages: [\n { text: \"今週はタスク多くて疲れたけど、みんな頑張ってる!\", author: \"Aさん\", createdDateTime: new Date().toISOString() },\n { text: \"進捗良い感じ。あと少しで完了!\", author: \"Bさん\", createdDateTime: new Date().toISOString() },\n { text: \"少しモチベ下がってるかも…\", author: \"Cさん\", createdDateTime: new Date().toISOString() }\n ]\n }\n}];\n "
},
"typeVersion": 2
},
{
"id": "a03c52e8-e4dd-4b7f-b6cf-398d6352fb0e",
"name": "记录进度1",
"type": "n8n-nodes-base.code",
"position": [
-416,
208
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "console.log('Batch processed'); return item;"
},
"typeVersion": 2
},
{
"id": "8dec94bd-20e3-44b1-aacc-e7e2cd5da5cd",
"name": "每周士气检查触发器",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-1536,
208
],
"parameters": {
"rule": {
"interval": [
{
"field": "weeks",
"triggerAtDay": [
1
],
"triggerAtHour": 9
}
]
}
},
"typeVersion": 1.2
},
{
"id": "3d6d4f1a-51d2-4bdb-b12f-d14515a86780",
"name": "工作流配置",
"type": "n8n-nodes-base.set",
"position": [
-1312,
208
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "id-1",
"name": "teamId",
"type": "string",
"value": "<YOUR_TEAM_ID>"
},
{
"id": "id-2",
"name": "channelId",
"type": "string",
"value": "<YOUR_CHANNEL_ID>"
},
{
"id": "id-3",
"name": "managerUserId",
"type": "string",
"value": "<MANAGER_USER_ID>"
},
{
"id": "id-4",
"name": "daysToAnalyze",
"type": "number",
"value": 7
}
]
}
},
"typeVersion": 3.4
},
{
"id": "a4d77258-1178-4365-ad86-70448907299e",
"name": "聚合情感得分",
"type": "n8n-nodes-base.aggregate",
"position": [
-192,
208
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "163118d1-9387-4678-a2d3-662d3ec34688",
"name": "计算每周统计",
"type": "n8n-nodes-base.code",
"position": [
48,
208
],
"parameters": {
"jsCode": "\nconst items = $input.all();\nconst avgSentiment = (items.reduce((a,b)=>a+b.json.sentiment,0)/items.length).toFixed(2);\nconst avgStress = (items.reduce((a,b)=>a+b.json.stress,0)/items.length).toFixed(2);\nreturn [{ json: { avgSentiment, avgStress, messageCount: items.length } }];\n "
},
"typeVersion": 2
},
{
"id": "e061e16e-70b9-4852-86b4-e4080b3d16da",
"name": "生成士气报告(OpenAI)1",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
272,
208
],
"parameters": {
"text": "=あなたは、わずかな情報からでも深い洞察を引き出すことができる、超一流の組織行動分析コンサルタントです。\nあなたの仕事は、以下の個々のメッセージ分析結果だけを頼りに、チームで観測された事実と、そこから導き出される潜在的な兆候をマネージャーに報告することです。\n\n**## 分析レポート**\n\n### **1. 観測されたコミュニケーション**\nまず、分析対象となった個々のメッセージの内容を引用または要約し、客観的な事実としてリストアップしてください。\n\n### **2. 読み取れる兆候(インサイト)**\n次に、上記のコミュニケーションから読み取れるチームや個人の心理状態、関係性、業務への姿勢について、あなたの専門的な知見を基に、具体的かつ深く考察してください。\n- ポジティブな兆候は何か?\n- 注意すべき潜在的なリスクや懸念事項は何か?\n- この一行のメッセージの裏には、どのような背景や文脈が隠されている可能性があるか?\n\n**【重要】**\n- 平均値やメッセージの「数」については一切言及しないでください。\n- あなたの分析は、提供されたメッセージの「内容(テキスト)」そのものに100%基づく必要があります。\n- 「データが少ない」という言い訳は絶対にせず、プロとして目の前の情報から最大限の価値を引き出してください。\n\n---\n**▼分析対象データ**\n{{ JSON.stringify($('Aggregate Sentiment Scores').all()) }}\n---\n\n上記のルールに従い、コンサルタントとして価値のあるレポートを作成してください。",
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/gemini-2.5-flash",
"cachedResultName": "models/gemini-2.5-flash"
},
"options": {},
"resource": "document"
},
"typeVersion": 1
},
{
"id": "bc331851-dd10-4c94-affc-ce0bb5a8cc58",
"name": "情感分析(OpenAI)1",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
-640,
208
],
"parameters": {
"text": "あなたは心理言語分析AIです。以下のTeamsメッセージの感情トーンを分析し、構造化JSONで出力してください。\n\nメッセージ: {{ $json.text }}\n投稿者: {{ $json.author }}\n時間帯: {{ $json.timeOfDay }}\n曜日: {{ $json.dayOfWeek }}\n\n以下の形式で出力してください:\n{\n \"sentiment\": <1-5の数値。1=非常にネガティブ、3=中立、5=非常にポジティブ>,\n \"emotion\": \"<主な感情: 喜び/不安/怒り/疲労/中立など>\",\n \"stress\": <ストレス指標: 0-10>,\n \"engagement\": <エンゲージメント: 0-10>,\n \"key_phrases\": [\"<重要なフレーズ1>\", \"<重要なフレーズ2>\"],\n \"concerns\": \"<懸念事項があれば記載、なければ空文字>\",\n \"message\": \"{{ $json.text }}\"\n}",
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/gemini-2.5-flash",
"cachedResultName": "models/gemini-2.5-flash"
},
"options": {},
"resource": "document"
},
"credentials": {
"googlePalmApi": {
"id": "p97Z2qH28ePB7flh",
"name": "Google Gemini(PaLM) Api account 4"
}
},
"typeVersion": 1
},
{
"id": "a4807793-b036-469d-a4c2-f873e0b84f72",
"name": "Send a message1",
"type": "n8n-nodes-base.slack",
"position": [
496,
208
],
"webhookId": "b3d83199-274b-41d8-8f45-b485bfba418f",
"parameters": {
"text": "={{ $json.content.parts[0].text }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "C09LUABPRGT",
"cachedResultName": "ソーシャル"
},
"otherOptions": {},
"authentication": "oAuth2"
},
"typeVersion": 2.3
},
{
"id": "7aa489e4-f487-4334-bd6c-4e54961b2995",
"name": "模板概览",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2160,
-48
],
"parameters": {
"width": 528,
"height": 752,
"content": "## AI 团队士气监测器"
},
"typeVersion": 1
},
{
"id": "aa1e99df-6667-42b0-8e5f-a16a95ebb704",
"name": "触发器描述",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1616,
16
],
"parameters": {
"height": 352,
"content": "### 每周触发器"
},
"typeVersion": 1
},
{
"id": "0a1e5f36-4395-48d5-ac3a-e1434e7b4f54",
"name": "配置描述",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1376,
16
],
"parameters": {
"width": 208,
"height": 352,
"content": "### 工作流配置"
},
"typeVersion": 1
},
{
"id": "9e301552-4f9f-4326-bb03-94b5ffbd6512",
"name": "获取消息描述",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1168,
16
],
"parameters": {
"width": 464,
"height": 352,
"content": "### 获取消息"
},
"typeVersion": 1
},
{
"id": "4346e576-a225-434e-a1fc-20c47c94fa25",
"name": "AI 分析描述",
"type": "n8n-nodes-base.stickyNote",
"position": [
-704,
16
],
"parameters": {
"width": 464,
"height": 352,
"content": "### 情感分析"
},
"typeVersion": 1
},
{
"id": "0b81f776-097d-472b-9bf5-2ea5bc84b5d9",
"name": "聚合描述",
"type": "n8n-nodes-base.stickyNote",
"position": [
-240,
16
],
"parameters": {
"width": 448,
"height": 352,
"content": "### 聚合统计"
},
"typeVersion": 1
},
{
"id": "fc2bd727-c235-4843-88b7-7eb17179aa4e",
"name": "报告描述",
"type": "n8n-nodes-base.stickyNote",
"position": [
208,
16
],
"parameters": {
"height": 352,
"content": "### 生成报告"
},
"typeVersion": 1
},
{
"id": "21427b2f-e985-4977-8422-642a4902a2a0",
"name": "Slack 描述",
"type": "n8n-nodes-base.stickyNote",
"position": [
448,
16
],
"parameters": {
"width": 208,
"height": 352,
"content": "### 发布到 Slack"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "d5d88f18-04b2-48a3-be88-4158141b1ea5",
"connections": {
"Log Progress1": {
"main": [
[
{
"node": "Aggregate Sentiment Scores",
"type": "main",
"index": 0
}
]
]
},
"Split In Batches": {
"main": [
[
{
"node": "Sentiment Analysis (OpenAI)1",
"type": "main",
"index": 0
}
]
]
},
"Workflow Configuration": {
"main": [
[
{
"node": "Fetch Teams Messages (Simulated)1",
"type": "main",
"index": 0
}
]
]
},
"Aggregate Sentiment Scores": {
"main": [
[
{
"node": "Calculate Weekly Statistics",
"type": "main",
"index": 0
}
]
]
},
"Calculate Weekly Statistics": {
"main": [
[
{
"node": "Generate Morale Report (OpenAI)1",
"type": "main",
"index": 0
}
]
]
},
"Weekly Morale Check Trigger": {
"main": [
[
{
"node": "Workflow Configuration",
"type": "main",
"index": 0
}
]
]
},
"Sentiment Analysis (OpenAI)1": {
"main": [
[
{
"node": "Log Progress1",
"type": "main",
"index": 0
}
]
]
},
"Generate Morale Report (OpenAI)1": {
"main": [
[
{
"node": "Send a message1",
"type": "main",
"index": 0
}
]
]
},
"Fetch Teams Messages (Simulated)1": {
"main": [
[
{
"node": "Split In Batches",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 人力资源, AI 摘要总结
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
使用AI汇总Slack频道活动生成周报
使用AI汇总Slack频道活动生成周报
If
Set
Code
+13
47 节点Jimleuk
其他
带 AI 过滤的个性化学习内容聚合器
使用 GPT-4.1-mini 和 Google Sheets 从 Reddit 和 RSS 筛选学习内容
Set
Code
Merge
+7
18 节点higashiyama
市场调研
基于AI的会议研究与每日议程(Google日历、Attio CRM和Slack)
基于AI的会议研究与每日议程:使用Google日历、Attio CRM和Slack
If
Set
Code
+15
30 节点Harry Siggins
AI 摘要总结
使用Slack和Asana的虚拟Scrum Master
基于AI的Scrum Master助手,集成OpenAI、Slack和Asana
Set
Code
Html
+10
35 节点Łukasz
项目管理
基于AI的新闻监控(Linkup、Airtable和Slack通知)
基于AI的新闻监控(Linkup、Airtable和Slack通知)
Set
Wait
Slack
+7
16 节点Guillaume Duvernay
市场调研
使用 Mistral AI、LinkedIn 和 Google Sheets 自动化职位搜索与简历定制
使用 Mistral AI、LinkedIn 和 Google Sheets 自动化职位搜索与简历定制
Set
Code
Html
+18
46 节点Jordan Hoyle
个人效率