Salesforceレコードトリガーフロー完全ガイド!基礎から作成手順まで徹底解説 2026年10月28日
商談が成立したら、自動的に請求レコードを作成したい、、、
レコードを削除したら、自動的に関連レコードも削除したい、、、
自動化を行いたい時に、Salesforceのフローで最も多く使われるといっても過言ではないのが、レコードトリガーフローです。このレコードトリガーフローを使いこなせると、Salesforceの入力業務や管理、運用効率化が飛躍的に上昇します。
そこで今回は、レコードトリガーフローの基本的な話から作成方法まで、初歩のステップを紹介していきたいと思います。
- CONTENTS
-
レコードトリガーフローとは
レコードトリガーフローとは、あるレコードが編集(作成、更新、削除)されたことをトリガー(引き金)にフロー(自動化)を実行することができる機能です。レコードがトリガーされるタイミングや条件を柔軟に指定することができるので、レコードをトリガーとしたあらゆる自動化に対応することができます。
例えば、商談レコードの項目「フェーズ」が「成立」に変更(保存)されたことをトリガーに、請求レコードを自動で作成するような時に活躍します。
他のフローとの違いについては「【Salesforce フロー】初心者向け活用事例から設定方法まで徹底解説」を参考にしてください。
トリガーの発動条件
何を持ってトリガーとなるかは、色々な条件を指定することができます。レコードトリガーは、フローをトリガーする条件と対象レコードのエントリー条件を指定します。
以下は発動条件を設定する時の画面です。

上記のように様々な条件を柔軟にトリガー設定することができます。
トリガーの実行タイミング(保存前と保存後の使い分け)
トリガーの設定をする時には、フローの実行タイミングを「保存前」か「保存後」のどちらか選ぶことになります。実行タイミングを「保存前」にする時は、保存前にフローを実行した上で保存することになり、「保存後」は保存した後にフローを実行することになります。
文字上だとわかりづらいですが、「保存前」は起動したレコード自身の項目を更新する時に選択します。例えば不動産の場合は、物件の「賃料」と「面積」から「坪単価」を計算する時は、レコード自身の項目「坪単価」を更新するため「保存前」を選択します。
一方で「保存後」は、商談が「契約」になったら「部屋」の「空室状況」を自動更新するといったケースです。この場合は商談レコードをトリガーに、「部屋」のレコードを更新するため「保存後」を選択します。
-
レコードトリガーフローの作成方法
ここからはレコードトリガーフローの作成方法を紹介します。前提として、フローはシステム管理者の権限が必要ですので、権限がない場合はシステム管理者に依頼するか、システム管理者の上位権限を付与していただく必要があります。
このコラムでは、商談のフェーズが「契約」になったときに、「契約日」項目へ今日の日付を自動で入力するフローを作ります。起動したレコード自身の項目を更新するだけなので、保存前(高速項目更新)のフローを使います。
1. 新しいフローを作成する
[設定]のクイック検索に「フロー」と入力し、[プロセスの自動化]の[フロー]を開きます。[新規フロー]をクリックします。

表示されたポップアップ画面に表示されるフローの種類から[レコードトリガーフロー]を選んで作成を始めます。

2. 起動するオブジェクトとトリガーを設定する
フロービルダーが開くと、開始要素の設定画面が表示されます。次のように設定します。
- オブジェクト:商談
- フローをトリガーする条件:レコードが更新された
- エントリ条件:すべての条件に一致(AND)、項目「フェーズ」、演算子「次の文字列と一致する」、値「契約」
- フローを実行するタイミング:レコードが更新されて条件の要件を満たす場合のみ
- フローを最適化:高速項目更新

設定画面は続きますので、同じ画面の右側をスクロールします。

ポイントは「フローを実行するタイミング」です。「条件の要件を満たす場合のみ」を選ぶと、フェーズが「契約」に変わった瞬間だけフローが動きます。もう一方の選択肢を選ぶと、契約済みの商談を後から編集するたびにフローが動き、契約日が編集した日の日付で上書きされてしまいます。3. 契約日を入力する要素を追加する
開始要素の下の[+]をクリックし、[割り当て]要素を追加します。

