描述問題/錯誤/問題
您好!我們有一個工作流程,每次在 Salesforce 中建立新案例時就會被觸發。所以它會針對每個案例執行一次,使用「CaseCreated」節點。它運作良好已有幾個月,但從昨天開始,每次案例更新時,它都會針對每個案例執行多次。
您知道發生了什麼變化嗎?
謝謝!
早上好 @AthinaN
有檢查過 Salesforce 這邊嗎?觸發器是設定為建立還是建立/更新?
我會在觸發器之後立即新增一個篩選器,只在記錄確實是全新的時候繼續執行,例如比較 CreatedDate 和 LastModifiedDate,或將已處理的 CaseId 儲存在 Data Table/DB 中以忽略重複項。
Hi Tamy,感謝您的回應!
n8n 流程應該在建立案例時觸發,但從幾天前開始,它也開始在每次案例更新時觸發。Salesforce 流程按預期運行。
我有一個篩選器,就像您說的那樣,用來防止「更新」運行,但我想弄清楚為什麼會發生這種情況。因為現在花費了很多令牌卻毫無意義。
我會比較實際建立事件的原始 payload 與更新觸發的事件。既然沒有修改工作流程而有所改變,這可能是 Salesforce 發送的事件有所變化,或者 n8n 對觸發的解釋方式有所改變。為了減少 token 用量,請在任何 AI 節點前保留篩選器。如果仍然找不到解決方案,您能否請分享 json 和設定?
n8n 已更新到穩定版本 2.20.8 了嗎?
Update 節點存在一個 bug,它在每個實例中只觸發一次,現已修復,現在它們在每次更新時都會運行。我在想這可能改變了 Creation 節點中的某些東西。Salesforce Trigger fires only once for repeated Account updates · Issue #21028 · n8n-io/n8n · GitHub
這可能與此有關嗎?
早安 @AthinaN
這些圖像有幫助,但我仍然想確認一個關鍵要點:這些是 n8n 歷史記錄中的分開執行,還是同一個執行在繼續?如果是分開的執行,且 Case ID + CreatedDate 相同,但只有 LastModifiedDate 改變,那麼看起來 Case 的更新正在觸發「Case Created」觸發器。為了隔離問題,我會測試一個最小的工作流程:Salesforce Trigger(Case Created)→ NoOp,不包含任何「Update a case」節點。如果仍然在更新時觸發,那麼就更強烈地懷疑 Salesforce 中存在回歸問題。
@AthinaN
最可能的解釋是狀態/輪詢遊標的行為,或是 Salesforce Trigger 在內部使用 LastModifiedDate 而非嚴格按 CreatedDate 進行篩選。
你能分享一個範例嗎?使用相同的 Case Id,顯示 CreatedDate、LastModifiedDate 和 n8n 中的執行時間?如果 CreatedDate 是舊的,但「Case Created」trigger 在僅改變 LastModifiedDate 後再次執行,這將是一個強烈跡象,表明 trigger 正在重新處理更新的記錄,而非僅處理新 Cases。同時,我會在工作流程中保持防禦性篩選,比較 CreatedDate 和 LastModifiedDate,以避免在不應該觸發流程的更新上浪費 tokens/處理資源。
嗨 Tammy,非常感謝你在這件事上的支持。
其實是個 bug,他們已經修復了,現在在等待發布。
謝謝你!祝你週末愉快!
是我要感謝你的分享,你也有個很棒的週末。