在 Salesforce 中,Flow 是一種自動化工具,可幫助自動化業務和數據流程,而無需使用任何代碼。
例如,我們可以自動化的幾個業務流程包括:
- 發送電子郵件
- 創建任務
- 分配權限集
- 創建、更新和刪除記錄等。
所有這些事情我們都可以使用 Flow Builder 來完成,我們可以在其中建立邏輯而無需使用任何代碼。現在,使用 Flow 自動化 Salesforce 中的業務流程非常流行,它最終取代了工作流程和流程構建器功能。
一. 為什麼要使用 Salesforce Flow?
正如我們所知,Flow 可以自動化業務流程,因此,我們可以使用 Flow 而不是 Apex 觸發器,Flow 提供了許多優點,包括易於使用和降低複雜性。以下是一些更喜歡 Flow 的重要原因:
- 自動化:Salesforce 最強大的自動化工具是 Flow,它可以自動化業務流程和數據流程。Flow 用於自動化重複性任務,從而減少了人工工作量和出錯的可能性。
- 無代碼:Flow 提供了一種可視化的方式來構建自動化流程,而無需編寫代碼。這使得更廣泛的用戶(包括管理員和沒有編碼技能的人)都可以使用它。
- 錯誤處理和調試:Flow Builder 具有內置的錯誤處理和調試工具,例如調試模式,我們可以在其中查看與 Apex 錯誤日誌相比更容易理解的錯誤消息。這些調試資源有助於用戶測試和排除 Flow 故障,確保它們在部署之前按要求工作。
- 不依賴編碼:通過使用 Flow,我們可以減少構建和維護自動化流程的代碼依賴性。因此,沒有或很少有編碼先驗知識的人可以熟練設計 Flow。
雖然 Apex 觸發器功能強大,並且對於某些需要高級邏輯或集成的複雜場景是必需的,但對於 Salesforce 中許多常見的業務自動化需求,Flow 提供了一個更簡單、更高效且通常足夠的解決方案。
二. 什麼是 Salesforce 中的 Flow Builder?
在 Salesforce 中,Flow Builder 是一種工具,我們可以在其中開發 Flow 以使流程自動化。它由各種元素組成,例如螢幕、創建記錄元素、獲取記錄元素等,這些元素用於構建 Flow。
以下是 Flow Builder 的示意圖供參考:
以下是 Salesforce Flow Builder 的一些功能:
- 在 Flow Builder 中,我們將元素添加到 Flow Canvas 以創建 Flow 結構。
- 我們在 Flow Builder 中創建的資源僅適用於當前 Flow,這些資源存儲在 Flow Builder 資源管理器中。
- 除了創建 Flow 之外,我們還可以在 Salesforce Flow Builder 中測試和調試 Flow。在調試窗口中,Flow 運行並提供有關 Flow 如何開始和完成的詳細信息。它還提供有關調試 Flow 時發生的錯誤的詳細信息。
- 要保存 Flow,我們只需單擊 Flow Builder 中的“保存”按鈕。
- 要使用或部署 Flow,需要將 Flow 設置為活動狀態。Flow 的激活和停用也可以在 Flow Builder 中通過“激活”和“停用”按鈕完成。
三. Salesforce 中的 Flow 與 Apex 觸發器比較
好的,這張表清楚地比較了 Salesforce Flows 和 Apex Triggers 之間的區別:
Salesforce Flows (流程)
- 聲明式工具: 使用可視化界面,無需編寫代碼即可構建。
- 點擊式界面: 通過拖放和配置元素來創建自動化邏輯。
- 可視化界面: Flow Builder 提供了一個直觀的圖形化環境。
- 適用於簡單到中等複雜的自動化: 能夠處理各種常見的業務流程。
- 多個觸發點: 可以響應記錄更改、用戶交互、計劃等事件觸發。
- 易於修改: 在 Flow Builder 中可以輕鬆地更改和調整流程。
- 簡化的調試: 具有如 Debug Mode 等工具,方便排查問題。
Apex Triggers (觸發器)
- 編程式工具: 需要編寫 Apex 代碼來實現自動化邏輯。
- 編寫 Apex 代碼: 使用 Apex 語言在 Developer Console 或代碼編輯器中編寫代碼。
- 基於代碼: 通過編寫代碼來定義觸發器的行為。
- 適用於複雜的業務邏輯: 能夠處理需要高度定制和複雜邏輯的場景。
- 與數據庫事件緊密相連: 只能響應數據庫事件 (如插入、更新、刪除等)。
- 需要 Apex 知識: 需要熟悉 Apex 語言和部署工具才能進行修改。
- 複雜的調試: 通常需要使用 Developer Console 和日誌來進行調試。
四. Salesforce 中有五種 Flow 類型:
- Screen Flow(螢幕流程): 需要用戶交互的流程。它們在運行時會顯示在螢幕上,允許用戶輸入數據或做出選擇。通常用於引導用戶完成一系列步驟,例如收集信息、創建記錄或執行複雜的任務。
- Auto-launched Flow(自動啟動流程): 無需用戶交互即可自動啟動的流程。它們可以由其他流程、Apex 觸發器、REST API 調用或 Webhooks 觸發。通常用於在後台執行自動化任務,例如更新記錄、發送通知或執行計算。
- Record-Triggered Flow(記錄觸發流程): 在記錄被創建、更新或刪除時自動啟動的流程。它們可以配置為在記錄更改之前或之後運行,用於自動執行與記錄相關的操作,例如驗證數據、更新相關記錄或發送電子郵件。
- Platform Event-Triggered Flow(平台事件觸發流程): 在平台事件發布時自動啟動的流程。平台事件用於在 Salesforce 組織內部或外部傳輸實時數據。此類流程可用於響應外部系統的更改或在 Salesforce 內部不同部分之間傳輸信息。
- Schedule-Triggered Flow(排程觸發流程): 按照預定時間表自動運行的流程。它們可用於定期執行批處理作業,例如清理數據、生成報告或發送提醒。
五. Salesforce Flow 的類型和元素
Screen Flow(螢幕流程)
- 螢幕流程提供指令或腳本,引導使用者在欄位中輸入詳細資訊,並執行諸如建立和更新記錄等操作,所有這些都只需點擊幾下即可完成,而無需編寫任何代碼。
- 使用螢幕流程,我們可以建立自定義使用者介面 (UI),並引導使用者完成可以從 Lightning 頁面啟動的業務流程。
Auto-Launched Flow(自動啟動流程)
- 在 Salesforce 中,自動啟動流程有助於自動化任務。它會在我們設定的特定觸發條件下運行。
- 自動啟動流程不需要任何使用者交互,因為它在後台運行。
- 它可以從其他子流程、流程構建器、Apex 類別或平台事件中調用。
- 假設我們有一個任務是建立多個流程,並且有一個功能(發送電子郵件)需要由所有 10 個流程執行;那麼,我們可以將自動啟動流程用作子流程,其中包含所有流程所需的功能。
Record-Triggered Flow(記錄觸發流程)
- 記錄觸發流程會在記錄被建立、更新或刪除時啟動。通常,我們使用 Apex 觸發器來完成此任務,但現在我們也可以使用流程。
- 例如,當建立一個新的客戶帳戶時,我們需要向客戶發送一封關於此事的電子郵件。
Platform Event-Triggered Flow(平台事件觸發流程)
- 在 Salesforce 中,平台事件觸發流程用於根據組織內發生的事件自動化任務和操作。
- 當組織中發生事件時,它會自動觸發,例如當商機階段設定為「關閉失敗」時刪除帳戶記錄。
Schedule-Triggered Flow(排程觸發流程)
- 此流程會在特定時間針對該批次中的每個記錄啟動。到目前為止,我們一直使用 Apex 批次作業來滿足此要求,但現在我們也可以使用流程。
- 在排程觸發流程中,我們可以將觸發時間設定為一次、每天或每週。流程將在排程時間觸發。
六. Salesforce Flow 元素
在 Salesforce 中,每個 Flow 元素都代表一個將在流程中執行和執行的操作。Flow Builder 有兩種表單類型:自由格式和自動佈局。在自由格式中,元素通過將它們拖曳到流程畫布來添加,在自動佈局中,單擊“+”圖示以在流程中添加元素。
以下是 Flow 元素的主要類型及其用途:
- 互動元素
- 邏輯元素
- 資料元素
- 整合元素
現在我們將根據元素查看子類型及其功能:
互動元素
- Screen(螢幕): 顯示用於互動的使用者介面。它用於收集使用者的輸入或向他們顯示資訊。此元素僅在螢幕流程中使用。螢幕元素收集使用者輸入,例如聯絡表單,使用者可以在其中輸入姓名和電子郵件以建立或更新記錄。
- Actions(動作): 在 Salesforce 流程中,動作元素用於啟動組織中可用的動作,例如發送電子郵件、提交記錄以供審核或建立任務。通過此元素,我們還可以自動執行諸如在滿足條件時更新相關記錄、發送通知或提醒,以及通過 Apex 動作與外部系統整合等任務。
- Sub flow(子流程): 在 Salesforce 中,子流程是一個自動啟動的流程,它作為子流程封裝在另一個流程中。此元素在運行時調用引用的流程。
邏輯元素
- Assignment(指派): 指派元素用於在變數(如集合變數、記錄變數、記錄集合變數和全域變數)中指派值。
- Decision(決策): 當我們為流程添加多個條件以運行或觸發時,使用決策元素。它根據結果評估流程的條件,就像程式設計中的 if-else 語句一樣。
- Loop(迴圈): 迴圈元素遍歷流程中選定的集合變數,它啟動一個迴圈路徑以遍歷集合變數中的項目。對於每次迭代,流程會暫時將項目儲存在迴圈變數中。
- Collection Sort(集合排序): 在流程中,當我們需要根據定義的條件排序和排列集合中的項目列表時,我們使用集合排序元素。例如,我們有一個帳戶列表,使用集合排序,我們可以按升序或降序排序帳戶記錄。
- Collection Filter(集合篩選器): 在 Salesforce 流程中,當我們需要通過定義特定條件來排序一組記錄時,我們使用集合篩選器元素。例如,我們有潛在客戶記錄,我們只需要那些潛在客戶來源是電話諮詢的潛在客戶。然後我們使用集合篩選器來定義篩選記錄集合的條件。
資料元素
- Create Records(建立記錄): 在 Salesforce 流程中,建立記錄元素允許我們向 Salesforce 資料庫添加或建立新記錄。在此元素中,我們需要選擇我們必須在其中建立記錄的物件。
- Update Records(更新記錄): 在流程中,我們使用更新記錄元素來更新 Salesforce 資料庫中的現有記錄。在此元素中,我們必須首先選擇我們將在其中更新記錄的物件,然後我們必須設定物件欄位的新值。
- Get Records(取得記錄): 使用流程中的取得記錄元素,我們可以從組織資料中提取記錄。在此元素中,我們需要選擇物件,然後我們需要添加條件要求以設定我們需要提取的記錄的篩選器。然後將根據定義的條件提取記錄。
- Delete Records(刪除記錄): 在 Salesforce 中,刪除記錄元素用於根據條件中定義的刪除記錄的條件,通過流程從資料庫中刪除記錄。
整合元素
- Call Apex(呼叫 Apex): 當在 Salesforce 流程中需要執行過於複雜且無法由標準元素執行的任務或動作時,會使用「呼叫 Apex」。此時需要編寫 Apex 代碼來執行該任務,然後使用「呼叫 Apex」元素在流程中呼叫該代碼。
- Send Email(發送電子郵件): 在流程中,「發送電子郵件」用於自動向單個或一組收件人發送電子郵件。在此元素中,可以添加電子郵件正文、主旨、收件人地址等。此元素可用於具有電子郵件欄位的標準和自定義物件。
- Send Custom Notification(發送自定義通知): 「發送自定義通知」元素用於向 Salesforce 組織內的使用者或使用者組發送自定義通知。例如,當 Salesforce 推出新功能時,可以使用自定義通知來告知組織中的所有使用者。
- Outbound Message(發送外部訊息): 「發送外部訊息」元素用於以訊息形式將資訊從流程發送到外部系統。例如,當在 Salesforce 資料庫中更新了數據時,若要通知 Salesforce 之外的其他系統有關此更新,將使用「發送外部訊息」元素發送訊息。
七. Salesforce Flow 資源
在 Salesforce 中,流程中使用的資源代表一個可以在整個流程中使用的值。這些資源代表流程中不同類型的數據和功能。Flow Builder 的「管理員」面板會顯示流程中可用的資源。以下是 Salesforce 中 Flow 資源的類型:
Variables(變數)
- 在 Salesforce 中,變數用於儲存特定資料類型的值。可以在流程中建立單值變數和集合值變數。
- 在流程中,單個變數儲存一個單一值,該值可以在整個流程中被引用和更新。
- 集合變數用於儲存相同資料類型的多個值,作為記錄列表。
Constants(常數)
- 在 Salesforce 流程中,常數是指在流程執行期間不會變更的固定值。當我們設定在同一個流程中多次引用的值時,常數非常有用。
Formulas(公式)
- 當需要根據流程中的其他數據計算值時,我們使用「流程」資源。
- 在流程中建立「公式」資源後,就可以在流程中多次使用它。
- 公式欄位的傳回資料類型必須與建立公式的欄位的資料類型相容。
Text Templates(文字範本)
- 在流程中,「文字範本」是一種資源,我們可以在其中建立像電子郵件正文這樣的文字範本。然後可以在流程中多次使用這些文字範本。
Choices(選項)
- 「選項」資源會顯示一組使用者可以在螢幕元素中選擇的選項。
- 「Picklist Choice Set(選項列表選擇集)」:根據 Salesforce 選項列表欄位中的值產生選項。這在顯示和選擇「產業類型」(選項列表)以建立帳戶記錄等情況下很有幫助。
- 「Record Choice Set(記錄選擇集)」:產生根據選擇篩選的記錄,例如可以建立一個「國家」為「美國」的「帳戶」記錄選擇集。
Record Variables and Record Collections(記錄變數和記錄集合)
- 「Record Variable(記錄變數)」:在記錄變數中,我們可以儲存單個 Salesforce 記錄。使用「記錄變數」的好處是,我們可以快速引用流程中其他地方的特定記錄的任何欄位。
- 「Record Collection(記錄集合)」:在 Salesforce 流程中,「記錄集合」基本上是多個 Salesforce 記錄的群組或集合。此資源儲存相同物件類型的記錄,例如它可以儲存「帳戶」、「潛在客戶」和「商機」記錄的集合。
Global Variables(全域變數)
- 「全域變數」是系統提供的變數,它保存可以在整個流程中引用的資訊。
- 此資源提供對系統資訊的存取,例如「使用者」、「設定檔」和「記錄」。
Stage(階段)
- 「階段」資源用於表示使用者在流程中經歷的不同步驟。它在需要追蹤進度的複雜流程中很有用。
- 例如,可以引用從「商機」記錄的開始階段到結束階段(關閉/贏得)的商機階段。
八. 範例 1 – 螢幕流程 (Screen Flow)
在這個範例中,我們將建立一個螢幕流程。在這裡,我們將建立一個螢幕流程,使用者可以在螢幕流程的輸入欄位中輸入帳戶詳細資訊,並且當使用者點擊「下一步」按鈕時,將會建立帳戶記錄。
它基本上是一個表單結構,我們需要在欄位中輸入詳細資訊,建立的帳戶記錄將儲存在「帳戶」物件中。在這個範例中,我們還將學習或添加元件和選項集到螢幕流程。
在 Salesforce 中建立螢幕流程
請按照以下步驟建立螢幕流程:
在設定頁面上,搜尋然後在「自動化」標題下選擇「流程」。
- 在「流程」設定中,點擊「新增流程」按鈕。選擇「從頭開始」選項,然後點擊「下一步」按鈕。
- 在下一個視窗中,選擇「螢幕流程」選項,然後點擊「建立」按鈕。
在流程構建器中,點擊“+”圖示,然後選擇「螢幕」元素。
- 輸入螢幕元素的標籤。
- 要取得使用者輸入的帳戶名稱,請將「文字」元件拖曳到螢幕上,並將標籤輸入為「帳戶名稱」。
- 對於「帳戶」中像「類型」這樣的選項列表欄位,請在螢幕上新增一個選項列表元件,並輸入該元件的標籤和 API 名稱。
- 捲動到「選項」欄位 -> 點擊它 -> 選擇「新增選項資源」。
- 輸入選項列表選擇資源的詳細資訊。
- 選擇「資源類型」為「選項列表選擇集」。
- 輸入 API 名稱為「AccountType」。
- 選擇「物件」為「帳戶」,「資料類型」為「選項列表」。
- 選擇「選項列表欄位」(類型),然後點擊「完成」。
- 要新增「電話」和「電子郵件」欄位,請將「電話」和「電子郵件」元件拖曳到螢幕區域,並輸入它們的標籤。新增元件後,點擊「完成」。
- 現在,在流程中新增一個「建立記錄」元素。然後,為該元素輸入標籤。
- 在「如何設定記錄欄位值」欄位中,選擇「手動」。
- 在「物件」欄位中,選擇「帳戶」。
- 將物件欄位與螢幕元件對應。在這裡,我已將電子郵件與自定義電子郵件欄位對應。
Field | Value |
Name | Account Name (text) |
Type | Account Type (picklist) |
Phone | Phone > Value |
Email > Value |
- 點擊流程構建器中的「儲存」按鈕。在下一個視窗中,輸入「流程標籤」和「流程 API 標籤」,然後點擊「儲存」。
測試和偵錯螢幕流程
- 要偵錯螢幕流程,請點擊流程構建器中的「偵錯」按鈕。
- 在偵錯視窗中,點擊「執行」按鈕。
- 輸入輸入欄位,然後點擊「下一步」按鈕。
- 當我們執行流程時,它會在螢幕的右側顯示偵錯詳細資訊。
- 如果流程中沒有錯誤,它將顯示如下圖所示的訊息。
- 最後,點擊「啟用」按鈕以啟用流程,以便可以部署它。
將螢幕流程部署到記錄頁面
要將螢幕流程部署到記錄頁面或首頁,請導航到需要部署螢幕流程的頁面,然後按照以下步驟操作。
- 在記錄頁面上,點擊「設定」圖示,然後選擇「編輯頁面」。
- 在 Lightning 應用程式構建器中,將「流程」元件拖曳到螢幕區域。
- 選擇螢幕流程,然後點擊「儲存」按鈕。
概念驗證:
- 現在,螢幕流程將會顯示在記錄頁面上。
- 在此,輸入欄位的詳細資訊,然後點擊「下一步」按鈕。
- 當我們點擊「下一步」按鈕時,將會建立「帳戶」記錄。
九. 範例 2 – 自動啟動流程
在這個範例中,我們將建立一個自動啟動流程。
我們有兩個流程:一個畫面流程和一個紀錄觸發流程。現在,需求是我們需要從這兩個流程都發送電子郵件。
- 現在有兩個選擇:一個選擇是在兩個流程中分別建立電子郵件動作,從而單獨從兩個流程發送電子郵件。
- 另一個選擇是,我們可以不需在兩個流程中都建立電子郵件動作,而是使用自動啟動流程作為子流程。在這個流程中,我們將建立一個電子郵件動作,然後每當我們需要時,就從另一個流程呼叫這個流程。
在 Salesforce 中建立自動啟動流程有以下先決條件:
- 我們需要一個畫面流程,在其中我們可以建立一個紀錄,然後發送電子郵件給客戶,以確認帳戶的建立。
- (我們將參考在範例 1 中建立的畫面流程。)您可以建立一個新的畫面流程。
先決條件:
- 從畫面流程建立帳戶後,要發送電子郵件,我們需要兩樣東西:收件人的電子郵件地址和電子郵件內文。
- 收件人的電子郵件將從畫面流程中的「電子郵件」欄位取得,但我們需要在該畫面流程中建立電子郵件內文。
編輯畫面流程:
現在,我將編輯畫面流程。
- 要建立電子郵件內文,請點擊「管理員」頁籤,在那裡我們可以找到「新增資源」選項。點擊「新增資源」選項以建立電子郵件範本。
- 在「資源類型」欄位中,選擇「文字範本」選項。API 名稱將在子流程中使用。然後,在「內文」中,輸入我們想要在電子郵件中分享的訊息。
現在我們有了來自電子郵件欄位的收件人電子郵件,並且我們已經建立了一個名為 EmailTemplate 的電子郵件內文。
建立新的自動啟動流程
- 在「流程設定」頁面上。-> 點擊「新增流程」按鈕。-> 選擇「從頭開始」以建立自動啟動流程。
現在建立兩個空的變數,以便我們可以將畫面流程的值分配給它們。因此,我們將建立以下兩個變數資源:
- Email:用於收件人的電子郵件地址。
- EmailBody:用於電子郵件範本。
- 在「資源類型」欄位中,選擇「變數」選項。輸入 API 名稱為 Email,資料類型為「文字」,然後選擇「可供輸入」。
類似地,為 EmailBody 建立變數。
- 現在,我們將在自動啟動流程中新增一個「電子郵件」動作。點擊「新增元素」圖示。然後在「互動」類別下選擇「動作」選項。
- 要建立新動作,請在「動作」欄位中選擇「傳送電子郵件」,然後輸入「標籤」和「API 名稱」。
- 現在我們需要新增內文,點擊「包含」按鈕,然後選擇我們建立的變數 (EmailBody)。
然後在「收件人地址清單」中選擇 (Email)。 要新增主旨,點擊「包含」按鈕,然後輸入一個固定的主旨。
之後,點擊「儲存」按鈕以儲存流程。
- 現在,我們將把這個自動啟動流程作為子流程新增到畫面流程中。為此,請開啟您建立的畫面流程,然後點擊「新增元素」圖示,並在「互動」選項下選擇「子流程」。
- 在「參照流程」選項中,選擇您建立的自動啟動流程。
- 然後,在「設定輸入值欄位」中,我們將選擇在畫面流程中建立的 Email 和 EmailTemplate,它們將參照在自動啟動流程中建立的變數。
之後,點擊「啟用」按鈕。
概念驗證:
現在,使用畫面流程建立一個記錄並儲存該記錄。
- 當記錄儲存後,您將會在畫面流程中「電子郵件」欄位中輸入的電子郵件地址收到一封電子郵件。
透過這種方式,我們可以在 Salesforce 中建立一個自動啟動流程。
十. 範例 3 – 記錄觸發流程
在這個範例中,我們將建立記錄觸發流程。此流程會在每次建立、更新或刪除記錄時觸發或執行。
此流程用於快速欄位更新和相關記錄中的動作,例如傳送電子郵件。
建立用於快速欄位更新的記錄觸發流程
在快速欄位更新中,觸發流程會更新觸發流程運行的記錄上的欄位。此流程會在記錄儲存到資料庫之前執行。
對於此觸發流程,請考慮以下情境:在「帳戶」記錄中,當貨幣欄位 Annual_revenue_c 更新為金額大於 10000 時,將觸發流程,並將核取方塊欄位 Is_VIP_customer 更新為 True。
要建立記錄觸發流程,請導航到 Salesforce 設定頁面,然後按照以下步驟操作。
我們將在以下欄位中輸入的欄位和觸發條件將根據上述情境而定。
- 在設定頁面上,轉到「快速尋找」方塊並搜尋,然後在「流程自動化」標題下選擇「流程」。
- 在流程設定中,點擊「新增流程」按鈕。
- 對於新流程,選擇「從頭開始」選項,然後點擊「下一步」按鈕。
- 選擇「記錄觸發流程」選項,然後點擊「建立」。
在這個觸發流程中,選擇「物件」為「帳戶」,然後在「設定觸發條件」中,選擇「記錄已更新」選項。
- 根據情境,我們設定了「條件要求」,其中「欄位」為 AnnualRevenue,「運算子」為「大於」,「值」為 50000。
- 新增一個「取得記錄」元素到流程,並以下列方式設定它。
- 輸入「標籤」和「API 名稱」。
- 選擇「物件」為「帳戶」。
定義與觸發條件相同的條件。
- 新增一個「更新記錄」元素到流程,輸入「標籤」,並在「設定欄位值」部分,選擇欄位 Is_VIP_C 並將其設定為 True。
- 儲存並啟用流程。
概念驗證:
導航到帳戶記錄,並將欄位「年收入」設定為大於 50000,然後點擊「儲存」。
當我們點擊「儲存」時,記錄條件將會觸發,並將自訂核取方塊欄位「VIP 客戶」更新為 True。
在這個觸發流程中,我們展示了如何使用流程快速更新欄位。在下一部分,我們將展示用於動作和相關記錄的觸發流程。
建立用於動作和相關記錄的觸發流程
透過此觸發流程,我們可以更新任何記錄並執行動作,例如傳送電子郵件。此流程會在記錄儲存到資料庫之後執行。
對於此記錄觸發流程,我們採用了先前更新帳戶 VIP 客戶狀態的流程情境,如果「年收入」大於 50000,則將其更新為 True。
在此基礎上,我們將在帳戶記錄中建立一個工作,如果帳戶的 VIP 客戶狀態為 True,則會為目前的帳戶所有人建立一個新工作。
請按照以下步驟建立用於動作和相關記錄的記錄觸發流程。
- 在流程設定中點擊「新增流程」,然後選擇「記錄觸發流程」並點擊「建立」。
- 要設定啟動,請選擇「物件」為「帳戶」。在觸發條件中,選擇自訂欄位 Is_VIP_c 為 True。
- 在流程中新增一個「新增工作」動作。
- 輸入「標籤」,並以下列方式設定「工作」動作。
- 在「指派給 ID」文字欄位中,選擇「觸發帳戶」>「所有人 ID」。
- 設定工作的「到期日」。
- 將「相關記錄 ID」設定為「觸發帳戶」>「帳戶 ID」。
- 輸入工作的「主旨」。
- 儲存並啟用流程。
概念驗證:
- 導航到「帳戶」記錄頁面,並根據條件更新欄位,然後點擊「活動」頁籤以查看建立的工作。
- 透過這種方式,我們可以藉助「記錄觸發流程」更新或建立動作或相關記錄。
十一. 範例 4. 排程觸發流程
有一間金融公司,摩根大通私人有限公司。該公司的財務團隊想要自動化提醒電子郵件,在到期日前兩天通知客戶提交貸款 EMI 金額。
建立排程觸發流程
- 點擊「新增流程」按鈕。-> 選擇「從頭開始」以建立排程觸發流程。
- 現在選擇「開始日期和時間」。流程將從選定的日期和時間開始執行。根據我們的情境,頻率設定為「每日」,因為我們希望每天執行此任務。
現在,我們需要建立一個公式,用於找到到期日前兩天的日期。
- 點擊「管理員」頁籤,在那裡我們可以找到「新增資源」選項。點擊「新增資源」選項以建立一個公式。
- 在「資源類型」欄位中,選擇「公式」選項。輸入 API 名稱。然後,在「資料類型」中,選擇「日期」。在「公式編輯器」中輸入公式 – (!$Flow.CurrentDate) + 2。
現在,我們需要提取記錄以檢查 EMI 的到期日;為此,新增「取得記錄」元素。輸入「標籤」和「API 名稱」。
- 在「物件」欄位中選擇「帳戶」。在「欄位」中,從「帳戶」物件新增自訂 EMI 欄位,並在「值」欄位中輸入建立的公式資源。之後,將其他欄位保留原樣。
- 欄位(自訂 EMI)= 值(FindDueDate)。
- 然後新增「迴圈」元素,以檢查所有符合排程條件的記錄,並在「集合變數」中選擇我們在「取得記錄」元素 (Fetch_Customer_Records) 中儲存的記錄集合。
- 然後在「For Each」元素之後新增「動作」元素,並在「動作」中選擇「傳送電子郵件」動作。
- 然後設定電子郵件動作的值,我們需要在其中新增電子郵件內文、主旨、收件人電子郵件地址和寄件人地址。
輸入「標籤」,並以下列方式設定「電子郵件」動作。
- 在「內文」中,選擇建立的電子郵件內文,我建立了一個名為 EmailBody 的內文。
- 從「迴圈」元素設定「收件人地址清單」。
之後,儲存流程,然後偵錯,然後啟用流程。
概念驗證:
- 然後透過輸入到期日來建立或更新記錄。現在,Salesforce 將在到期日前兩天將電子郵件傳送給客戶。
- 在這裡,您可以看到輸出,郵件已在到期日前兩天送達客戶。
透過這種方式,我們可以在 Salesforce 中建立排程觸發流程。
十二. 範例 5. 平台事件觸發流程
在這個範例中,我們將介紹平台事件觸發流程。
在建立記錄時,使用者可能會遇到各種錯誤和問題。這些錯誤和問題將報告給 Salesforce 管理員,因此 Salesforce 管理員很難在特定時間識別所有這些問題並提供解決方案。
在 Salesforce 中建立平台事件觸發流程有以下先決條件:
- 對於上述情境,我們將使用「流程執行錯誤事件」。此事件會傳送錯誤通知,這些錯誤可以儲存在任何物件中。
- 我們需要一個自訂物件來儲存這些通知。在這裡,我建立了一個名為「記錄錯誤」的自訂物件。
「流程執行錯誤事件」會捕獲我們建立的另一個流程中的錯誤。
在這個情境中,我將執行一個「畫面流程」,如果它有任何錯誤,「流程執行錯誤事件」將捕獲該錯誤並將其儲存在「記錄錯誤」物件中。
建立平台事件觸發流程
我建立了一個名為「記錄錯誤」的自訂物件,其中包含兩個自訂欄位:「錯誤名稱」和「描述」。
為了理解這個流程,我們將參考上面建立的「畫面流程」(範例 1)。
現在點擊「新增流程」按鈕,然後選擇「平台事件觸發流程」。
- 在「平台事件」選項中,選擇「流程執行錯誤事件」。因為此流程事件會通知使用者與「畫面流程」執行相關的錯誤。
- 現在,為了儲存錯誤,我們已經建立了一個自訂物件。新增「建立記錄」元素,並根據下圖輸入資訊。
- 然後,在「物件」欄位中,選擇「記錄錯誤」物件,我們要在其中儲存錯誤。
- 要設定「記錄錯誤」物件欄位的欄位值。為此,在「欄位」選項中,選擇物件欄位,在「值」選項中,選擇「流程執行錯誤事件」欄位。
Field | Value |
Name | $Record>Flow API Name |
Description | $Record>Flow Error Message |
之後,儲存流程並點擊「啟用」按鈕。
概念驗證:
- 現在我將從「畫面流程」建立一個帳戶記錄,並且我將故意將「名稱」欄位留空。這樣它就會拋出一個錯誤。
- 當您儲存記錄時,您會收到一個錯誤,但您將無法理解錯誤的確切原因。
- 現在,要了解原因,請導航到「記錄錯誤」頁籤,在那裡您會看到記錄已經建立,其中包含畫面流程名稱。當您點擊它時,您會看到錯誤背後的確切原因。
透過這種方式,我們可以在 Salesforce 中建立平台事件觸發流程。
十三. Salesforce 流程的限制和注意事項
現在,我們來談談 Salesforce 流程的限制和注意事項,這些是我們在設計、管理和執行流程時應該注意的。
Salesforce 流程限制
以下是 Salesforce 中流程的限制:
- 複雜的程式碼在流程中可能難以偵錯。每當涉及複雜邏輯時,更好的選擇是 Apex 程式碼。
- Salesforce 流程整合到 Salesforce 生態系統中,這限制了它僅適用於依賴 Salesforce 的企業。
- 對於包含大型資料集的自動化流程,Salesforce 流程可能不如其他工具或程式碼解決方案(如 Apex)有效。
Salesforce 流程注意事項:
我們在使用流程時應該注意一些基本事項。
- 始終建議在啟用流程之前對其進行偵錯。
- 確保流程沒有與任何限制規則衝突。
- 對活動流程所做的任何變更都將使流程變為非活動狀態。變更後啟用流程。
- 如果流程在您進行變更時沒有活動版本,則將使用最新的非活動版本。
結論
我們希望讓您了解如何在 Salesforce 流程中工作。本指南全面介紹了 Salesforce 中可用的各種流程類型,包括畫面流程、記錄觸發流程、排程觸發流程和平台事件觸發流程。
▍必讀文章: