觸發器同動作
乜嘢啟動佢、佢做啲乜、佢點樣決定
三條問題,而呢個平台上面每一個工作流程都係佢哋嘅答案。呢一頁係詞彙表:一個執行可以點樣開始、一個步驟可以做啲乜,同埋塑造兩者之間條路嘅各個部件。
觸發器
執行開始嘅四種方式
時間表
每十分鐘一次、每個禮拜一七點、每月第一個工作日。用你自己揀嘅時區表達,所以夏令時撥返轉頭都唔會變成事故。
Webhook
你間舖、你個 CRM、你個計費系統,任何可以發 HTTP 請求嘅嘢。簽名驗證預設開啟,payload 會同執行一齊保存。
嚟自世界嘅事件
演唱會公佈、賽程排定、地震、水浸警告、空氣質素級別越界、供應商故障。超過 175 個來源,每十至二十分鐘更新一次。
輪詢,或者一個人
監察一個端點、一個郵箱或者一個資料夾,有嘢變就開始。又或者喺控制台手動啟動,因為有時呢個先係最誠實嘅答案。
每件事一個執行。同一個底層事件令觸發器著兩次——發送方重試嘅 webhook、輪詢再見到同一行——只會啟動一個執行,唔係兩個。去重係用識別嗰件事嘅嘢做 key,如果發送方個 id 概念比你差,你可以自己設定。
操作
會做嘢嘅步驟
動作會改變執行以外嘅嘢:寫入、發送、收錢、訂位、攞資料或者歸檔。有兩種,分別在於有冇模型參與。
確定性動作
呼叫 HTTP 端點。讀寫你自己嘅系統。重塑 payload。喺參考資料入面查嘢。發電郵、SMS、推送通知或者實體信。提供訂位時段。收款。生成短連結。攞圖片連埋授權一齊。寫一行、一個檔案、一條記錄。
同樣輸入,同樣輸出。佢哋運行唔使錢,所以最誠實嘅建議係:凡係唔真正需要判斷嘅嘢,都用佢哋。
AI 動作
將呢條訊息分類。草擬嗰個回覆。將成個討論串總結做三點。由非結構化文件抽取欄位。根據你用文字寫嘅規則喺幾個選項之間揀一個。翻譯,保留語氣。
每個 AI 步驟都會聲明佢會返啲咩形狀,喺個 run 繼續之前,返出嚟嘅嘢會對住嗰個形狀驗證。如果個 model 產生咗啲畸形嘅嘢,個步驟會乾乾淨淨咁失敗,而唔會毒害之後嗰十二個步驟。

有啲嘢發生。然後啱嘅嘢跟住發生。
Flow:淨係諗住個 run 嘅步驟
條件會根據一個值分支。兩條路都一定有定義——一個冇定義 else 分支嘅條件,係自動化靜靜咁唔見咗紀錄嘅最常見原因,所以喺度唔可以留返個 dangling 嘅分支。
等待會 hold 住個 run,直到某個時刻或者某件事發生。一個等待係寫喺個 run 本身嘅 wake_at,唔係排隊入面嘅一行,所以一個 workflow 可以 hold 住一萬個人三個禮拜,完全唔使錢,亦都冇人會留意到。
安靜時段阻止訊息喺凌晨三點送到出去。一個喺安靜時段入面去到發送步驟嘅 run,會等到時段完咗先繼續。嚴重程度可以刻意覆蓋佢,俾嗰啲本來就應該叫醒人嘅警報通過。
分流會將一部分 run 行 A 路,其餘行 B 路,咁你就可以喺真實流量上面比較兩個標題、兩個等待或者兩個次序。
目標標記咗個 workflow 本來係為咗乜。當一個 run 到達佢嘅目標,佢就會喺嗰度停低,無論後面仲有啲乜——買咗嘢嘅顧客唔會再收到第三次催買提醒。
- ⚡觸發條件購物車閒置咗 40 分鐘。按購物車 id 去重。
- ?條件購物車超過 150 zł?係——行長啲嗰條路。
- ⏸等寫喺個 run 上面嘅
wake_at。冇排隊紀錄,冇成本。 - A拆開標題五五分。呢個 run 行咗 A 版本。
- ✉發送附短連結嘅電郵,按收件人統計跳轉。
- ★目標落咗單。Run 喺度停低;第二次提醒永遠唔會發送。
有叫 model 嘅步驟:1唔使錢嘅步驟:5
錯誤係流程嘅一部分,唔係例外
一個失敗嘅步驟有地方可以去。用 backoff 重試,並且設重試次數上限。行另一條替代路。停咗個 run,然後歸檔去一個人會見到嘅地方。照樣繼續行,因為嗰個步驟本來就係可選嘅,你寧願要大部分結果,都好過乜都冇。
一個要同第啲人嘅系統講嘢嘅步驟,預設係重試幾次然後停——因為一個 09:14 壞咗嘅系統通常 09:19 就返返嚟,亦因為一個停咗嘅 run,比一個行咗一半嘅 run 容易理解得多。
你唔可以做嘅嘢:一個步驟唔可以跳返去之前嘅步驟。一個 workflow 係一條有方向嘅路,唔係一個有 jump 指令嘅程式。如果你份工真係需要一個循環,你可以喺單一個步驟入面 iterate 一個 list,或者每個項目開一個 run——兩樣都支援,而且兩樣之後睇返都易過一個循環好多。