ADVERTISEMENT

【Salesforce】Flow Builderの実行結果を確認したい時のデバッグ手順

【Salesforce】Flow Builderの実行結果を確認したい時のデバッグ手順
🛡️ 超解決

SalesforceのFlow Builderで作成した自動化フローが期待通りに動作しない場合、どこに問題があるのかを特定するためにデバッグ機能を活用することが重要です。Flow Builderのデバッグは、フローの各ステップで変数やレコードの状態を確認し、エラーの原因を特定するための強力な手段です。この記事では、Flow Builderの実行結果を確認するための具体的なデバッグ手順を、初心者にも分かりやすく解説します。また、よくあるエラーパターンや管理者に確認すべきポイントも含めて説明しますので、フローのトラブルシューティングに役立ててください。

【要点】この記事で確認すること

  • 最初に見る場所: フローのデバッグログは「設定」→「プロセスビルダー/フロー」→「フロー詳細」の「デバッグ」ボタンから起動します。また、フローバージョンごとに「最新のデバッグ」結果を確認できます。
  • 切り分けの軸: フローのデバッグは「画面フロー」「自動起動フロー(レコードトリガ付き・スケジュール付きなど)」で方法が異なります。問題が「トリガ条件」「フロー内の数式」「参照しているオブジェクト権限」のいずれにあるのかを切り分けてください。
  • 注意点: 会社PCで操作する場合、フローを「有効化」したまま無闇に編集・保存すると、既存の自動化に影響を与える可能性があります。デバッグは必ず「無効化」したフロー、または「新しいバージョン」で行い、動作確認後に切り替えるのが安全です。管理者への事前確認も推奨します。

ADVERTISEMENT

1. Flow Builderのデバッグとは

Flow Builderは、Salesforce上で複雑な業務プロセスを自動化するためのツールです。しかし、フローを実際に実行する前に、期待通りの動作をするかどうかを確認する必要があります。デバッグ機能を使うと、フローの各要素(取得、作成、更新、条件分岐など)がどのように処理され、変数がどのような値を持つかをトレースできます。

デバッグログには、各ステップの開始・終了時刻、実行条件の評価結果、DML操作の詳細、エラーメッセージなどが記録されます。これにより、フローが途中で失敗した場合でも、どの要素で問題が発生したのかを特定できます。

2. デバッグの種類と比較

SalesforceのFlow Builderでは、主に以下の2種類のデバッグ方法があります。状況に応じて使い分けることで、効率的に問題を特定できます。

デバッグ方法 特徴 適したケース
画面フローのプレビュー ユーザー操作をシミュレートしながら各画面の遷移を確認できる。変数の現在値をリアルタイム表示可能。 画面要素の表示条件や入力値のバリデーションを確認したい場合
自動起動フローのデバッグ 実際のトリガ条件をエミュレートしてフローを実行。レコードIDを指定して開始できる。実行後にログをJSONでエクスポート可能。 レコードトリガやスケジュールトリガのフローが想定通り動作しない場合

3. デバッグ実行の手順(自動起動フローの例)

ここでは、最も一般的な「レコードトリガ付きフロー」を例に、デバッグの具体的な手順を説明します。環境によりメニュー名が異なる場合がありますが、基本的な流れは同じです。

  1. Salesforceにログインし、「設定」を開きます。クイック検索ボックスに「フロー」と入力し、「フロー」をクリックします。
  2. デバッグしたいフローの名前の横にある「▼」をクリックし、「編集」を選択します(既にフロービルダーが開いている場合はそのまま操作します)。
  3. フロービルダーのツールバーにある「デバッグ」ボタン(虫アイコン)をクリックします。
  4. 「フローデバッグ」ダイアログが表示されます。自動起動フローの場合、「デバッグの開始」画面で「レコードID」または「トリガ条件をシミュレート」を選択します。実際のレコードを指定するか、レコードを作成してテストします。
  5. 「実行」ボタンをクリックすると、フローが開始されます。進行状況がダイアログ内に表示され、各要素の通過状況や変数値を確認できます。
  6. フローが完了、またはエラーで停止した場合、「ログをダウンロード」で詳細なJSONログを取得できます。このログには各ステップの詳細な情報が含まれているため、問題解析に役立ちます。

3.1 画面フローのデバッグ手順

画面フローの場合は、フロービルダーで「プレビュー」ボタン(再生アイコン)をクリックします。プレビューモードでは、実際のユーザーと同様に画面遷移を体験しながら、各画面のテキストや表示条件を確認できます。画面上部の「変数の値を表示」をオンにすると、各要素が保持する値がリアルタイムで表示されます。

