做過Salesforce的小夥伴們應該都知道 Salesforce爲我們提供了多種用於業務流程自動化的工具。Salesforce作爲一個靈活且可擴展的CRM平臺,系統管理員們往往可以通過多種方式來實現同一目標。如果實現的方法有多種時,小夥伴們有沒有思考過 “那我們應該什麼時候,使用哪種自動化工具呢?”
首先,再講 Flow Builder 之前,讓我們先大概的溫習一下 這幾種 自動化工具。
* Apex
Apex Code 可以自動化Salesforce中任何業務流程,並且可以通過各種方式與外部系統進行交互。Apex 在後臺運行,可以通過LWC (Lighting Web Component) 或 VF(Visualforce Pages) 提供用戶界面。Apex通過其編程方式提供了無限的靈活性,並且可以在DeveloperConsole(開發人員控制檯)或任何IDE(Sublime 、VSCode 等)中進行管理。
* Workflow
使業務流程自動化,以更新Salesforce記錄,並以有限的方式與外部系統進行交互。Workflow始終在後臺運行。Workflow提供有限的靈活性,可在類似於聲明性向導的界面中進行管理。但Wokrflow 也有相應的侷限性,例如 :一個WorkFlow 只能作用在一個單獨的sObject上,等.還有一些小喵就不在這一一列舉了,可以參考一下 小喵之前寫的一篇文章 <<Salesforce之工作流>> ,WorkFlow 更新記錄消耗CPU,所以當在代碼中遇到CPU超限的問題時,可考慮將WorkFlow 的更新操作整合進Apex code;
* Process Builder
使業務流程自動化,以收集、更新、編輯或創建刪除Salesforce記錄以及與外部系統進行交互。Processes 始終在後臺運行。Processs 提供適度的靈活性,可在聲明性和交互式Process Builder UI中進行管理。Process Builder爲Lightning Flow 的工具之一。但 Processes Builder 也存在着一些劣勢/缺陷:
不能刪除編輯好的Process,只能Inactive (除非使用Metadata API操作),不能修改已經編輯過的Process,只能clone,觸發條件爲created/edited;
相比workflow的優勢:
1) 流程圖的方式寫邏輯和action更直觀 ;
2) 執行action的時候,可以update選定對象的相關字段的值,而不僅侷限其對象本身的field;
3) 能跨對象更新,不管是跨父級還是跨子級更新都行。
* Flow
自動執行業務流程,以收集、更新、編輯,創建或刪除Salesforce記錄以及與外部系統進行交互。Flow可以在後臺運行(autolaunched flows),也可以提供用戶界面(screen flow)。Flow提供極大的靈活性,可在聲明性和交互式Flow Builder UI中進行管理。Flow 爲Lightning Flow 的另一工具。
下圖是Salesforce 自動化應用時的考量, 告訴我們應該從哪些角度來考量,合適該使用哪種自動化工具呢?
小夥伴們在部署flow 和 button 的時候要注意下面兩點:
1) Flow部署之後是未激活的狀態,所以一定要在環境裏面手動激活。
2) Screen flow的Button不能通過推送的方式部署,目前比較好的方案是在PRD裏面直接新建相關的Button.
下面是小喵在寫這篇博客時看到的幾篇不錯的文章
小夥伴們可以學習一下 :
Salesforce Lightning Builder Flows (Salesforce Lightning 構建Flows)
Salesforce Flow(一)Build a Simple Screen Flow
Guide Users Through Your Business Processes with Flow Builder Learning Objectives
今天的分享就到這裏了,
每天進步一點點 , 給努力中的自己 比個yeah!
(^_^)~喵~!!