表示ラベルに「契約日を入力」、API参照名に「Set_Contract_Date」と入力し、変数の値を次のように設定します。
- 変数:{!$Record.contractDate__c}(contractDate__cは、「契約日」の項目を意味します)
- 演算子:次の文字列と一致する
- 値:{!$Flow.CurrentDate}(フローが実行された日の日付)

保存前のフローでは、$Record の項目に値を割り当てるだけで、レコードの保存時にその値が一緒に保存されます。[レコードを更新]要素を使う必要はありません。4. フローを保存する
画面右上の[保存]をクリックします。

フローの表示ラベル(例:商談_契約日自動入力)とAPI参照名を入力します。後から見て何をするフローか分かるよう、[説明]にも処理内容を書いておくと、管理がしやすくなります。

5. デバッグで動作を確認する
有効化する前に、[デバッグ]で正しく動くか確認します。手順は次の「テストとデバッグの方法」で詳しく説明します。
6. フローを有効化する
動作を確認できたら、[有効化]をクリックします。有効化するまでフローは動きません。実際に商談のフェーズを「契約」に変更し、契約日に今日の日付が入ることを確認しましょう。

-
テストとデバッグの方法
レコードトリガーフローは、ユーザーがレコードを保存するたびに裏側で動区ことになるので、設定を誤ると、気づかないうちに大量のデータを書き換えてしまうおそれがありますので可能な限りテストを行いましょう。
デバッグ機能とロールバックモードで試す
フロービルダーの[デバッグ]をクリックすると、フローを試しに実行できます。レコードトリガーフローの場合は、テストに使うレコードを選び、作成時・更新時のどちらとして動かすかを指定します。更新時のフローでは、変更後の項目の値を入力して、「フェーズを契約に変更した」状態を再現できます。

このとき[ロールバックモードでフローを実行]にチェックを入れておくと、フローが行った変更はデータベースに保存されません。本番環境でデバッグする場合でも、実データを書き換えずに動作を確認できます。
実行後は、画面右側のデバッグの詳細に、どの要素がどの順番で実行され、どんな値が使われたかが表示されます。期待どおりに動かない場合は、どの要素で想定と違う値になっているかをここで確認します。
テストを保存して繰り返し確認する
レコードトリガーフローでは、テストの条件と期待する結果を「フローテスト」として保存できます。フローを修正するたびに同じテストを実行できるため、修正によって別の動きが壊れていないかを確認するのに便利です。
Sandboxで検証してから本番に反映する
今回紹介したような自動化処理は、他の処理に干渉してしまうことがあります。干渉した結果が意図したものと違った結果にならないように、まずSandbox(テスト環境)で作成とテストを行い、問題がないことを確認してから本番環境に反映しましょう。Sandboxの作り方はSandboxの作成・更新方法の記事で紹介しています。
エラー通知を受け取れるようにしておく
フローの実行中にエラーが起きると、フローを最後に更新したユーザーや指定した管理者にエラーメールが届きます。メールの送信先は[プロセスの自動化設定]で変更できます。エラーに早く気づけるよう、運用を始める前に送信先を確認しておきましょう。設定方法はフローのエラー通知の記事で解説しています。
ガバナ制限に注意する
データローダなどで大量のレコードを一括更新すると、レコードトリガーフローもまとめて実行されます。ループの中で[レコードを取得]や[レコードを更新]を使っていると、Salesforceが定めるガバナ制限を超えてエラーになることがあります。一括処理を想定したテストも行っておきましょう。詳しくはフローのガバナ制限の記事を参照してください。
-
よくある質問
Q. 削除時のフローはいつ実行されますか?
レコードが削除される直前に実行されます。そのため、削除されるレコードの値を参照して、関連するレコードを更新したり、削除の記録を残したりできます。たとえば、部屋のレコードが削除されたときに、物件の「部屋数」を再計算するといった使い方ができます。
Q. API連携合わせて使うことはできますか?
可能です。Salesforceのレコードが編集されたことをトリガーにして、他の管理システムとAPI連携を行うことがフローでできます。これによって、どちらの顧客管理システムでも顧客情報を同じ値にすることができます。
-
まとめ
以上がレコードトリガーフローに関する紹介です。レコードトリガーフローは、非常に便利な機能です。自動化によって業務を効率化するためにも、使いこなしましょう。もし、複雑な自動化処理やAPI連携など、難易度が高い自動化を検討の場合は、ぜひ当社の「Salesforce運用・保守支援サポート」までご相談ください。