我的工作流10
高级
这是一个Project Management, AI Chatbot领域的自动化工作流,包含 30 个节点。主要使用 If, Set, Code, Switch, Webhook 等节点。 带有Telegram通知和Supabase数据库的Trello任务管理
前置要求
- •HTTP Webhook 端点(n8n 会自动生成)
- •Supabase URL 和 API Key
- •Telegram Bot Token
- •可能需要目标 API 的认证凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "aa06bc76d359095bcd3949ddab6b99f4eb7ae2c72d875bc120223db371af5420"
},
"name": "我的工作流 10",
"tags": [],
"nodes": [
{
"id": "cc23f775-67b6-47d1-b13f-fa91cb973d9b",
"name": "Trello 触发器",
"type": "n8n-nodes-base.trelloTrigger",
"position": [
128,
-16
],
"webhookId": "[WEBHOOK_ID]",
"parameters": {
"id": "[BOARD_ID]"
},
"credentials": {
"trelloApi": {
"id": "SIQqVMcXwaU1EyE1",
"name": "Trello account"
}
},
"typeVersion": 1
},
{
"id": "b5f7a4e2-32e8-48cd-9bd8-5f6e6edf2e0c",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
128,
544
],
"webhookId": "[WEBHOOK_ID]",
"parameters": {
"path": "[WEBHOOK_PATH]",
"options": {
"responseData": "ok",
"allowedOrigins": "*",
"responseHeaders": {
"entries": [
{
"name": "Content-Type",
"value": "text/plain"
}
]
}
},
"httpMethod": "POST"
},
"typeVersion": 2.1
},
{
"id": "be79211c-78c1-4823-b0ec-ada0f492bad1",
"name": "发送文本消息",
"type": "n8n-nodes-base.telegram",
"position": [
1024,
880
],
"webhookId": "[WEBHOOK_ID]",
"parameters": {
"text": "={{ $json.finalMessage }}\n\n*------------------------------------------------------------------------------*\n📝 *Card Name*: {{ $json.cardName }}\n📄 *Card Description*: {{ $json.description }}\n🔗 *Card URL*: [Link]({{ $json.url }})\n📅 *Assigned Date*: {{ $json.date }}\n⏰ *Due Date*: {{ $json.dueDate }}\n*------------------------------------------------------------------------------*\n\nFrom the Trello Bot.",
"chatId": "[TELEGRAM_CHAT_ID]",
"additionalFields": {
"message_thread_id": null
}
},
"credentials": {
"telegramApi": {
"id": "R4qlvr3J0sQZpNqy",
"name": "Telegram account 2"
}
},
"typeVersion": 1.2
},
{
"id": "d52b7cd0-d703-4eb9-af5d-55c3a861513a",
"name": "用户名",
"type": "n8n-nodes-base.set",
"position": [
576,
880
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={\n\"username\": \"{{\n ({\n \"User1\": \"@user1\",\n \"User2\": \"@user2\",\n \"User3\": \"@user3\",\n \"User4\": \"@user4\",\n \"User5\": \"@user5\",\n \"User6\": \"@user6\",\n \"User7\": \"@user7\"\n }[$json.body.action.data.member.name] || $json.body.action.data.member.name)\n}}\"\n}"
},
"typeVersion": 3.4
},
{
"id": "acf6a2fe-e127-4ff9-b2b5-4484fa5eb401",
"name": "创建卡片",
"type": "n8n-nodes-base.supabase",
"position": [
352,
-16
],
"parameters": {
"tableId": "cards",
"fieldsUi": {
"fieldValues": [
{
"fieldId": "id",
"fieldValue": "={{ $json.action.data.card.id }}"
},
{
"fieldId": "card_name",
"fieldValue": "={{ $json.action.data.card.name }}"
},
{
"fieldId": "board_name",
"fieldValue": "={{ $json.action.data.board.name }}"
}
]
}
},
"credentials": {
"supabaseApi": {
"id": "nIpQmAOkFMtzITHR",
"name": "Supabase account"
}
},
"typeVersion": 1
},
{
"id": "7ce79763-e35f-4f2c-af48-2f791d508ad0",
"name": "创建卡片 Webhook",
"type": "n8n-nodes-base.httpRequest",
"position": [
576,
-16
],
"parameters": {
"url": "https://api.trello.com/1/tokens/[TRELLO_TOKEN]/webhooks/",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "key",
"value": "[TRELLO_API_KEY]"
},
{
"name": "callbackURL",
"value": "[WEBHOOK_URL]"
},
{
"name": "idModel",
"value": "={{ $('Trello Trigger').item.json.action.data.card.id }}"
},
{
"name": "description",
"value": "=webhook for card {{ $('Trello Trigger').item.json.action.data.card.name }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "b024e07e-73ec-477f-85df-d2cbc2a1e521",
"name": "获取用户行",
"type": "n8n-nodes-base.supabase",
"position": [
576,
448
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "id",
"keyValue": "={{ $json.body.action.data.member.id }}"
}
]
},
"tableId": "users",
"operation": "get"
},
"credentials": {
"supabaseApi": {
"id": "nIpQmAOkFMtzITHR",
"name": "Supabase account"
}
},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "7aebe854-c87e-4982-88e6-ecaead011ded",
"name": "创建用户",
"type": "n8n-nodes-base.supabase",
"position": [
1024,
544
],
"parameters": {
"tableId": "users",
"fieldsUi": {
"fieldValues": [
{
"fieldId": "id",
"fieldValue": "={{ $('Webhook').item.json.body.action.data.member.id }}"
},
{
"fieldId": "name",
"fieldValue": "={{ $('Webhook').item.json.body.action.data.member.name }}"
}
]
}
},
"credentials": {
"supabaseApi": {
"id": "nIpQmAOkFMtzITHR",
"name": "Supabase account"
}
},
"typeVersion": 1
},
{
"id": "1579543f-8a23-4192-9f17-ab604a5bb78b",
"name": "Trello 操作类型检查",
"type": "n8n-nodes-base.if",
"position": [
336,
896
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "75ec232c-9f5d-44ca-b895-44746041412a",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.body.action.type }}",
"rightValue": "addMemberToCard"
},
{
"id": "bcc5b48a-6130-4a4a-99a5-f3e86088e77a",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.body.action.type }}",
"rightValue": "removeMemberFromCard"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "4017bf8e-b104-4708-bac9-f04c5a8679a6",
"name": "更新卡片截止日期",
"type": "n8n-nodes-base.supabase",
"position": [
336,
240
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "id",
"keyValue": "={{ $json.body.action.data.card.id }}",
"condition": "eq"
}
]
},
"tableId": "cards",
"fieldsUi": {
"fieldValues": [
{
"fieldId": "due_date",
"fieldValue": "={{ new Date($json.body.model.badges.due).toLocaleDateString('en-US') }}"
},
{
"fieldId": "completed",
"fieldValue": "={{ $json.body.model.badges.dueComplete }}"
},
{
"fieldId": "url",
"fieldValue": "={{ $json.body.model.url }}"
}
]
},
"operation": "update"
},
"credentials": {
"supabaseApi": {
"id": "nIpQmAOkFMtzITHR",
"name": "Supabase account"
}
},
"typeVersion": 1
},
{
"id": "ed643ce9-83d6-4a70-8bc6-70cec72f264a",
"name": "创建用户卡片关联",
"type": "n8n-nodes-base.supabase",
"position": [
1472,
432
],
"parameters": {
"tableId": "card_user",
"fieldsUi": {
"fieldValues": [
{
"fieldId": "cardId",
"fieldValue": "={{ $json.cardId }}"
},
{
"fieldId": "userId",
"fieldValue": "={{ $json.userId }}"
}
]
}
},
"credentials": {
"supabaseApi": {
"id": "nIpQmAOkFMtzITHR",
"name": "Supabase account"
}
},
"typeVersion": 1
},
{
"id": "693aafe2-8648-453f-93d6-2f10ba200cd8",
"name": "JavaScript1 代码",
"type": "n8n-nodes-base.code",
"position": [
1248,
432
],
"parameters": {
"jsCode": "const cardId = $('Webhook').first().json.body.action.data.card.id;\nconst userIds = $('Webhook').first().json.body.model.idMembers;\n\nreturn userIds.map(userId => ({\n json: { cardId, userId }\n}));\n"
},
"typeVersion": 2
},
{
"id": "205f1a6d-de1a-4fe1-9bdb-11183fc1b2f8",
"name": "用户是否存在?",
"type": "n8n-nodes-base.if",
"position": [
800,
448
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "c4747e03-d718-47bf-9e99-5c59b04bc1db",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.id }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e3059b04-4950-4bda-a130-3276952a1fbd",
"name": "从 users-card 中删除",
"type": "n8n-nodes-base.supabase",
"position": [
576,
640
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "userId",
"keyValue": "={{ $json.body.action.data.member.id }}",
"condition": "eq"
},
{
"keyName": "cardId",
"keyValue": "={{ $json.body.action.data.card.id }}",
"condition": "eq"
}
]
},
"tableId": "card_user",
"operation": "delete"
},
"credentials": {
"supabaseApi": {
"id": "nIpQmAOkFMtzITHR",
"name": "Supabase account"
}
},
"typeVersion": 1
},
{
"id": "ccdbc090-16c3-47e6-9a35-a3d55b1b2b2a",
"name": "发送短信1",
"type": "n8n-nodes-base.telegram",
"position": [
1520,
1232
],
"webhookId": "[WEBHOOK_ID]",
"parameters": {
"text": "=⚠️⚠️⚠️\nHey *{{ $json.username }}*, You have a task due *TODAY*! Take the appropriate action ASAP!!!\n⚠️⚠️⚠️\n\n*------------------------------------------------------------------------------*\n📝 *Card Name*: {{ $json.cardName }}\n📓 *Board Name*: {{ $json.boardName }}\n🔗 *Card URL*: [Link]({{ $json.url }})\n⏰ *Due Date*: {{ $json.dueDate }}\n*------------------------------------------------------------------------------*\n\nFrom the Trello Bot.",
"chatId": "[TELEGRAM_CHAT_ID]",
"additionalFields": {
"message_thread_id": null
}
},
"credentials": {
"telegramApi": {
"id": "R4qlvr3J0sQZpNqy",
"name": "Telegram account 2"
}
},
"typeVersion": 1.2
},
{
"id": "752e0fce-9711-49b5-ad6c-dce13d7acd83",
"name": "JavaScript2 代码",
"type": "n8n-nodes-base.code",
"position": [
1296,
1232
],
"parameters": {
"jsCode": "const username = $input.first().json.username;\nconst cardName = $('Get all cards due today').first().json.card_name;\nconst boardName = $('Get all cards due today').first().json.board_name;\nconst dueDate = $('Get all cards due today').first().json.due_date;\nconst url = $('Get all cards due today').first().json.url;\n\nreturn { \n username,\n cardName,\n boardName,\n url, \n dueDate\n};\n"
},
"typeVersion": 2
},
{
"id": "6586d8fc-b019-4e9b-83f7-cce440fd66f2",
"name": "获取卡片中的用户",
"type": "n8n-nodes-base.supabase",
"position": [
848,
1232
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "id",
"keyValue": "={{ $json.userId }}"
}
]
},
"tableId": "users",
"operation": "get"
},
"typeVersion": 1
},
{
"id": "b4ed0a9c-6f23-4a73-bfb5-91437f91601e",
"name": "获取用户-卡片",
"type": "n8n-nodes-base.supabase",
"position": [
624,
1232
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "cardId",
"keyValue": "={{ $json.id }}"
}
]
},
"tableId": "card_user",
"operation": "get"
},
"typeVersion": 1
},
{
"id": "e35e0fc7-dec4-473f-b70f-a2767de4f941",
"name": "JavaScript 代码",
"type": "n8n-nodes-base.code",
"position": [
800,
880
],
"parameters": {
"jsCode": "const actionType = $('Webhook').first().json.body.action.type;\nconst username = $('username').first().json.username;\nconst addedBy = $('Webhook').first().json.body.action.memberCreator.fullName;\nconst cardName = $('Webhook').first().json.body.action.data.card.name;\nconst date = new Date($('Webhook').first().json.body.action.date).toLocaleDateString('en-US');\nconst description = $('Webhook').first().json.body.model.desc\nconst url = $('Webhook').first().json.body.model.url\nconst dueDate = new Date($('Webhook').first().json.body.model.due).toLocaleDateString('en-US')\n\nfunction escapeMarkdownV2(text) {\n return text.replace(/[_*[\\]()~`>#+\\-=|{}.!]/g, '\\\\$&');\n}\n\nconst escapedCardName = escapeMarkdownV2(cardName);\nconst escapedUsername = escapeMarkdownV2(username);\n\nconst addMessages = {\n \"1\": `📝 Hey ${escapedUsername}, welcome aboard to a new card *${escapedCardName}*! Don’t mess it up…`,\n \"2\": `📝 Yo ${escapedUsername}! You’ve been tossed onto the *${escapedCardName}* card. Good luck, champ!`,\n \"3\": `📝 ${escapedUsername}, congrats! You’re now officially stuck with *${escapedCardName}*. Strap on a pair and get it done!`,\n \"4\": `📝 Attention ${escapedUsername}! You’ve been drafted into *${escapedCardName}*. Try not to cry.`,\n \"5\": `📝 ${escapedUsername}, get ready to shine on *${escapedCardName}*. Or fail spectacularly.`\n};\n\nconst removeMessages = {\n \"1\": `🔥 Oh ${escapedUsername}, freedom at last! You’re off *${escapedCardName}*. Was the assigner even paying attention?`,\n \"2\": `🔥 ${escapedUsername}, you’re free from *${escapedCardName}*. Don’t get too excited, there’s always another card!`,\n \"3\": `🔥 ${escapedUsername}, you’ve been relieved from *${escapedCardName}* card. You lucky soul!`,\n \"4\": `🔥 ${escapedUsername} vanished from *${escapedCardName}*. Did you even try? You have let your team down.`,\n \"5\": `🔥 ${escapedUsername}, no more *${escapedCardName}* for you. Time to relax… or not.`\n};\n\nlet message = \"\";\n\nif (actionType === \"addMemberToCard\") {\n const keys = Object.keys(addMessages);\n const randomKey = keys[Math.floor(Math.random() * keys.length)];\n message = addMessages[randomKey];\n} \nelse if (actionType === \"removeMemberFromCard\") {\n const keys = Object.keys(removeMessages);\n const randomKey = keys[Math.floor(Math.random() * keys.length)];\n message = removeMessages[randomKey];\n}\nelse {\n message = `ℹ️ Trello: ${actionType} on \"*${cardName}*\" by ${username} (triggered by ${addedBy}) at ${date}`;\n}\n\nreturn { \n finalMessage: message,\n actionType: actionType,\n username: username,\n addedBy: addedBy,\n cardName: cardName,\n date: date,\n description,\n url, \n dueDate\n};\n"
},
"typeVersion": 2
},
{
"id": "5afda61c-871d-489a-836a-3dea53931913",
"name": "截止日期通知计划触发器",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
128,
1232
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 12
}
]
}
},
"typeVersion": 1.2
},
{
"id": "7ad9809d-33bf-47d7-93f1-74e1ac4a95c8",
"name": "获取所有今天到期的卡片",
"type": "n8n-nodes-base.supabase",
"position": [
400,
1232
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "=due_date",
"keyValue": "={{ new Date().toLocaleDateString('en-US') }}",
"condition": "eq"
}
]
},
"tableId": "cards",
"operation": "getAll"
},
"typeVersion": 1
},
{
"id": "bb94a9b2-c0fa-4d96-bf8d-e8c9539146f1",
"name": "用户名 1",
"type": "n8n-nodes-base.set",
"position": [
1072,
1232
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={\n\"username\": \"{{\n ({\n \"User1\": \"@user1\",\n \"User2\": \"@user2\",\n \"User3\": \"@user3\",\n \"User4\": \"@user4\",\n \"User5\": \"@user5\",\n \"User6\": \"@user6\",\n \"User7\": \"@user7\"\n }[$json.name] || $json.name)\n}}\"\n}"
},
"typeVersion": 3.4
},
{
"id": "73521891-8c38-4723-b56d-39f71c551357",
"name": "添加/移除卡片成员开关",
"type": "n8n-nodes-base.switch",
"position": [
352,
544
],
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "0e78dca3-f83f-464f-bcff-2431d7736b8c",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.body.action.type }}",
"rightValue": "addMemberToCard"
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "11b358d2-154c-422b-b7b5-20c3d092b4ab",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.body.action.type }}",
"rightValue": "removeMemberFromCard"
}
]
}
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "861b019d-e717-47c0-83e9-d59da9e6eacf",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1568,
224
],
"parameters": {
"width": 752,
"height": 1152,
"content": "# 工作流概览:Trello → Supabase → Telegram 自动化"
},
"typeVersion": 1
},
{
"id": "df0e4a69-1d71-42fb-a4ea-36470b7c6a11",
"name": "便签 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-704,
224
],
"parameters": {
"width": 576,
"height": 688,
"content": "# ⚙️ 使用说明"
},
"typeVersion": 1
},
{
"id": "38e09c6c-4dd0-4c72-8c2e-a2eab7023ecb",
"name": "便签 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-192,
-352
],
"parameters": {
"width": 368,
"height": 352,
"content": "将 `[BOARD_ID]` 替换为您的 Trello 看板 ID。以下是获取看板 ID 的方法:"
},
"typeVersion": 1
},
{
"id": "d1c77fde-62d1-4a64-b632-f63cb83ecef6",
"name": "便签 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1120,
768
],
"parameters": {
"width": 304,
"height": 128,
"content": "将 `[TELEGRAM_CHAT_ID]` 和可选的 `[THREAD_ID]`(如果您的聊天有多个主题)替换为您打算发送消息的 Telegram 聊天 ID。请注意,此聊天必须是您的机器人有权访问的聊天。"
},
"typeVersion": 1
},
{
"id": "9806254c-c31f-4147-99e7-05fa63b781d7",
"name": "便签 4",
"type": "n8n-nodes-base.stickyNote",
"position": [
544,
1024
],
"parameters": {
"width": 160,
"content": "如果您打算在 Telegram 上使用用户名来称呼用户,请在此处将每个用户的名称映射到他们各自的 Telegram 用户名。"
},
"typeVersion": 1
},
{
"id": "802b8a33-2915-4360-b496-0eabb3b430c9",
"name": "便签 5",
"type": "n8n-nodes-base.stickyNote",
"position": [
672,
-176
],
"parameters": {
"width": 256,
"height": 176,
"content": "- 从 Atlassian 开发者仪表板获取 Trello API 后,替换 `[TRELLO_TOKEN]` 和 `[TRELLO_API_KEY]`"
},
"typeVersion": 1
},
{
"id": "5e2c61d9-45ec-4f0c-83dd-c34ce112a7c2",
"name": "便签6",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
432
],
"parameters": {
"width": 176,
"height": 128,
"content": "- 将 `[WEBHOOK_PATH]` 替换为您希望 Webhook URL 具有的任何路径"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "",
"connections": {
"Webhook": {
"main": [
[
{
"node": "Trello Action Type Check",
"type": "main",
"index": 0
},
{
"node": "Update card due-date",
"type": "main",
"index": 0
},
{
"node": "Add/Remove Member from Card Switch",
"type": "main",
"index": 0
}
]
]
},
"username": {
"main": [
[
{
"node": "Code in JavaScript",
"type": "main",
"index": 0
}
]
]
},
"Create card": {
"main": [
[
{
"node": "Create Card Webhook",
"type": "main",
"index": 0
}
]
]
},
"Create user": {
"main": [
[
{
"node": "Code in JavaScript1",
"type": "main",
"index": 0
}
]
]
},
"usernames 1": {
"main": [
[
{
"node": "Code in JavaScript2",
"type": "main",
"index": 0
}
]
]
},
"Get user row": {
"main": [
[
{
"node": "Does User Exist?",
"type": "main",
"index": 0
}
]
]
},
"Get user-card": {
"main": [
[
{
"node": "Get users in card",
"type": "main",
"index": 0
}
]
]
},
"Trello Trigger": {
"main": [
[
{
"node": "Create card",
"type": "main",
"index": 0
}
]
]
},
"Does User Exist?": {
"main": [
[
{
"node": "Code in JavaScript1",
"type": "main",
"index": 0
}
],
[
{
"node": "Create user",
"type": "main",
"index": 0
}
]
]
},
"Get users in card": {
"main": [
[
{
"node": "usernames 1",
"type": "main",
"index": 0
}
]
]
},
"Code in JavaScript": {
"main": [
[
{
"node": "Send a text message",
"type": "main",
"index": 0
}
]
]
},
"Code in JavaScript1": {
"main": [
[
{
"node": "Create user card relation",
"type": "main",
"index": 0
}
]
]
},
"Code in JavaScript2": {
"main": [
[
{
"node": "Send a text message1",
"type": "main",
"index": 0
}
]
]
},
"Get all cards due today": {
"main": [
[
{
"node": "Get user-card",
"type": "main",
"index": 0
}
]
]
},
"Trello Action Type Check": {
"main": [
[
{
"node": "username",
"type": "main",
"index": 0
}
]
]
},
"Add/Remove Member from Card Switch": {
"main": [
[
{
"node": "Get user row",
"type": "main",
"index": 0
}
],
[
{
"node": "Delete from users-card",
"type": "main",
"index": 0
}
]
]
},
"Due-Date Notification Schedule Trigger": {
"main": [
[
{
"node": "Get all cards due today",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 项目管理, AI 聊天机器人
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
转录 -> Notion -> 任务
使用AI和Google Drive将会议转录转换为Notion笔记和任务
If
Set
Code
+12
36 节点Matty Reed
项目管理
演示邮件分享
通过AI、Telegram机器人和网站爬取创建个性化邮件外联
If
Set
Xml
+20
58 节点Michael A Putra
客户培育
Telegram论坛脉搏:使用Gemini和Groq AI模型的社区监控
Telegram论坛脉搏:使用Gemini和Groq AI模型的社区监控
If
Set
Code
+13
59 节点Nguyen Thieu Toan
杂项
使用GPT-4o、WordPress和LinkedIn发布自动化RSS内容到博客文章
使用GPT-4o、WordPress和LinkedIn发布自动化RSS内容到博客文章
If
Set
Code
+21
40 节点Immanuel
人工智能
灵活新闻聚合器 - 多源集成、AI分析和可设置频道
多源新闻策展系统,集成Mistral AI分析、摘要和自定义频道
If
Set
Xml
+32
120 节点Hybroht
内容创作
宠物店 4
🐶 宠物店预约 AI 代理
If
Set
Code
+41
187 节点Bruno Dias
人工智能