Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

フローでエラーが発生した際のトラブルシューティングガイド

公開日: Aug 25, 2025
説明

この記事では、よくある問い合わせをもとに、Salesforce の フローに関する問題をトラブルシューティングするためのガイドを提供します。フローでエラーが発生したが何を確認したら良いかわからない場合に、共通で確認できるポイントを紹介します。
ガイドを確認しても問題が解消しない場合、当該記事の末尾に記載されている情報を添えて、Salesforce サポートに問い合わせてください。

目次

エラー発生時に確認すること
・失敗したフローへのアクセス
・エラー通知メールの内容
・フローの [デバッグ] 機能の実行
・デバッグログの取得

フローの問題箇所の切り分け例

■ フローで発生しやすいエラー: System.LimitException (ガバナ制限エラー)

■ サポート問い合わせ時に必要な情報

■ リンク集
・トラブルシューティング関連
・エラー事例

解決策

■ エラー発生時に確認すること

・失敗したフローへのアクセス

エラー発生時にシステム管理者に送信されるメールの内容を確認します。
エラーメールに「Flow Builder でこのフローをデバッグします。」リンクが記載されている場合、リンク先の画面にてどの要素でエラーが発生しているかを確認できます。

エラーメールが届かない場合などには画面からも失敗したフローを確認できます
[設定] から、[クイック検索] ボックスに「フロー」と入力し、[一時停止中および失敗したフローインタビュー] を選択します。
リストビューを「すべての失敗したフローインタビュー」リストに切り替えることで、過去 14 日間分の失敗したフローインタビューを確認できます。

※アプリケーションランチャーの [一時停止中のフロー] からも同様の内容が確認できます

失敗したフローインタビューは以下フロー種別で使用できます。

  • 画面フロー
  • レコードトリガーフロー
  • スケジュールトリガーフロー
  • トリガーされていない自動起動フロー

 

・エラー通知メールの内容

エラー通知メールからは以下のような内容が確認できます。
(状況をスムーズに把握するため、サポート問い合わせ時にはこれらの情報を全て連携してください)

 - エラー要素・エラーメッセージ
 フロー内のどの要素で、どんなエラー内容が発生しているかを確認します。

 (例)
 エラー要素 Element (FlowElement)。
 @メンションに有効な ID を入力してください。

 - 実行フローの詳細
 情報フローの詳細・実行日時・実行ユーザーなどの情報を確認します。

 (例)
 フローの API 参照名: Flow Name 種別: 自動起動フロー
 バージョン: 1
 状況: 有効
 組織: Org Name (00D000000000000)

 フローインタビューの詳細
 インタビュー表示ラベル: Flow Name 2025/01/01 12:34
 インタビュー GUID: 3144e59eb8513ce286104c3b65ed196b3928f84-XXXX
 現在のユーザー: Admin User (005000000000000)
 開始時刻: 2025/01/01 12:34
 期間: 0 seconds

 

・フローの [デバッグ] 機能の実行

Flow Builder にてフローの詳細動作を視覚的に確認したい場合には [デバッグ] 機能を活用できます。
デバッグオプションにてフローの実行対象となるレコードなどを指定することができ、エラーの発生条件の特定に役立ちます。

(参考資料)
Flow Builder でのフローのデバッグ

 

・デバッグログの取得

フローで同じエラーが度々発生する場合、エラー発生前に追跡フラグを設定することで、エラー発生時のデバッグログを取得することが可能です。

デバッグログでは、フロー実行時の各要素における詳細な実行履歴を確認することができます。例として「特定の変数の値がおかしい」といった場合に、どの要素で値が書き換えられたかを追うことができます。

追跡フラグの設定手順

- フローデバッグ用のデバッグログレベルの作成
 1. [設定] 画面左側メニューの検索バーに「デバッグログ」と入力しデバッグログ画面へ移動します。
 2. ユーザー追跡フラグセクションの [新規] ボタンをクリックします。
 3. デバッグレベル項目の [新規デバッグレベル] をクリックします。
 4. カテゴリ:ワークフロー のレベルを [より詳細] に変更し、任意の名前を付けて保存してください。

- デバッグログの設定
 5. 以下の情報を設定し [保存] ボタンをクリックします。
 - 追跡対象エンティティ種別: ユーザー
 - 追跡対象エンティティ名: フローを実行するユーザー(虫眼鏡アイコンから検索して設定してください)
 - 開始日:デバッグログを取得開始する任意の時間
 - 有効期限:デバッグログの取得を終了する任意の時間

- デバッグログの取得
 6. 上記状態でフローを実行しエラーを発生させます (5 で設定した開始日~有効期限の間に実施してください)。
 7. デバッグログ画面に対象のフロー実行時のログが表示されますので、ダウンロードします。

注:  プラットフォームイベントトリガーフローにてデバッグログを取得する際は、自動化プロセスユーザー (Process Automated ユーザー) を追跡対象エンティティ名に指定します。

(参考資料)
デバッグログの設定
イベント登録のデバッグログの設定 

 

■ フローの問題箇所の切り分け例

