← 全部文章
應用搭建 業務決策者 已釋出 · · 作者 ObjectStack Team

自動化觸發模型:資料變化、定時、按鈕和 API 如何進入同一流程

流程可以由記錄變化、定時計劃、人工按鈕、Webhook 或 API 呼叫觸發。成熟的自動化引擎要統一入口後的業務規則,避免同一流程在多個地方重複實現。

自動化觸發模型:資料變化、定時、按鈕和 API 如何進入同一流程
  • ObjectOS
  • 自動化引擎
  • 觸發器
  • 業務流程

先給結論:流程從哪觸發(資料變化、定時、人工按鈕、Webhook、API)不是問題,邏輯分散才是。成熟的引擎統一入口之後的業務規則,讓多入口匯進同一套可治理的流程。

同一個客戶續約流程,可能從三個地方開始:系統定時檢查合同到期,客戶成功經理手動發起,客戶在門戶提交續約請求。

入口不同並不可怕。真正可怕的是,每個入口後面都藏著一套自己的業務邏輯。

一條業務流程從哪裡開始?

有時是記錄變化:商機階段變為已贏單,客戶風險等級升高,工單狀態超過 SLA。

有時是時間到了:每天早上生成逾期清單,每月最後一天檢查合同到期,每週彙總專案風險。

有時是人主動觸發:銷售點選“提交折扣審批”,客服點選“升級工單”,財務點選“發起複核”。

有時是外部事件:合同簽署平臺回撥,支付系統通知狀態變化,客戶門戶提交表單。

如果這些入口各自維護一套邏輯,系統很快會變得難以解釋。自動化引擎真正需要統一的,不只是“觸發器列表”,而是觸發後的業務執行模型。

統一觸發模型

多入口不是問題,邏輯分散才是問題

企業流程天然有很多入口。

一個客戶續約流程,可能由系統在合同到期前 60 天自動觸發,也可能由客戶成功經理手動發起,還可能由客戶在門戶提交續約請求觸發。

這三個入口不同,但後續業務邏輯可能高度相似:

  • 查客戶和合同;
  • 判斷客戶等級和金額;
  • 分配負責人;
  • 建立續約任務;
  • 必要時進入審批;
  • 記錄執行日誌。

如果每個入口都單獨寫邏輯,就會出現規則漂移:定時任務走一套判斷,按鈕走另一套判斷,外部表單又走第三套判斷。

統一觸發模型的價值,是讓不同入口進入同一個流程執行時。觸發方式可以不同,但判斷、動作、許可權和日誌應該一致。

記錄變化觸發:讓資料狀態推動流程

記錄變化是最常見的觸發方式。

例如:

  • 工單優先順序變為高;
  • 商機金額超過審批閾值;
  • 供應商資質狀態變為過期;
  • 報銷狀態變為待複核;
  • 客戶健康分下降到風險區間。

這類觸發的核心問題是:不是每次儲存記錄都應該跑流程。平臺需要判斷“什麼變化真正有業務意義”。

一條成熟的記錄變化觸發,應該能表達:

  • 監聽哪個物件;
  • 關注建立、更新還是刪除;
  • 哪些欄位變化才觸發;
  • 新舊值滿足什麼條件;
  • 是否只在第一次進入某個狀態時觸發;
  • 觸發後把當前記錄作為流程上下文。

這樣,業務人員可以說“當客戶風險從中變成高時觸發”,而不是“每次客戶記錄更新都跑一遍”。

定時觸發:處理時間驅動的業務責任

很多責任不是由使用者操作觸發,而是由時間觸發。

例如:

  • 每天檢查逾期工單;
  • 每週生成高風險客戶清單;
  • 每月提醒預算負責人複核費用;
  • 合同到期前 90 天建立續約任務;
  • 供應商資質過期前 30 天通知採購。

