Salesforceの自動化機能の一つ「フロー」。Salesforceのバージョンアップのたびにフローの機能が強化され、Apexでコードを書かなくてもノーコード / ローコードでSalesforceの自動化カスタマイズを実現できることが増えてきました。
この記事では、Salesforceのレコードトリガーでフローの作成方法、一括更新や有効化する方法などを解説していきます。
レコードトリガーフローを作成し実装する
今回作成するフローは「取引先」と「商談」オブジェクトを使用します。
取引先レコードの「取引中止」チェックボックスにチェックを入れると、紐づく商談レコードのうち、フェーズが「商談成立」以外のレコードを「商談不成立」に自動で更新されるようにします。

実装手順、方法
1.初期設定(事前準備)
フローの作成の前に、項目の準備を行います。
取引先オブジェクトにカスタム項目「取引中止」をチェックボックス型で作成しておきます。API名は「IsAccountLost
」に設定しておきます。

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

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

2.フローを作成する
Salesforceの設定画面を開き、クイック検索に「フロー」と入力し、「フロー」を選択します。
右上の「新規フロー」を選択します。

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

3. フローの起動条件を設定する
今回は取引先オブジェクトに作成したカスタム項目「取引中止」にチェックが入ったらフローが動くようにします。それぞれ以下を設定して、保存ボタンをクリックします。
- オブジェクト: 取引先
- フローをトリガーする条件: レコードが作成および更新された
- 条件の要件: すべての条件に一致
- 項目:
IsAccountLost__c
(取引中止) - 演算子: 次の文字列と一致する(AND)
- 値:
True
- 更新されたレコードでフローを実行するタイミング: 条件の要件に一致するようにレコードを更新したときのみ
- フローを最適化: アクションと関連レコード

4. レコードを更新を設定する
起動条件の設定が完了したら、要素を追加します。
即時実行の下にある「+」をクリックし、要素の一覧から「レコードを更新」を選択します。

画面右側に「レコードを更新」要素の設定が表示されます。以下の情報を入力します。
- 表示ラベル: 商談レコードを更新
- API 参照名:
updateOpportunityRecords
- 更新するレコードを検索してその値を設定する方法: フローをトリガーした 取引先 レコードに関連するレコードを更新
- 取引先に関連するレコード:
$Record > Opportunities
- レコードを更新する条件の要件: すべての条件に一致する(AND)
「検索条件を設定」では以下を設定します。
- 項目:
StageName
(フェーズ) - 演算子: 次の文字列と一致しない
- 値: 商談成立
「商談の項目値をレコードに設定」に以下を設定します。
- 項目:
StageName
(フェーズ) - 値: 商談不成立
これで要素の設定は完了です。

5. フローを保存して有効化する
フローを保存し、有効化してみましょう。
画面右上の「保存」ボタンをクリックすると、フロー名の設定を求められます。以下の情報を入力して、「保存」ボタンをクリックします。
- フローの表示ラベル: 取引中止した時、商談フェーズを商談不成立に変更
- フロー API 参照名:
UpdateRelatedOpportunityStage

「保存」ボタンをクリックした後、同じく右上の「有効化」ボタンをクリックし、フローを実際に動くようにしましょう。
実装する(実際に動かしてみる)
実際に設定したフローを動かしてみましょう。
取引先に「テスト株式会社」レコードと、それに紐づくいくつかの商談レコードを用意してみます。商談レコードのフェーズはそれぞれ違う値を設定しておきます。

画像の例では、フェーズに「商談成立」が設定されているのはテスト商談Aのみのため、テスト商談BからEの4つの商談レコードのフェーズが「商談不成立」になります。
取引先レコードの「取引中止」にチェックを入れて、レコードを保存します。

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

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