从 Monday.com 到 Jira、Slack 和 Google Sheets 的简化变更请求审查
高级
这是一个自动化工作流,包含 25 个节点。主要使用 If、Set、Jira、Gmail、Slack 等节点。 自动化变更请求工作流:从Monday.com到Jira,集成Slack和Sheets
前置要求
- •Google 账号和 Gmail API 凭证
- •Slack Bot Token 或 Webhook URL
- •Google Sheets API 凭证
分类
未分类
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "qcrbyv2z8OnQhJ8F",
"meta": {
"instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
"templateCredsSetupCompleted": true
},
"name": "从 Monday.com 到 Jira、Slack 和 Google Sheets 的简化变更请求审查",
"tags": [],
"nodes": [
{
"id": "b8a91ff9-d449-45c9-b706-61e83d030052",
"name": "工作流概览",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1440,
-512
],
"parameters": {
"color": 4,
"width": 389,
"height": 535,
"content": "## 🎯 变更请求审批工作流"
},
"typeVersion": 1
},
{
"id": "0bdc7dc2-9c82-4244-ac4b-705a9614327f",
"name": "计划触发器",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-880,
-240
],
"parameters": {
"rule": {
"interval": [
{
"field": "cronExpression",
"expression": "0 3 * * 1-5"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "7d410d1e-b7c0-4437-a1bd-a3204182b655",
"name": "注释 - 计划",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1024,
-512
],
"parameters": {
"width": 262,
"height": 253,
"content": "## ⏰ 每日计划"
},
"typeVersion": 1
},
{
"id": "a88be726-9d70-4b65-b27e-8f6de2aa6000",
"name": "获取变更请求",
"type": "n8n-nodes-base.mondayCom",
"position": [
-688,
-240
],
"parameters": {
"boardId": "YOUR_BOARD_ID",
"groupId": "topics",
"resource": "boardItem",
"operation": "getAll"
},
"typeVersion": 1
},
{
"id": "82495c67-2b53-4687-9403-d149fae710b6",
"name": "注释 - 获取",
"type": "n8n-nodes-base.stickyNote",
"position": [
-784,
-96
],
"parameters": {
"width": 262,
"height": 269,
"content": "## 📋 获取请求"
},
"typeVersion": 1
},
{
"id": "34f52f17-bcae-4ee9-91b2-21bcf735715b",
"name": "提取请求数据",
"type": "n8n-nodes-base.set",
"position": [
-464,
-240
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "a1970365-569f-4272-a0a1-cfb19592ae14",
"name": "id",
"type": "string",
"value": "={{ $json.id }}"
},
{
"id": "20ee1686-786d-4702-8786-562dd485ae77",
"name": "name",
"type": "string",
"value": "={{ $json.name }}"
},
{
"id": "3957374a-b750-40d9-889a-0b8cc320d317",
"name": "Component affected",
"type": "string",
"value": "={{ $json.column_values[4].text }}"
},
{
"id": "7724954e-5ab9-493d-ac12-f8da9754561b",
"name": "Approvers",
"type": "string",
"value": "={{ $json.column_values[5].text }}"
},
{
"id": "c749e528-e47e-4de6-b40a-8ae74acfcb52",
"name": "Status",
"type": "string",
"value": "={{ $json.column_values[1].text }}"
},
{
"id": "c74e1543-2ac9-46dc-aa93-0e45ca8f1dbd",
"name": "Description",
"type": "string",
"value": "={{ $json.column_values[6].text }}"
},
{
"id": "59caec12-5c47-498e-a784-28c3b92a2fb0",
"name": "Risk Level",
"type": "string",
"value": "={{ $json.column_values[3].text }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "711aebae-2618-4900-8b45-220ca132c4ba",
"name": "注释 - 提取",
"type": "n8n-nodes-base.stickyNote",
"position": [
-592,
-544
],
"parameters": {
"width": 262,
"height": 293,
"content": "## 🔄 数据转换"
},
"typeVersion": 1
},
{
"id": "5f7bbae1-47bd-4093-809b-0a108e4dd5fd",
"name": "筛选待处理请求",
"type": "n8n-nodes-base.if",
"position": [
-240,
-240
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.Status }}",
"value2": "Pending"
}
]
}
},
"typeVersion": 1
},
{
"id": "67a96247-6ade-4425-b15d-a27dbc97945a",
"name": "注释 - 状态路由",
"type": "n8n-nodes-base.stickyNote",
"position": [
-352,
-80
],
"parameters": {
"width": 262,
"height": 285,
"content": "## 🔀 状态路由器"
},
"typeVersion": 1
},
{
"id": "7334c79d-6312-4102-878b-e71e6c74a391",
"name": "通知待处理请求",
"type": "n8n-nodes-base.slack",
"position": [
-16,
-336
],
"webhookId": "4d3540d3-4828-43ec-a1b9-570a9b02f187",
"parameters": {
"text": "=🔔 New Request Requires Your Approval\n\n*Name:* {{ $json.name }}\n*Request:* {{ $json.Description }}\n*Risk Level:* {{ $json['Risk Level'] }}\n*Component:* {{ $json['Component affected'] }}\n*Approver:* {{ $json.Approvers }}\n\nPlease review and update the status in Monday.com",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "YOUR_CHANNEL_ID",
"cachedResultName": "change-requests"
},
"otherOptions": {}
},
"typeVersion": 2
},
{
"id": "7e709062-4468-4156-8d6b-e5924dcd055d",
"name": "注释 - 待处理 Slack",
"type": "n8n-nodes-base.stickyNote",
"position": [
-176,
-608
],
"parameters": {
"width": 262,
"height": 258,
"content": "## 💬 Slack 警报 - 待处理"
},
"typeVersion": 1
},
{
"id": "19f26741-55e1-4414-82e1-7e18eb2a25c6",
"name": "筛选已批准请求",
"type": "n8n-nodes-base.if",
"position": [
-16,
-144
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.Status }}",
"value2": "Approved"
}
]
}
},
"typeVersion": 1
},
{
"id": "2e1b935e-9a0d-4ae6-8683-1aa981086636",
"name": "注释 -",
"type": "n8n-nodes-base.stickyNote",
"position": [
-64,
0
],
"parameters": {
"width": 262,
"height": 258,
"content": "## ✅ Approved Router\n\n**True Branch:** Status = \"Approved\"\n- Creates Jira ticket\n- Logs to Google Sheets\n\n**False Branch:** Status = \"Rejected\"\n- Handles resubmission flow"
},
"typeVersion": 1
},
{
"id": "38e773fd-a193-4768-a5b9-a08e09d995e5",
"name": "创建 Jira 工单",
"type": "n8n-nodes-base.jira",
"position": [
224,
-336
],
"parameters": {
"project": {
"__rl": true,
"mode": "list",
"value": "YOUR_PROJECT_ID",
"cachedResultName": "Change Management"
},
"summary": "={{ $json.name }}",
"issueType": {
"__rl": true,
"mode": "list",
"value": "10006",
"cachedResultName": "Task"
},
"additionalFields": {
"description": "={{ $json.Description }}"
}
},
"typeVersion": 1
},
{
"id": "3b269183-16cb-472e-ad53-55eec45dcb7a",
"name": "Note - Jira",
"type": "n8n-nodes-base.stickyNote",
"position": [
112,
-592
],
"parameters": {
"width": 262,
"height": 237,
"content": "## 🎫 Create Jira Issue\n\n**Setup Required:**\n1. Replace `YOUR_PROJECT_ID` with Jira project ID\n2. Update issue type if needed\n3. Connect Jira credentials\n\n**Creates:** Task with request name and description"
},
"typeVersion": 1
},
{
"id": "5c7ae18a-9006-4fe2-965b-9158dc97a071",
"name": "记录到Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
224,
-144
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"required": false,
"displayName": "id",
"defaultMatch": true,
"canBeUsedToMatch": true
},
{
"id": "name",
"type": "string",
"display": true,
"required": false,
"displayName": "name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Component affected",
"type": "string",
"display": true,
"required": false,
"displayName": "Component affected",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Approvers",
"type": "string",
"display": true,
"required": false,
"displayName": "Approvers",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Description",
"type": "string",
"display": true,
"required": false,
"displayName": "Description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Risk Level",
"type": "string",
"display": true,
"required": false,
"displayName": "Risk Level",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": [
"id"
]
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "YOUR_SHEET_GID",
"cachedResultName": "Approved Requests"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "YOUR_SHEET_ID",
"cachedResultName": "Change Request Log"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "sOplQNr4zvwQul4A",
"name": "jyothi"
}
},
"typeVersion": 4.7
},
{
"id": "e9131c3a-0780-4327-a6aa-5dfa1b78c6f5",
"name": "Note - Sheets",
"type": "n8n-nodes-base.stickyNote",
"position": [
176,
176
],
"parameters": {
"width": 262,
"height": 309,
"content": "## 📊 Audit Trail\n\n**Setup Required:**\n1. Replace `YOUR_SHEET_ID` with Google Sheets document ID\n2. Replace `YOUR_SHEET_GID` with sheet tab ID\n3. Connect Google OAuth2 credentials\n\n**Logs:** All approved requests for compliance tracking"
},
"typeVersion": 1
},
{
"id": "20d32c52-d750-46b6-96b9-de5973da359d",
"name": "Notify Approval",
"type": "n8n-nodes-base.slack",
"position": [
448,
-336
],
"webhookId": "ec9807fb-4b9f-44be-869e-c8b47998bd34",
"parameters": {
"text": "=🔔 Request Approved\n\n*Name:* {{ $('Filter Approved Requests').item.json.name }}\n*Request:* {{ $('Filter Approved Requests').item.json.Description }}\n*Risk Level:* {{ $('Filter Approved Requests').item.json[\"Risk Level\"] }}\n*Component:* {{ $('Filter Approved Requests').item.json[\"Component affected\"] }}\n*Approver:* {{ $('Filter Approved Requests').item.json.Approvers }}\n*Jira Ticket:* {{ $json.key }}\n\nPlease proceed with implementation.",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "YOUR_CHANNEL_ID",
"cachedResultName": "change-requests"
},
"otherOptions": {}
},
"typeVersion": 2
},
{
"id": "f09cf9cc-1a82-4c7e-92f1-ee4c289d10da",
"name": "Note - Approved Slack",
"type": "n8n-nodes-base.stickyNote",
"position": [
448,
-224
],
"parameters": {
"width": 262,
"height": 269,
"content": "## 💬 Slack Alert - Approved\n\n**Setup Required:**\n1. Use same Slack channel ID\n2. Same credentials as pending notification\n\n**Sends:** Confirmation with Jira ticket key for approved requests"
},
"typeVersion": 1
},
{
"id": "aeb63837-91ff-4cc6-bc41-8535632dfef5",
"name": "发送确认邮件",
"type": "n8n-nodes-base.gmail",
"position": [
672,
-336
],
"webhookId": "01e06999-8949-4cea-8b71-03196adf5bb9",
"parameters": {
"sendTo": "YOUR_EMAIL@example.com",
"message": "=Your change request has been approved.\n\nName: {{ $('Filter Approved Requests').item.json.name }}\nComponent affected: {{ $('Filter Approved Requests').item.json[\"Component affected\"] }}\n\nJira Ticket: {{ $('Create Jira Ticket').item.json.key }}\n\nPlease proceed with the implementation as planned.",
"options": {},
"subject": "Change Request Approved",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"id": "70f5n8rPahCANHs7",
"name": "jyothi"
}
},
"typeVersion": 2.1
},
{
"id": "0af472d6-740a-4fba-9c8e-1048ae537732",
"name": "Note - Email",
"type": "n8n-nodes-base.stickyNote",
"position": [
864,
-576
],
"parameters": {
"width": 262,
"height": 301,
"content": "## 📧 Email Confirmation\n\n**Setup Required:**\n1. Replace `YOUR_EMAIL@example.com` with recipient\n2. Connect Gmail OAuth2 credentials\n\n**Sends:** Professional confirmation email with Jira ticket link"
},
"typeVersion": 1
},
{
"id": "201bb8ec-0ef7-4477-b0f1-1e1edb305b1f",
"name": "Filter Rejected Requests",
"type": "n8n-nodes-base.if",
"position": [
224,
64
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.Status }}",
"value2": "Rejected"
}
]
}
},
"typeVersion": 1
},
{
"id": "b95b46e2-6495-4588-951a-d26e914460e1",
"name": "Note - Rejected Route",
"type": "n8n-nodes-base.stickyNote",
"position": [
448,
224
],
"parameters": {
"width": 262,
"height": 258,
"content": "## ❌ Rejected Router\n\n**True Branch:** Status = \"Rejected\"\n- Creates resubmission item in Monday.com\n\n**False Branch:** No action\n- End of workflow for other statuses"
},
"typeVersion": 1
},
{
"id": "03d9109c-b8ed-4946-904f-0623d2460088",
"name": "Create Resubmission Item",
"type": "n8n-nodes-base.mondayCom",
"position": [
448,
64
],
"parameters": {
"name": "=Resubmission: {{ $json.name }}",
"boardId": "YOUR_BOARD_ID",
"groupId": "topics",
"resource": "boardItem",
"additionalFields": {}
},
"typeVersion": 1
},
{
"id": "041490e8-5ad2-4333-8428-615b07fb2677",
"name": "Note - Resubmit",
"type": "n8n-nodes-base.stickyNote",
"position": [
736,
64
],
"parameters": {
"width": 262,
"height": 285,
"content": "## 🔄 Resubmission Handler\n\n**Setup Required:**\n1. Use same board ID as fetch node\n2. Same Monday.com credentials\n\n**Creates:** New item prefixed with \"Resubmission:\" for rejected requests"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "ad65aef6-ec63-402b-b1b9-eac62f2064c3",
"connections": {
"Notify Approval": {
"main": [
[
{
"node": "Send Confirmation Email",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Fetch Change Requests",
"type": "main",
"index": 0
}
]
]
},
"Create Jira Ticket": {
"main": [
[
{
"node": "Notify Approval",
"type": "main",
"index": 0
}
]
]
},
"Extract Request Data": {
"main": [
[
{
"node": "Filter Pending Requests",
"type": "main",
"index": 0
}
]
]
},
"Fetch Change Requests": {
"main": [
[
{
"node": "Extract Request Data",
"type": "main",
"index": 0
}
]
]
},
"Filter Pending Requests": {
"main": [
[
{
"node": "Notify Pending Request",
"type": "main",
"index": 0
}
],
[
{
"node": "Filter Approved Requests",
"type": "main",
"index": 0
}
]
]
},
"Filter Approved Requests": {
"main": [
[
{
"node": "Create Jira Ticket",
"type": "main",
"index": 0
},
{
"node": "Log to Google Sheets",
"type": "main",
"index": 0
}
],
[
{
"node": "Filter Rejected Requests",
"type": "main",
"index": 0
}
]
]
},
"Filter Rejected Requests": {
"main": [
[
{
"node": "Create Resubmission Item",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
这是一个高级难度的通用自动化工作流。适合高级用户,包含 16+ 个节点的复杂工作流
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
使用 Monday.com、Jira、Slack 和 Google Sheets 自动化变更请求审批
使用Monday.com、Jira、Slack和Google Sheets自动化变更请求审批
If
Set
Jira
+6
25 节点Rahul Joshi
Project Management
使用 Slack、Gmail 和 AI 自动化 Jira 待办事项整理和报告
通过 Slack、Gmail 和 GPT-4 实现 Jira 待办事项整理与报告的自动化
If
Set
Jira
+9
31 节点Rahul Joshi
从Monday.com和Jira到Outlook的AI驱动反馈分类与报告
使用Azure GPT-4、Jira任务和Outlook报告分析来自Monday.com的客户反馈
Set
Code
Jira
+12
27 节点Rahul Joshi
API速率限制与认证FAQ测试
使用GPT-4o-mini、Google表格和Slack提醒自动化API常见问题质量测试
If
Set
Code
+7
19 节点Rahul Joshi
Document Extraction
从 GoHighLevel 自动发送客户续约提醒到 Gmail 和 Slack
从GoHighLevel自动发送客户续约提醒到Gmail、Slack和Google Sheets
If
Code
Gmail
+7
19 节点Rahul Joshi
CRM
发布就绪守门员 (Jira)
通过Jira、Monday.com和Slack提醒强制执行预发布合规性
If
Set
Jira
+5
15 节点Rahul Joshi
工作流信息
难度等级
高级
节点数量25
分类-
节点类型9
作者
Rahul Joshi
@rahul08Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.
外部链接
在 n8n.io 上查看 →
分享此工作流