ADVERTISEMENT

【Salesforce】フローが保存時にエラーになる場合の原因確認

【Salesforce】フローが保存時にエラーになる場合の原因確認
🛡️ 超解決

Salesforceでフローを作成・編集しているときに、保存ボタンをクリックしてもエラーが発生して保存できないという問題は、初心者からベテランまで誰もが遭遇しうるトラブルです。エラーメッセージは一見すると難解に感じられますが、原因をいくつかのカテゴリに分類して確認することで、スムーズに解決できるケースがほとんどです。本記事では、フロー保存時に発生する代表的なエラーの原因を体系的に切り分け、具体的な確認手順を解説します。また、自分で解決できない場合に管理者へ報告する際の情報整理のポイントも合わせて紹介します。

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

  • 最初に見る場所: エラーメッセージに表示される詳細テキスト(エラーコードや要素名)を必ず確認します。
  • 切り分けの軸: フロー内の要素設定、権限・プロファイル、プラットフォーム制限、環境依存の4つに分けて調査します。
  • 注意点: 原因が権限やプロファイルに関わる場合、自分で修正できないことが多いため、安易に設定を変更せず管理者に連絡しましょう。

ADVERTISEMENT

エラーメッセージの見方と初期確認

エラーが発生したとき、まずは画面に表示されるメッセージ全体を読み取ることが重要です。Salesforceは比較的詳細なエラー情報を表示しますが、長いメッセージの一部分だけを見て判断すると誤った原因特定につながります。以下の手順で初期確認を行います。

  1. エラーダイアログの内容をすべてコピーする(スクリーンショットではなくテキストとして保存することをお勧めします)。
  2. メッセージ中に「Error element:」や「Field:」といったキーワードがないか探します。これにより問題の発生箇所が特定できます。
  3. エラーコード(例:FLOW_ELEMENT_ERROR、REQUIRED_FIELD_MISSINGなど)を確認します。このコードをヘルプやコミュニティで検索すると、多くの場合対処法が見つかります。
  4. フローのバージョンが複数ある場合は、どのバージョンでエラーが起きているかを確認します。編集途中のドラフトバージョンなのか、有効化済みのバージョンなのかで原因が異なることがあります。
  5. ブラウザのキャッシュやSalesforceのセッションが原因となることもあるため、一度画面をリロードしてから再度保存を試みます。それでも同様のエラーが出る場合は、根本的な問題が疑われます。

初期確認でエラーの発生箇所が大まかに分かったら、次に詳しい原因を探ります。

原因1:フロー内の要素設定ミス

最も頻度が高いのは、フローの各要素(レコード作成・更新、条件分岐、ループなど)の設定に誤りがあるケースです。特に以下の2つのパターンに注意してください。

数式や条件式の誤り

フロー内で使用する数式リソースや条件式の記述ミスは、保存時にエラーとして検出されます。例えば、数式の構文が間違っている、参照している項目が存在しない、データ型が一致しないなどです。エラーメッセージに「Formula Expression is invalid」や「Field does not exist」と表示された場合は、該当の数式を開いて構文と参照項目を一つずつ確認します。特に、カスタム項目のAPI参照名が変更されたり、削除されたりしていないかを注意深くチェックしてください。

参照関係の不整合

フロー内で別のフロー(サブフロー)を呼び出している場合や、項目参照が循環している場合も保存エラーの原因になります。例えば、AフローからBフローを呼び出し、Bフローが再びAフローを呼び出すような循環参照が発生すると、システムが無限ループを検出して保存を拒否します。また、フローで使用している項目が削除済みの場合もエラーになります。このような問題は、フローの依存関係ビュー(「依存関係の表示」機能)を使って可視化すると発見しやすくなります。

原因2:権限やプロファイル設定の問題

フローを保存するためには、ユーザが適切な権限を持っている必要があります。特にプロファイルや権限セットの設定が不足していると、保存できないことがあります。以下のポイントを確認しましょう。

ユーザ権限不足

フローの作成・編集には「フローの管理」権限が必要です。この権限がないユーザは、保存ボタンがグレーアウトするか、保存時に権限エラーが発生します。エラーメッセージに「Insufficient privileges」と表示された場合は、自分のプロファイルまたは権限セットに当該権限が含まれているかを管理者に確認してください。また、フローで操作するオブジェクトに対する「参照」「作成」「更新」などのオブジェクト権限も必要です。特にレコード更新を行うフローでは、更新対象のオブジェクトに対して編集権限が不足しているとエラーになります。

プロファイルや権限セット

組織によっては、フローの保存自体に追加の条件が設けられている場合があります。例えば、特定のプロファイルのみフローの保存を許可する設定や、IPアドレス制限がかかっているケースです。また、権限セットでフローの作成・編集権限が付与されている場合、その権限セットが有効になっているかも確認してください。管理者に依頼して、自分のユーザに割り当てられている権限を一覧で出力してもらうと確実です。

原因3:プラットフォーム制限やガバナ制限

