當我們把越來越多功能塞進同一個自動化專案時,很快就會遇到畫布大塞車的窘境。一條流程裡塞了幾十個節點,既要處理抓資料、又要清洗文字、還要兼顧推播與例外回報,畫面密密麻麻像蜘蛛網一樣,過兩週自己回頭看都找不到某個功能藏在哪裡。今天我們就用 n8n 內建的 Sub-workflow(子流程)概念,把龐大的怪獸拆成好幾個乾淨獨立的積木元件。
為什麼需要母子流程?
在寫程式時,大家習慣把常用的邏輯包成函式(Function)來重複呼叫,工作流也是完全一樣的道理。舉個最常見的例子:發送 Telegram 通知、文字清洗、或是呼叫特定 AI 模型的格式處理,幾乎每個專案都會用到。如果每次都複製貼上同一串節點,只要日後機器人的 Token 換了或是排版想改,你就得打開每一條流程一個個改到崩潰。把通用功能單獨抽成一條子流程,母流程只要專心負責主幹邏輯,維護起來就優雅很多。
第一步:打造專門辦事的子流程
我們先開一張全新空白畫布來做子流程,比如做一個「通用通知中心」。這條流程的起點不要放排程或 Webhook,而是改放「Execute Workflow Trigger」節點。這個觸發器非常單純,它只負責在被母流程呼叫時接住傳過來的參數(例如「標題」、「內容文字」與「發送渠道」)。接到資料後,後面接上標準的通訊軟體節點,把訊息推出去。最後掛一個「Respond to Webhook」或單純結束,把執行結果傳回給呼叫它的人。
第二步:在母流程中呼叫子流程
回到我們原本複雜的主業務流程(例如每日資訊摘要或報表產出)。當資料整理完畢、需要把通知發送出去時,我們不需要在畫布上重新拉一整排通訊節點,而是直接拉出一個「Execute Workflow」節點。點開設定面板,在工作流來源選取剛才做好的「通用通知中心」,並把當前產出的文字欄位對應傳進去。
第三步:資料傳遞與等待模式設定
在 Execute Workflow 節點裡,有兩種等待模式可以選。預設是「Wait for Sub-workflow to finish」,母流程會乖乖站在原地等子流程把事情辦完,並接收子流程回傳的結果再往下走;如果你的任務只是發送通知、完全不需要等回傳狀態,也可以設定不等待直接放行,讓整個系統跑起來更輕快。
第四步:模組化後的實戰優勢
一旦學會把流程拆解成母子結構,你的架構思維就完全上了一個台階。例如你可以把「AI 文本總結」單獨做成一條子流程,無論未來是 RSS 摘要、郵件分析還是 YouTube 逐字稿整理,大家都可以共用這顆大腦。只要哪天想更換底層模型或調整核心提示詞,只需要修改這一條子流程,全系統所有相關工作流就會立刻同步更新。明天我們來聊聊維運層面的大殺器:如何利用 Webhook 或定時排程,全自動備份 n8n 的所有工作流到 GitHub 進行版本控管。