はじめに
Salesforce Advent Calendar 2023 9日目を担当するyappiです!
少しSalesforceを離れていましたが、ここ最近からまた勉強再開し始めました!!
Salesforceでは、プロセスビルダーやワークフローの廃止が出始め、フローへの移行が推奨されていますね。。とはいえ、仕事でSalesforceチームにいましたが、フローは全く触ったことがなかったので、今回はフローの使い方と、ありそうな業務自動化について記事にまとめようと思います。
やりたいこと
今回実装するフローは、業務でありそうなマスタデータへの自動反映フローを実装したいと思います。
物にはよりますが、マスタデータと聞くと結構重要なものが多いイメージで、マスタデータとして問題ないか?など確認した上で、反映するみたいなことは少なからずありそうだな・・と思いました。
また、外部から取得したデータをそのままマスタデータに取り込むと重複や不備があるかもしれない、、そのため一旦仮データとして保持して選別して、マスタに反映するなど、、
上記の観点から、こういう自動化やってみようと思い、実装してみました!
実装内容
今回実装・設定するのは以下になります!
- カスタムオブジェクト2つ
- フロー
カスタムオブジェクトは下記の2つを作成してます!
オブジェクト内の項目はそれぞれ以下のように設定しています
商品マスタ
項目は標準項目に加えて、 商品名
・種類
・金額
があり、商品マスタ【仮】Id
という項目があり、商品マスタ【仮】Id
はマスタデータの元データとなる仮データを特定できるように設定します
商品マスタ【仮】
仮のデータも同じように、商品名
・種別
・金額
があり、このデータを使って作成されたマスタデータを特定するマスタId
を持っています
そして、このオブジェクトだけ、マスタ反映フラグ
を設定しており、このフラグがtrue
の場合、マスタデータを作成するといったフローを作成していきます
これで、オブジェクトの設定は完了です!
Salesforceフローの実装概要
次は、実際にフローの実装をして自動化の流れを作っていきます
今回自動化では下記を意識してフローを実装していきます!
- どういったタイミング、条件でマスタデータを作成するか?
- 後々に仮データとマスタデータの整合性が調べられるように紐付けのIdがわかること
まず、タイミングと条件ですが、基本、仮データの作成・更新のタイミングで実行しようと思います。また、条件は、項目部分で紹介しましたが、マスタ反映フラグ
がtrue
の時に実行できるように制御します。
フローの実装
実装については、以下の手順でフローを作成していきます。
下記画面のようにホームから'フロー'と検索し選択 > [新規フロー]ボタンを押下
各種簡単に説明すると、、
- オブジェクトを選択 ... データの作成・更新対象のオブジェクトを選択
- トリガ-を設定 ... フローを起動するタイミング
- エントリ条件を設定 ... フローを起動する条件
- 更新されたレコードでフローを実行するタイミング ... 一致するたびか一致する時のみなのか違い
- フローを最適化 ... レコード更新前に動くか更新後かの違いだと思います。
今回の条件に合わせると、商品マスタ【仮】
のレコードが作成・更新された時に、マスタ反映フラグ
がtrue
の時にのみ動作するという起動条件です。(下2つの項目はなんとなくで選択してます・・・w)
次は、実際の処理内容の実装です
再生マークの下の[+]マークを押下して次の処理を作成します
フローが起動したら、マスタデータを作成するため、[レコードを作成]を選択
今回は、商品マスタ
オブジェクトにレコードを1件登録します。また、各項目は仮データの項目値を転記するような設定をします。
次は、仮データと紐付けをするマスタデータIdに値を入れたいので、作成したマスタデータを取得します。
取得ができたら、商品マスタ【仮】
のデータにもマスタデータのIdをもたせる処理です。
これは、フローをトリガーした商品マスタ【仮】
のため、マスタデータを作成した元の仮データとなります。
このレコードに対して、RegisterMasterDataの商品マスタId
とあるので、登録された時にわりあてられるカスタムオブジェクトIdが仮データにも登録されレコードを更新します。
これでフローの実装は完了です。実際に[有効化]をして動作確認してみましょう。
フローの一覧画面に戻ると画像1番下に追加されていることがわかります。
動作確認
商品マスタ【仮】
のレコードを作成してみましょう!
新規登録画面から、必要な項目を入力します!この時、フラグはまだfalse
のままにして登録し、マスタに反映されないことを確認します!
登録されていませんでした!画面から確認してみてください
次は、フラグをtrue
に更新してみましょう!
仮データのマスタId項目にIdが入力されていることが確認できます!
マスタデータも作成されており、商品マスタ【仮】Id
項目にIdが入っていることが確認できます!
SalesforceのカスタムオブジェクトIdは、Salesforceのリンクから確認できるので、相互に一致しているか確認してみてください!
これで自動化フローの実装は完了です!
終わりに
今回は、Salesforceフローについて記事をまとめてみました!毎年定期的にアップデートがあるSalesforceはキャッチアップがすごく難しい気がしていて、久しぶりに開いたらプロセスビルダー廃止・ワークフロー廃止などなど驚きましたが、フローで全て管理できるのはいいことですね。
今後も幅広く技術をキャッチアップしていきたいと思います!
それでは良いエンジニアライフを・・・!