工作流介绍
MONDAY GET FULL ITEM 工作流分析
此 N8n 工作流模板,标题为 “MONDAY GET FULL ITEM”,旨在从 Monday.com 中的特定项目(也称为“pulse”)提取全面数据,包括其列值、通过板关系关联的项目以及子项目。目标是将所有嵌套和关系数据聚合到一个单一的、结构化的 JSON 输出中,以供下游使用,例如报告、与其他系统的集成或数据同步。
该工作流通过递归提取基础项目以及任何链接的 pulse(通过板关系列)和子项目,然后将它们的数据规范化为易于使用的格式,从而支持 Monday.com 分层结构的深度遍历。
📌 工作流功能
此工作流检索 Monday.com 项目的完整快照,包括:
- 基本项目元数据(名称、ID)
- 按 列 ID 和 列名称 索引的所有列值
- 任何 板关联项目(通过“板关系”列链接),包含这些链接项目的完整详细信息
- 任何 子项目(子项),包含其完整的列数据
- 将所有这些信息聚合到一个统一的 JSON 对象中
它使用等效于单个 API 调用即可使用户获得给定 Monday.com 项目及其所有关联依赖项和关系的 360 度视图。
✅ 主要功能和能力
| 功能 | 描述 |
|---|---|
| 递归数据提取 | 不仅提取主项目,还提取关联项目和子项目。 |
| 灵活的列索引 | 在 id 和 title 键下组织列值,以便于访问。 |
| 关系处理 | 自动识别和处理“板关系”类型的列。 |
| 子项目支持 | 提取和处理通过“子项目”列链接的子项。 |
| 模块化和可重用 | 设计用于嵌入其他工作流;通过可配置的 pulse 变量接受输入。 |
| 聚合与合并 | 使用 Merge 和 Aggregate 节点将多个数据流合并为统一的输出。 |
| 自包含执行 | 使用 Execute Workflow 节点以预定义参数运行自身。 |
🔧 主要节点及其用途
以下是关键节点及其在工作流中角色的细分:
1. Execute Workflow Trigger
- 作为起点。
- 等待外部触发器或手动执行。
- 输入到设置目标项目 ID 的下一步。
2. Edit Fields (Set Node)
- 设置静态值:
pulse = "4030768878"(示例项目 ID)。 - 可根据使用情况进行自定义以提取不同的项目。
- 通过仅更改此字段,可以轻松地在工作流之间重用。
3. Execute Workflow
- 同步运行相同的工作流(
workflowId: ZdGZh4qmOqTQe1oq)。 - 实现封装 — 您可以从另一个工作流触发此逻辑。
4. GET ITEM (Monday.com Get Operation)
- 使用提供的
pulseID 获取主要的 Monday.com 项目。 - 输出原始项目数据,包括名称、ID、列值和关系。
5. GET ALL COLUMNS / GET ALL COLUMNS2 / GET ALL COLUMNS3 (Code Nodes)
- 将扁平的
column_values数组转换为字典/对象:GET ALL COLUMNS:按 ID 映射列 → 用于内部引用。GET ALL COLUMNS2:按 标题/名称 映射列 → 更易于人类阅读。GET ALL COLUMNS3:类似地处理每个链接的 pulse(来自关系)。
- 使用辅助函数
createColumnValuesArray()将数组转换为键控对象。
6. PULL SUBITEMS (Code Node)
- 解析“子项目”列的值(假定存在)。
- 从列值中的 JSON 字符串中提取子项目 ID 列表。
- 返回解析后的数组以供进一步处理。
7. SPLIT SUBITEMS1 & SPLIT LINKED PULSES1 (Split Out Nodes)
- 接受 ID 数组并将其拆分为单个项目。
- 实现对每个子项目或链接 pulse 的逐个处理。
8. GET EACH SUBITEM1 & PULL LINKEDPULSE1 (Monday.com Get Nodes)
- 分别检索每个子项目和链接 pulse 的详细数据。
- 使用动态表达式,如
{{ $json.linkedPulseIds.linkedPulseId }}来传递 ID。
9. GET ALL COLUMNS1 (Code Node)
- 将每个子项目的列数据规范化为干净的对象格式。
- 为聚合做准备。
10. GET ALL RELATIONS (Code Node)
- 过滤列值以查找类型为
"board_relation"的列。 - 仅输出关系类型字段,以便进行处理。
11. GET LINKEDPULSES1 (Code Node)
- 从关系列的 JSON 值中提取实际的链接 pulse ID。
- 返回结构化的
{ linkedPulseId }、id和name。
12. Aggregate & Aggregate1 Nodes
- 将多个输出(例如,多个子项目或链接 pulse)收集到数组中。
- 将结果存储在指定的键下:
boardrelations:完全解析的关联项目数组。subitems:完全解析的子项目数组。
13. Merge, Merge2, Merge4, Merge1 Nodes
- 合并不同的数据流:
- 主项目数据
- 列值(按 ID 和名称)
- 板关系
- 子项目
- 使用
mergeByPosition模式在组合期间对齐相应的项目。
14. Sticky Notes
- 在画布中提供文档:
- 解释部分(
PULL ALL BOARDRELATION COLUMNS等) - 提供有关如何在其他地方使用该工作流的说明。
- 解释部分(
💼 用例和优势
✅ 理想用途:
- 数据导出和报告:生成复杂项目/任务的完整快照,用于审计或分析。
- 集成同步:将丰富的项目数据馈送到 CRM、ERP、数据库或自定义应用程序。
- 迁移工具:在板或平台之间移动时提取结构化数据。
- 自定义仪表板:构建由完整的 Monday.com 项目上下文驱动的外部仪表板。
- 自动化触发器:利用丰富的数据在更大的自动化中做出智能决策。
✅ 优势:
- 全面:无需手动获取关联数据 — 所有数据均自动提取。
- 结构化输出:数据经过清理、规范化和组织,可立即使用。
- 可重用设计:可以通过更新一个参数快速导入和适应。
- 可扩展:易于添加更多关系类型或处理新的列类型。
- 视觉清晰度:便签纸即使在没有代码知识的情况下也能指导用户完成逻辑流程。
🔄 分步工作流逻辑
以下是顺序执行流程:
-
开始触发
Execute Workflow Trigger开始该过程。
-
设置目标项目 ID
Edit Fields设置pulse = "4030768878"(可配置)。
-
将自身作为子工作流运行
Execute Workflow调用相同的工作流 ID,传递pulse值。
-
获取主项目
GET ITEM使用pulseID 从 Monday.com 检索基础项目。
-
处理主项目列
- 两条并行路径:
GET ALL COLUMNS→ 按 ID 结构化列GET ALL COLUMNS2→ 按标题结构化列
- 两条并行路径:
-
提取子项目
PULL SUBITEMS解析“子项目”列以获取子项目 ID。SPLIT SUBITEMS1将列表拆分为单个项目。GET EACH SUBITEM1获取每个子项目的完整数据。GET ALL COLUMNS1转换每个子项目的列。Aggregate1将所有子项目收集到subitems下的数组中。
-
处理板关系
GET ALL RELATIONS仅过滤出关系类型的列。GET LINKEDPULSES1从关系数据中提取链接的 pulse ID。SPLIT LINKED PULSES1将它们拆分为单独的项目。PULL LINKEDPULSE1获取每个链接的项目。GET ALL COLUMNS3格式化其列数据。Aggregate将它们收集到boardrelations中。
-
合并数据流
Merge4合并:- 关系过滤数据
- 链接的 pulse 详细信息
- 结果进入
Aggregate→ 成为boardrelations Merge2合并:- 主项目 + 按 ID 的列值
- 按名称的列值
- 中间合并结果
-
最终聚合
Merge合并:- 聚合的
boardrelations - 聚合的
subitems
- 聚合的
Merge1将最后一部分与主项目数据合并。
-
输出完整的 JSON
- 最终输出包含:
{ "item": { "id": "...", "name": "..." }, "columnValuesById": { ... }, "columnValuesByName": { ... }, "boardrelations": [ ... ], "subitems": [ ... ] }
- 最终输出包含:
🛠️ 如何使用此模板
如 Sticky Note3 中所述,以下是如何集成此工作流:
- 将这些节点复制到您所需的工作流中。
- 更新 Execute Workflow 节点中的
workflowId以匹配您的实例。 - 修改 Edit Fields 节点中的
pulse值以定位正确的 Monday.com 项目。 - 将输出连接到任何下游操作(例如,Webhook、数据库、电子邮件)。
⚠️ 在运行之前,请确保已配置有效的 Monday.com 凭据(
mondayComApi)。
🏁 结论
“MONDAY GET FULL ITEM” 工作流是一个强大、可重用的自动化工具,可实现对 Monday.com 项目的深度可见性。通过结合 API 调用、JavaScript 转换、数据拆分和聚合,它提供了完整、结构化的数据集,非常适合集成、报告和高级自动化。
其模块化设计、清晰的注释和自文档化布局使其对技术和非技术用户都易于访问,同时保持足够的灵活性以满足企业级应用程序的需求。
使用方法:下载 JSON 文件,然后在 n8n 中选择“从文件导入”。