Salesforceで自動化を実現。フローを使用して、関連レコードを一括更新するレコードトリガーフローを作成

Salesforce
Salesforce

こんにちは。第一事業部の福野です。

Salesforceの自動化機能の一つ「フロー」は利用されていますでしょうか。Salesforceのバージョンアップのたびにフローの機能が強化され、Apexでコードを書かなくてもノーコード / ローコードでSalesforceの自動化カスタマイズを実現できることが増えてきました。

一方で、これまでプロセスビルダーを使っていたという方や、最近Salesforceを触り始めたという方など、フローは触ったことがないという方や苦手意識がある方もいらっしゃるのではないでしょうか。

この記事では、フローのイメージが掴めるよう、実装モデルの一つとして、レコードに紐づく子レコード(関連レコード)の一括更新の方法をご紹介します。

今回作成するフローのイメージ

今回作成するフローは「取引先」と「商談」オブジェクトを使用します。

取引先レコードの「取引中止」チェックボックスにチェックを入れると、紐づく商談レコードのうち、フェーズが「商談成立」以外のレコードを「商談不成立」に自動で更新されるようにします。

実装方法

事前準備

フローの作成の前に、項目の準備を行います。

取引先オブジェクトにカスタム項目「取引中止」をチェックボックス型で作成しておきます。API名は「IsAccountLost」に設定しておきます。

ページレイアウトにも追加し、レコードページからチェックを入れられるようにしておきましょう。

商談オブジェクトの「フェーズ」(StageName)項目について、選択リスト値に「商談成立」「商談不成立」などを設定しておきます。

1. フローの作成画面を開く

Salesforceの設定画面を開き、クイック検索に「フロー」と入力し、「フロー」を選択します。

右上の「新規フロー」を選択します。

新規フローポップアップ画面から「レコードトリガーフロー」を選択し、「作成」ボタンをクリックします。

2. フローの起動条件を設定する

今回は取引先オブジェクトに作成したカスタム項目「取引中止」にチェックが入ったらフローが動くようにします。それぞれ以下を設定して、保存ボタンをクリックします。

  • オブジェクト: 取引先
  • フローをトリガーする条件: レコードが作成および更新された
  • 条件の要件: すべての条件に一致
  • 項目: IsAccountLost__c(取引中止)
  • 演算子: 次の文字列と一致する(AND)
  • 値: True
  • 更新されたレコードでフローを実行するタイミング: 条件の要件に一致するようにレコードを更新したときのみ
  • フローを最適化: アクションと関連レコード

3. 「レコードを更新」要素を追加する

起動条件の設定が完了したら、要素を追加します。

即時実行の下にある「+」をクリックし、要素の一覧から「レコードを更新」を選択します。

画面右側に「レコードを更新」要素の設定が表示されます。以下の情報を入力します。

  • 表示ラベル: 商談レコードを更新
  • API 参照名: updateOpportunityRecords
  • 更新するレコードを検索してその値を設定する方法: フローをトリガーした 取引先 レコードに関連するレコードを更新
  • 取引先に関連するレコード: $Record > Opportunities
  • レコードを更新する条件の要件: すべての条件に一致する(AND)

「検索条件を設定」では以下を設定します。

  • 項目: StageName(フェーズ)
  • 演算子: 次の文字列と一致しない
  • 値: 商談成立

「商談の項目値をレコードに設定」に以下を設定します。

  • 項目: StageName(フェーズ)
  • 値: 商談不成立

これで要素の設定は完了です。

4. フローを保存して有効化する

フローを保存し、有効化してみましょう。

画面右上の「保存」ボタンをクリックすると、フロー名の設定を求められます。以下の情報を入力して、「保存」ボタンをクリックします。

  • フローの表示ラベル: 取引中止した時、商談フェーズを商談不成立に変更
  • フロー API 参照名: UpdateRelatedOpportunityStage

「保存」ボタンをクリックした後、同じく右上の「有効化」ボタンをクリックし、フローを実際に動くようにしましょう。

実際に動かしてみる

実際に設定したフローを動かしてみましょう。

取引先に「テスト株式会社」レコードと、それに紐づくいくつかの商談レコードを用意してみます。商談レコードのフェーズはそれぞれ違う値を設定しておきます。

画像の例では、フェーズに「商談成立」が設定されているのはテスト商談Aのみのため、テスト商談BからEの4つの商談レコードのフェーズが「商談不成立」になります。

取引先レコードの「取引中止」にチェックを入れて、レコードを保存します。

フェーズが「商談成立」以外の商談レコードは、「商談不成立」フェーズに自動で変更されました。

今回は簡単なデモでしたが、フローでは他にも様々な自動化を実現させることができます。ぜひフローを使用して、Salesforceの自動化にチャレンジしてみてください。

セールスフォースのご相談・お問い合わせ

タイトルとURLをコピーしました