フローが想定動作とならない場合、原因を特定するために切り分け調査を行います。実行時のデバッグログを取得しつつテストデータを使用した動作確認を行う際には、切り分け調査を段階的に行うことで効率的にデバッグを進めることができます。

 他の要素を削る:

  • 大規模なフローの場合、一度にすべての要素をテストするのではなく、疑わしい部分以外の要素やコンポーネントを一時的に無効にするか、削除してテストします。
  • サブフローやアクションなど、他のフローや外部システムとの連携がある場合は、それらを切り離して単体で動作するか確認します。

 条件を削る:

  • 決定要素やループ要素などで設定されている条件が複雑な場合、一時的に条件を緩めてテストします。
  • 複数の条件が AND / OR で結合されている場合、それぞれの条件が正しく評価されているか個別に確認します。

 数式を見直す:

  •  フロー内で使用されている数式 (変数への代入、条件式、デフォルト値、データ型など) に誤りがないか確認します。
  •  参照項目や数式項目を参照する条件は、データの不整合や計算結果の誤りに起因する問題が起きやすいため注意深く確認します。
  •  Null 値の扱いが適切か確認します。ISBLANK 関数や NULLVALUE 関数などを活用して、Null 値が渡された場合の挙動を考慮します。

 

■ フローで発生しやすいエラー: System.LimitException (ガバナ制限エラー)

System.LimitException は、Salesforceのフローが健全に動作するための制約(ガバナ制限)を超過した際に発生します。
特に  [レコードを取得] 要素や各種 DML 操作 ([レコードを作成] / [レコードを更新] / [レコードを削除] 要素) の使用方法によっては、以下のような問題が生じやすくなります。

 発生しやすい問題: 

  • Too many SOQL queries 101 (SOQL クエリ回数の制限) : [レコードを取得] 要素の実行回数が100 回を超過すると発生します。
  • Too many query rows: 50001 (SOQL クエリ件数の制限) : [レコードを取得] 要素で取得するレコード件数の合計が 50,000 件を超過すると発生します。
  • Too many DML statements: 151 (DML 回数の制限) : 各種 DML 操作の実行回数が 150 回を超過すると発生します。
  • Too many DML rows: 10001 (DML レコード数の制限) : 各種 DML 操作の対象レコードが 10,000 件を超過すると発生します。
  • Apex CPU time limit exceeded (CPU 時間の制限) : 複雑なロジック、多数のループ、大量データ処理を含むフローは処理時間が増大しこの制限を超過する可能性があります。
  • Apex heap size too large (ヒープサイズの制限) : 大量のデータを [レコードを取得] 要素で取得しコレクション変数などで操作するフローは、ヒープサイズの制限 (一時的にメモリに保持するデータサイズ上限) を超過する可能性があります。 


System.LimitException が発生した場合の対処法:

  • ループ内の処理の最適化 : [ループ] 要素内で [レコードを取得] 要素や各種 DML 操作が実行されると、ループの反復回数に比例して制限値の消費が増加します。
    ループ外に [レコードを取得] 要素および [レコードを作成] / [レコードを更新] / [レコードを削除] 要素を配置し、まとめて一度で実行することを検討してください。
  • 非同期処理の活用 : [開始] 要素の [スケジュール済みパス] によるバックグラウンド実行を活用し、パフォーマンスの向上・制限値の消費を分散させることを検討してください。
  • ベストプラクティスの適用 : Salesforce のフロー開発ベストプラクティスに従い、最適に機能するように設計してください。具体的な例、実装手順については以下参考資料を参照してください。

(参考資料)
Flow Builder での成功の計画(ベストプラクティス)
フロー・プロセスの自動化 ポイント集
一般的なフローの制限
Apex ガバナ制限

 

■ サポート問い合わせ時に必要な情報

上記ガイドの内容をすべて確認しても問題が解決しない場合、下記の内容に沿ってお客様環境における調査のための情報と、弊社検証環境で再現するための情報を提供してください。

・エラーに関する基本的な情報
 - エラーが発生した具体的な時刻 (例: 2025/06/10 17:00:00 - 17:00:30 日本時間) 
 - 特定の組織 (本番 / Sandbox) でのみ発生するか
 - 特定のユーザーでのみ発生するか
 - 以前は問題なく動作していたが急に動作しなくなったか / 新規作成したフローか
 - エラーは今も必ず再現するか / 過去 1 度だけ発生したエラーか
 - 画面上にエラーメッセージが表示されているか

・事象が発生している組織 ID (00D で始まる 15 桁または 18 桁の英数字)

・ログインアクセス許可を設定したユーザーのユーザー名 (設定手順)

・エラー通知メールの内容全文
 エラー通知メールが確認できない場合、下記情報を連携してください。
 - フローの API 参照名
 - エラーが発生したフロー要素の API 参照名
 - 有効なフローバージョン
 - エラーメッセージ全文
 - フローの実行ユーザー名

・失敗したフローインタビューの URL

・エラーが発生した画面のスクリーンショット

・エラーを再現するための具体的な手順

・サポートのログインアクセスによる、エラーを再現するための手順の実行可否

・サポートのログインアクセスによる、フローのデバッグモードの実行可否

エラー再現時に取得したデバッグログ (設定手順)

ナレッジ記事番号

005101572

 
読み込み中
Salesforce Help | Article