定時觸發看起來簡單,但業務上有不少細節:

  • 節假日是否跳過;
  • 時區如何處理;
  • 重複執行是否會建立重複任務;
  • 漏跑後是否補跑;
  • 執行失敗後是否重試;
  • 結果是否要彙總給負責人。

因此,定時任務不應該只是一個 cron 表示式。它應該進入自動化引擎,和普通流程一樣有上下文、條件、動作、日誌和失敗處理。

人工觸發:按鈕背後也應該是流程

很多業務流程不是自動開始,而是由人判斷後發起。

例如銷售覺得折扣需要審批,點選“提交折扣審批”;客服覺得工單需要研發介入,點選“升級”;財務發現報銷有疑問,點選“發起複核”。

這些按鈕不應該只是前端事件。它們背後也應該進入自動化流程。

原因很簡單:人工觸發之後,系統仍然需要判斷、流轉、等待、通知和記錄。

一個“提交折扣審批”動作可能要:

  • 校驗折扣、金額和必填材料;
  • 判斷是否需要經理或財務審批;
  • 鎖定報價欄位;
  • 建立審批任務;
  • 等待審批結果;
  • 根據通過或拒絕更新商機狀態;
  • 留下完整審計。

如果按鈕只調用一段隱藏邏輯,後續就很難治理。把人工觸發也納入同一套自動化引擎,業務動作才會長期一致。

外部事件觸發:Webhook 只是入口

外部系統也會觸發流程。

客戶在門戶提交資料,電子簽約完成,支付狀態改變,物流異常,外部風控結果返回,這些都可以通過 Webhook 或 API 進入平臺。

但外部事件不應該直接決定業務動作。它應該先被標準化為流程輸入,然後由自動化引擎根據業務規則繼續執行。

例如合同簽署完成後,不一定馬上啟動實施。平臺還要檢查客戶是否有未結清款項、實施資源是否可用、合同是否包含特殊條款。

Webhook 帶來事件,自動化引擎承接業務決策。

API 觸發:讓外部系統啟動受控流程

有些流程需要被外部系統主動呼叫。

例如合作伙伴系統提交供應商准入申請,企業門戶發起客戶 onboarding,請購系統請求建立審批流程。

API 觸發的關鍵是:外部系統可以啟動流程,但不能繞過流程治理。

它應該和其他觸發方式一樣:

  • 使用明確輸入引數;
  • 通過許可權或憑證驗證;
  • 進入同一套流程版本;
  • 使用同一套動作和審批;
  • 留下觸發來源和 trace。

這樣,自動化引擎就成為企業流程的統一入口,而不是每個系統自己實現一段流程邏輯。

統一觸發後的最大收益:複用

當觸發方式統一後,流程可以被複用。

同一條“客戶續約準備流程”可以由定時任務觸發,也可以由客戶成功經理手動觸發,還可以由客戶門戶請求觸發。不同入口傳入不同上下文,但後續判斷和動作儘量複用。

這會減少大量重複建設:

  • 不需要為按鈕寫一套審批邏輯;
  • 不需要為定時任務再寫一套提醒邏輯;
  • 不需要為 Webhook 再寫一套更新邏輯;
  • 不需要為 API 呼叫單獨維護審計。

業務變化時,也只需要調整流程本身,而不是在多個入口裡同步改規則。

ObjectOS 的差異

ObjectOS Automation 的價值,不是提供很多零散觸發器,而是把不同觸發方式帶入同一條業務執行時。

記錄變化、定時計劃、人工動作、外部 Webhook 和 API 呼叫都可以成為流程入口。入口之後,流程使用統一的條件、變數、動作、審批、等待、錯誤處理和日誌。

這讓企業自動化更容易治理。

當業務問“為什麼這條流程被觸發”,平臺可以回答觸發來源;當業務問“不同入口是否執行同一套規則”,平臺可以展示流程版本;當管理員要修改規則,也不需要到處找指令碼。

自動化引擎真正統一的不是事件,而是事件之後的業務執行方式。