Loading
透過 Salesforce Flow 自動化業務流程
設計流程的最佳作法

設計流程的最佳作法

在您使用「流程產生器」設計程序前,請先瞭解最佳作法。

必要版本

提供版本:Salesforce Classic (並非所有組織皆適用) 和 Lightning Experience
提供版本:EssentialsProfessionalEnterprisePerformanceUnlimitedDeveloper Edition
重要
重要 流程產生器的支援與更新已於 2025 年 12 月 31 日結束。這表示不會針對流程產生器產品中的任何流程提供支援,且不會修正錯誤。請參閱「工作流程規則與流程產生器結束支援」。

在 2025 年 12 月 31 日之後,現有程序會繼續執行,且您可以啟用、停用和編輯程序,但我們建議使用 Flow Builder。若要移轉現有程序,請規劃您的 切換至 Flow Builder 並使用 移轉至流程 工具。針對新的自動化,請在 Flow Builder 中建立流程。

在測試環境中建立。

為了測試程序是否能正常運作,您必須啟用程序。請在 Sandbox 環境中建立程序,讓您在不影響生產資料的情況下找出問題。

對每個物件使用一個自動化工具。

如果物件有一個程序、一個 Apex 觸發程序及三個工作流程規則,您無法可靠地預估記錄變更的結果。

小秘訣
小秘訣 當您以程序取代工作流程規則時,請先停用工作流程規則,再啟用程序。否則,您可能會得到非預期的結果,例如覆寫記錄或冗餘電子郵件訊息。此最佳作法也適用於您以程序取代 Apex 觸發程序時。

每個物件只有一個記錄變更程序。

每次建立或更新記錄時,系統會評估其物件所有的記錄變更程序。建議將您的組織限制為每個物件只有一個記錄變更程序。以下是原因。

  • 取得物件的組織自動化合併檢視

    透過一個合併的物件記錄變更程序,您會看見每一次物件記錄更新時會評估的所有條件,並看見當符合條件時會執行的所有動作。

  • 避免達到限制

    當您將一個物件的多個程序合併到一個主要程序時,您也會合併這些程序中的動作。動作愈少,組織達到限制 (如 SOQL 查詢數) 的可能性愈低。

  • 決定作業順序

    如果您為物件建立多個記錄變更程序,Salesforce 無法保證評估這些流程的順序。當您將單一程序中的所有一切自動化時,您可明確地設定順序。第一個評估的是第一個準則條件節點,第二個評估的是第二個準則條件節點,依此類推。

以下的一些功能可讓您輕鬆地達成一個主要程序。

  • ISNEW()—某些自動化只會套用到建立的記錄。剩餘的則會套用到已建立與已編輯的記錄。究竟要如何將所有的記錄合併到一個程序中?就是符合以下的公式函數,此函數會偵測正在評估的記錄是否為最近建立:ISNEW().

    若要將「僅建立」自動化作業新增至當建立或編輯記錄時啟動的程序,請將相關準則條件的條件轉換為公式,然後將 &&ISNEW() 新增至您的公式。

  • 可叫用流程—正如同程序會呼叫流程,程序也會呼叫其他程序。可叫用程序是一種模組化程序,只有在另一個程序告知啟動時才會啟動。

    例如,您的「帳戶」流程中有數個準則條件節點,每個節點都會評估一些條件,包括帳戶是否為高值的條件。若準則條件節點沒有其共同擁有的高值條件,則將這些節點移至「首頁帳戶」可叫用程序。然後設定「帳戶」程序會在帳戶為高值的條件成立時,叫用「首要帳戶」程序。

盡可能將動作合併。

程序執行的動作愈多,您的組織就愈可能達到限制,例如 DML 陳述式的數目或 CPU 用量總數。當單一動作可以做到時,請避免建立多個動作。

例如,程序會更新帳戶的地址。此時應建立一個動作來更新所有的地址欄位,而非建立不同的動作來更新各個欄位。

建立可重複使用的動作。

有些程序動作一律可重複使用,像是:電子郵件警示、快速動作、程序、流程及 Apex。但要如何在多個準則條件群組或多個程序中使用其他類型的動作?

  • 若要重複使用「建立記錄」動作或「更新記錄」動作,請建立快速動作。快速動作可用於程序、流程及記錄頁面上。
  • 若要重複使用其他程序動作,請在可叫用程序中設定動作。在相關的準則條件群組中,新增「程序」動作以呼叫可叫用程序。可叫用程序只能用於程序中。

請留意會覆寫先前變更的動作。

避免讓多個動作群組更新同一個欄位,若有此狀況時請小心。

避免產生無限迴圈。

例如,程序 1 中的「更新記錄」動作觸發程序 2,而程序 2 中的「建立記錄」動作又觸發程序 1,則迴圈可能會導致您的組織超出限制。

請確定立即動作不會取消排程的動作。

當相關聯的準則條件不再成立時,便會取消待處理的已排程動作。請確定程序中較晚的立即動作不會無意中取消待處理的已排程動作。

盡可能地多次測試程序的排列。

對於 Salesforce 中的所有自訂而言,測試您的工作是很重要的。將程序部署至生產環境之前,請務必以您所能想到的可能性,盡可能的多次測試程序。

若要在變更 Salesforce 資料之後存取外部資料,請使用排程動作。

如果 Salesforce 在您的組織中建立、更新或刪除資料,然後在相同交易中存取外部資料,則會發生錯誤。在您的程序中,我們建議使用個別的交易來存取外部系統中的資料。若要這麼做,請透過新增排程動作來結束先前的交易。針對記錄變更程序,請勿使用以欄位為基礎的排程。

例如,事件程序在其從自訂平台事件 (訂單狀態) 接收平台事件訊息時開始。若訂單狀態為新建,則程序會建立一個連絡人,並排程動作以更新外部系統中的訂單狀態。事件程序不會失敗,因為排程動作會建立個別的交易來存取外部系統。

 
正在載入
Salesforce Help | Article