Make基礎:建立穩定可擴展的流程自動化核心概念

精通 Make 如同學習一門新的語言,而本章節的內容即是這門語言的「核心文法」。理解這些基本元件與概念,是後續建構複雜、穩定且可擴展的自動化流程的先決條件。

在本文中,我們將系統性地介紹以下幾個面向:

  • 帳號與儀表板架構(Account, Organization, Team, User)
  • 流程的組成(Scenario, Module, Trigger)
  • 資料的流動方式(Bundle, Array)
  • 外部連接方式(Connection, Webhook)
  • 流程的控制與條件邏輯(Filter, Router)
  • Make 提供的資料處理工具(變數與函數)

一、Make 的帳號邏輯:帳號、組織、團隊與使用者的結構關係

Make 平台採用分層的架構設計,方便管理多人協作流程。這些邏輯單位包括:User(使用者)、Account(帳號)、Organization(組織)、Team(團隊),各自扮演不同角色:

🔹 1. User(使用者)

  • 指一位真實的人,以 email 身分登入。
  • 一個 User 可同時參與多個 Organization。
Note: 受邀的使用者需要註冊並登入 Make 平台

🔹 2. Account(帳號)

  • 是使用者的操作容器,用於執行流程、建立連線、管理模組設定。
  • Owner account 可以創建organization
  • 與 User 一對一綁定。

🔹 3. Organization(組織)

  • organization 對應一家公司、一個部門或一項專案,擁有獨立配額與帳務設定
  • 管理整體流程架構與團隊權限。
  • organization 可以新增 / 刪除的使用者,並指派不同角色(Owner、Admin、Member、Accountant、 App Developer)。允許多人協作、流程共享。
Note: 當新增一個組織時,會得到一個(且只有一個) Free Plan 的機會。

🔹 4. Team(團隊)

  • Team 是組織中的子單位,用來分類流程與成員權限。每個組織必須至少有一個Team
  • 適用於大型組織內部分工協作,例如 IT 團隊、行銷團隊等。
  • Team 可以新增 / 刪除的使用者,並指派不同角色(Admin、Member、Monitoring、 Operator、Restricted Member)。
Note: 需要較高的付費版本才能創建新的Team(預設為一個)。

🧭 結構總覽示意圖:

make organization team

這種架構允許你 (User 1) 同時在不同角色中工作,例如白天為公司自動化流程開發者(organization A),晚上則使用另一個組織來測試與學習(organization B)。

二、Scenario:流程自動化的基本單位

在 Make 中,每個流程稱為一個 Scenario,它是一組串連的模組(Modules),透過條件與資料傳遞邏輯來完成自動化任務。基本組成包括:

🔸 1. Trigger(觸發器)

  • 啟動流程的起點,例如:
    • 設定時間間隔(Scheduler)
    • Webhook 呼叫
    • 第三方應用更新(如表單送出)

🔸 2. Module(模組)

  • 表示流程中每個動作的單元,例如:
    • 傳送 email
    • 儲存資料
    • 呼叫 API
  • 模組可任意組合、設定順序與條件。

🔄 一個 Scenario 可以是簡單的「表單送出 ➜ 寄信」,也可以是複雜的「資料拆解 ➜ 條件判斷 ➜ 多組 API 呼叫 ➜ 多筆資料同步」。

✅ 三、資料的傳遞:Bundle、Collection 與 Array

Make 的每筆流程資料稱為一個 Bundle (它的內部資料結構稱為collection),例如一筆天氣資訊、一張表單、一筆訂單。

  • Bundle(數據包):流程中的一筆資料,通常是 JSON 格式,例如一筆表單、一筆訂單、一封 Email。
    • one bundle , one execution of your scenario
    • two bundles, two executions of your scenario
    • N bundles, N executions of your scenario
  • Collection(集合):Bundle 內部的資料結構,用於存放多個相關欄位(key-value pairs),像是資料表中的一列欄位與值。這種資料格式稱為JSON格式,它是一個用 {} 括起來的資料結構。例如
{
"Name": "John",
"Email": "john@example.com",
"Amount": 100
}
這個範例中,"Name" 就是 key, "John"就是 value。
  • Array(陣列):由多個 Bundle 組成的集合。當模組一次輸出多筆資料時,就會形成 Array。
    • one item, one execution of your scenario
    • two items, one execution of your scenario
    • N items, one execution of your scenario

常見處理模組:

  • Array Aggregator:將多筆資料整合成一組 Array
  • Iterator:將 Array 拆分為單筆 Bundle

🎯 理解資料單位是掌握流程穩定度與效能的關鍵。

四、外部連接:Connection 與 Webhook

自動化流程往往需與外部系統互動,Make 提供兩種方式建立連線:

🔸 1. Connection(連線)

  • 用來與第三方應用建立連接,例如 Google(Gmail, GSheet, Calendar, GA4…etc)、Line、ChatGPT、Gemini。
  • 建立一次後可反覆使用。

🔸 2. Webhook(網路掛鉤)

  • 接收外部服務即時資料(如Line訊息、表單送出、付款完成)。
  • 是觸發器(Trigger)的一種形式。

🪝 實務上經常透過 Webhook 將資料從 LINE、Stripe、Typeform 等服務傳送至 Make 開始處理流程。

五、流程控制與資料處理:Filter 與 Router 的運用

當流程需根據資料內容做出「選擇性處理」時,就需要導入流程控制元件:

🔹 1. Filter(條件過濾器)

Filter 置於模組與模組之間,用來判斷該資料是否能繼續執行後續步驟

使用情境:

  • 金額大於 1000 才通知財務
  • 訂單狀態為 “已完成” 才建立發票

特點:

  • 單一路徑控制:條件不符即終止執行
  • 可用變數、自定欄位做多重判斷
  • 搭配函數處理字串、時間等複雜邏輯

🔹 2. Router(路由器)

Router 可將資料「分流」至不同處理分支,形成多條平行流程,是進階流程控制的重要工具。

使用情境:

  • 根據客戶所屬區域(北、中、南)派發至不同負責團隊
  • 根據訂單金額分成三種折扣策略處理

特點:

  • 可擁有多個出口,每個出口搭配 Filter 作條件判斷
  • 能讓流程更具彈性、可讀性高
  • 避免複製流程段落,提升邏輯一致性

🔄 Filter 與 Router 比較整理:

功能Filter(條件過濾器)Router(路由器)
控制方式單一路徑是否通過多路徑導向不同邏輯分支
適合用途簡單條件判斷多情境、多路徑流程(分類處理)
可否並列處理
可結合 Filter✅ 可作為出口的條件增強✅ 每個分支均可加上條件限制

💡 小技巧:流程中可同時使用 Router + Filter + 變數與函數組合,建立如「決策樹」般的邏輯流程。

六、資料處理工具:變數與函數

Make 內建多種函數與變數工具,能強化資料清洗與轉換能力,常見函數包括:

  • formatDate():日期格式轉換
  • length():計算文字或清單長度
  • replace():文字取代
  • substring():擷取部分內容
  • map() / join() / split():處理陣列資料

這些函數幾乎可在任何模組中呼叫,讓流程更加靈活,提升自動化品質。

小結:從理解結構到設計邏輯

Make 的學習曲線與程式語言相似:一開始理解語法(變數、控制元件、模組),之後進入邏輯設計(條件判斷、資料流程),最終才能設計出穩定、可擴展的專業流程。

建議同學們從實作範例入門,逐步練習模組組合與條件判斷,最終達到「能獨立設計流程」的階段。