Salesforceには、フローに関するさまざまなガバナ制限が存在します。これらの制限を超えるフローを保存しようとすると、エラーが発生します。代表的な制限としては、以下のようなものがあります。

制限項目 上限値(例) 超過時のエラーメッセージ例
フロー内の要素数 2,000個(一部エディションは異なる) The flow has too many elements
ループ内の反復回数 2,000回 Loop limit exceeded
SOQLクエリの行数 50,000行(一括処理で使用) Too many query rows
DMLステートメント数 150回 Too many DML statements

これらの制限は、フローの規模や使用状況によって変動するため、エラーが発生した場合はフローの複雑さを見直す必要があります。特に、大量のレコードを処理するバッチフローでは、ループやクエリの組み方によって制限に引っかかりやすいため注意してください。ガバナ制限に関するエラーは、ほとんどの場合、フローのロジックを簡略化することで解決します。

原因4:環境依存の問題

サンドボックスと本番環境では、設定やデータが異なるため、サンドボックスで正常に保存できたフローが本番環境ではエラーになることがあります。代表的な例として、カスタム項目やオブジェクトのAPI名が環境間で一致していない、パッケージのインストール状況が異なる、権限設定が違うなどが挙げられます。また、本番環境ではフローの保存に加えて「有効化」まで行う必要がある場合があり、有効化時にエラーが発生することもあります。環境依存の問題を切り分けるには、エラーメッセージに表示されるオブジェクトや項目名が現在の環境に存在するかを確認し、不足している場合は管理者に環境の同期を依頼してください。また、フローを別の環境に移行する際は、Change Setやパッケージを使用して正しくデプロイされているかを確認するようにしましょう。

管理者への報告ポイントと再発防止

自分で原因を特定できず、管理者に調査を依頼する場合、以下の情報を整理して伝えるとスムーズです。

  • エラーが発生したフローの名称とバージョン(ドラフトか有効化済みか)。
  • エラーメッセージの全文(必ずテキストで提供)。
  • いつから発生しているか(新規作成時か、既存フローの編集後か)。
  • 再現手順(フローのどの操作を行った後に保存しようとしたか)。
  • 影響範囲(フローが動作しなくなった業務プロセスなど)。

また、再発防止としては、フローを作成する前に設計書を用意し、使用する項目や権限を事前にリストアップしておくことが有効です。特にカスタム項目や参照関係は、変更があった際にフローに影響がないか定期的に確認する仕組みを作るとよいでしょう。さらに、フローのバックアップとして、公開ボタンを押す前に別名でコピーを保存しておく習慣も推奨します。

よくある質問

Q1. フロー保存時に「An unexpected error occurred」とだけ表示される場合の対処法は?
A. このエラーは、システム内部の予期しない問題が原因であることが多く、ブラウザのキャッシュクリアや別のブラウザでの試行が効果的な場合があります。それでも解決しない場合は、Salesforceのサポートにケースを登録する必要があります。

Q2. フローを保存しようとすると「Missing required permission: Execute Flow」というエラーが出ます。
A. このエラーは、フローを実行する権限が不足していることを示します。保存自体ではなく、フローの有効化やテスト実行時に発生することがあります。プロファイルや権限セットで「フローの実行」権限が付与されているか確認してください。

Q3. サンドボックスでは保存できたのに、本番環境で同じフローが保存できません。
A. 環境の差異が原因です。本番環境で不足しているカスタム項目や権限がない可能性が高いです。詳細なエラーメッセージを確認し、本番環境に必要なリソースがすべて存在するか確認してください。また、変更セットでデプロイする際にエラーが発生していないかも確認しましょう。

Q4. エラーメッセージに「Element ID: xxxxx」と表示されますが、どこを修正すればよいですか?
A. そのIDは問題が発生しているフロー要素の内部IDです。フロービルダーの要素を選択したときに、URLパラメータやプロパティエディタに対応するIDが表示されることがあります。要素が視覚的に特定できない場合は、フロー定義のXML(「バージョンの詳細」からダウンロードできる)を検索すると該当要素を見つけられます。

Q5. フローの保存はできるが、有効化(アクティブ化)しようとするとエラーになります。
A. 保存時と有効化時ではチェック内容が異なります。有効化時には、フローが実際に実行可能かどうかの検証が行われます。例えば、非推奨のAPIを使用している、またはガバナ制限に抵触する可能性がある場合にエラーとなることがあります。エラーメッセージに従ってフローを修正してください。

まとめ

フローの保存エラーは、原因を要素設定、権限、ガバナ制限、環境依存の四つに分けて調査することで、効率的に解決できます。最初にエラーメッセージ全文を読み、問題の発生箇所を特定することが最も重要です。権限やプロファイルに関するエラーの場合は自己判断で変更せず、必ず管理者に確認しましょう。適切な情報を整理して報告することで、管理者の負担を減らし、迅速な解決につながります。また、日頃からフローの設計をシンプルに保ち、依存関係を可視化しておくことで、エラーを未然に防ぐことができます。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

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

ADVERTISEMENT