工作流介紹
MONDAY GET FULL ITEM 工作流程分析
此 N8n 工作流程範本,標題為「MONDAY GET FULL ITEM」,旨在從 Monday.com 中的特定項目(也稱為「pulse」)提取全面資料,包括其欄位值、透過看板關聯(board relations)連結的項目,以及子項目。目標是將所有巢狀和關聯式資料彙總成單一結構化的 JSON 輸出,供後續使用,例如報告、與其他系統整合或資料同步。
此工作流程透過遞迴提取不僅基礎項目,還包括任何連結的 pulse(透過看板關聯欄位)和子項目,然後將其資料標準化為易於使用的格式,支援 Monday.com 的階層結構的深度遍歷。
📌 工作流程功能
此工作流程擷取 Monday.com 項目的完整快照,包括:
- 基本項目元資料(名稱、ID)
- 以 欄位 ID 和 欄位名稱 索引的所有欄位值
- 任何 看板相關項目(透過「看板關聯」欄位連結),包含這些連結項目的完整詳細資訊
- 任何 子項目(子項目),包含其完整的欄位資料
- 將所有這些資訊彙總成一個合併的 JSON 物件
它使用戶能夠在單一 API 調用等效操作中,獲得給定 Monday.com 項目及其所有相關依賴項和關係的 360 度視圖。
✅ 主要功能與能力
| 功能 | 說明 |
|---|---|
| 遞迴資料提取 | 不僅提取主項目,還提取相關項目和子項目。 |
| 彈性欄位索引 | 在 id 和 title 鍵下結構化欄位值,以便於存取。 |
| 關聯處理 | 自動識別和處理「看板關聯」類型的欄位。 |
| 子項目支援 | 提取和處理透過「子項目」欄位連結的子項目。 |
| 模組化與可重用 | 設計用於嵌入其他工作流程;透過可設定的 pulse 變數接受輸入。 |
| 彙總與合併 | 使用合併和彙總節點將多個資料流合併成統一輸出。 |
| 獨立執行 | 使用執行工作流程節點,以預定義參數自行運行。 |
🔧 主要節點及其用途
以下是主要節點及其在工作流程中角色的細分:
1. 執行工作流程觸發器
- 作為起點。
- 等待外部觸發器或手動執行。
- 輸入到設定目標項目 ID 的下一步。
2. 編輯欄位(設定節點)
- 設定靜態值:
pulse = "4030768878"(範例項目 ID)。 - 可根據使用情況自訂以提取不同項目。
- 透過僅更改此欄位,可輕鬆在工作流程之間重用。
3. 執行工作流程
- 同步運行相同的工作流程(
workflowId: ZdGZh4qmOqTQe1oq)。 - 實現封裝——您可以從另一個工作流程觸發此邏輯。
4. GET ITEM(Monday.com 獲取操作)
- 使用提供的
pulseID 獲取主要的 Monday.com 項目。 - 輸出原始項目資料,包括名稱、ID、欄位值和關聯。
5. GET ALL COLUMNS / GET ALL COLUMNS2 / GET ALL COLUMNS3(程式碼節點)
- 將扁平的
column_values陣列轉換為字典/物件:GET ALL COLUMNS:按 ID 映射欄位 → 有助於內部參考。GET ALL COLUMNS2:按 標題/名稱 映射欄位 → 更適合人類閱讀。GET ALL COLUMNS3:類似地處理每個連結的 pulse(來自關聯)。
- 使用輔助函數
createColumnValuesArray()將陣列轉換為鍵控物件。
6. PULL SUBITEMS(程式碼節點)
- 解析「子項目」欄位的值(假設存在)。
- 從欄位值內的 JSON 字串中提取子項目 ID 的列表。
- 返回解析後的陣列以供進一步處理。
7. SPLIT SUBITEMS1 & SPLIT LINKED PULSES1(拆分節點)
- 接受 ID 陣列並將其拆分為單獨的項目。
- 實現每個子項目或連結 pulse 的 逐一處理。
8. GET EACH SUBITEM1 & PULL LINKEDPULSE1(Monday.com 獲取節點)
- 分別檢索每個子項目和連結 pulse 的詳細資料。
- 使用動態表達式,如
{{ $json.linkedPulseIds.linkedPulseId }}來傳遞 ID。
9. GET ALL COLUMNS1(程式碼節點)
- 將每個子項目的欄位資料標準化為乾淨的物件格式。
- 為彙總做準備。
10. GET ALL RELATIONS(程式碼節點)
- 過濾欄位值以查找類型為
"board_relation"的欄位。 - 僅輸出關聯類型的欄位,以便進行處理。
11. GET LINKEDPULSES1(程式碼節點)
- 從關聯欄位的 JSON 值中提取實際的連結 pulse ID。
- 返回結構化的
{ linkedPulseId }、id和name。
12. Aggregate & Aggregate1 節點
- 將多個輸出(例如,多個子項目或連結 pulse)收集到陣列中。
- 將結果儲存在指定的鍵下:
boardrelations:已完全解析的相關項目陣列。subitems:已完全解析的子項目陣列。
13. Merge, Merge2, Merge4, Merge1 節點
- 合併不同的資料流:
- 主項目資料
- 欄位值(按 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 中選擇「從檔案匯入」。