4. デバッグログの見方とよくあるエラー

デバッグログ(特にJSON形式)は一見複雑に見えますが、キーとなる情報は以下の部分です。

  • flowName: フローのAPI参照名。
  • outcome: 実行結果(成功なら「success」、エラーなら「error」)。
  • nodesVisited: 実行中に通過したフロー要素の順序。
  • errorMessage: エラーが発生した場合のメッセージ。最も重要な手がかりになります。

よくあるエラーメッセージと対処法を以下にまとめます。

エラーメッセージ 原因 対処法
MISSING_RECORD フローが参照しようとしたレコードが存在しない。 フローの取得要素で使用しているIDや条件を確認し、該当レコードが存在するかを確認する。
UNABLE_TO_LOCK_ROW 同時実行によるレコードロックの競合。 フロー内で同じレコードを複数操作する場合、トランザクション設計を見直す。必要に応じて並列処理を避ける。
INSUFFICIENT_ACCESS_OR_READONLY フローを実行するユーザーにオブジェクトへのアクセス権限がない。 実行ユーザーのプロファイルや権限セットを確認し、必要なアクセス権を付与する。システム管理者権限でのデバッグ推奨。

5. 失敗パターンと切り分けのポイント

実際の業務で遭遇しやすい失敗パターンをいくつか紹介します。

5.1 デバッグ実行が途中で止まる

フローの各要素で速度制限(ガバナ制限)に達した場合、強制的に中断されることがあります。たとえば、1フローあたりのDML操作数が150件を超えた場合などです。デバッグログに「DML_OPERATION_LIMIT」というエラーが表示されます。この場合、フロー内でバッチ処理を分割するか、ループ回数を減らす設計変更が必要です。

5.2 デバッグが開始されない

自動起動フローの場合、トリガ条件を満たしていないとデバッグが開始されません。デバッグダイアログで指定したレコードがトリガ条件に合致しているか確認してください。特に「条件式」に誤ったフィールド項目名が指定されていないか注意が必要です。

5.3 画面フローで「保存」後の動作が異なる

プレビューでは正常に動作するのに、実際にユーザーが利用するとエラーになるケースがあります。原因として、プレビューではシステム管理者権限で実行されるため権限関連の問題が見逃されやすい点が挙げられます。実際のユーザープロファイルでテストするか、デバッグログの権限エラーを確認しましょう。

6. 管理者へ確認すべきポイント

デバッグ作業を進める上で、管理者に事前確認しておくべき項目があります。

  • フローの実行ユーザー: システム管理者として実行するか、特定のユーザーとして実行するかを確認します。権限不足が原因のエラーを防げます。
  • フローの状態: フローが「有効化」されているかどうか。デバッグのために一時的に「無効化」しても問題ないか管理者に相談してください。
  • 設定の変更による影響: フローを編集してバージョン管理する際、既存の有効なフローに影響がないか確認します。
  • ログの参照権限: デバッグログは常に管理者がアクセスできるとは限らないため、ログのエクスポート機能を使ってチームで共有できるようにします。

7. よくある質問(Q&A)

デバッグに関するよくある質問をまとめました。

Q1: デバッグログの保存期間は?

デバッグログは一時的に表示・保存されますが、永続的ではありません。実行後にそのまま閉じると消えてしまうため、必要に応じて「ログをダウンロード」して保管してください。

Q2: デバッグ中にフローを変更してもいいですか?

デバッグを実行中にフローを編集することはできません。デバッグを停止してからフローを修正し、保存後に再度デバッグを実行してください。

Q3: フローのすべての分岐をテストしたい場合、どうすればいいですか?

条件分岐(Decision要素)を網羅するには、各分岐条件を満たすテストレコードを用意して、それぞれデバッグを実行する必要があります。一度に全分岐をテストする方法はないため、計画的にテストデータを準備しましょう。

8. まとめ

Flow Builderのデバッグは、自動化フローが期待通りに動作しない原因を特定するための必須スキルです。デバッグ機能を活用することで、フローの各ステップの実行状況や変数の値を確認し、エラーメッセージから具体的な問題を特定できます。今回紹介した手順とよくあるエラー事例を参考に、ぜひ自身のフローをデバッグしてみてください。また、管理者と連携して権限やバージョン管理を適切に行うことで、本番環境への影響を最小限に抑えながら効率的にトラブルシューティングができるはずです。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT