ADVERTISEMENT

【Salesforce】商談フェーズの更新が想定と違う時の本番反映前の切り分け

【Salesforce】商談フェーズの更新が想定と違う時の本番反映前の切り分け
🛡️ 超解決

Salesforceの商談管理において、フェーズ更新は売上予測やパイプライン管理の根幹を担う操作です。しかし、「期待したタイミングでフェーズが変わらない」「本来変わらないはずの商談が自動更新された」といった想定外の挙動に遭遇することがあります。特に本番環境に反映する前に原因を特定しなければ、誤ったデータがレポートや予測に影響を及ぼす可能性があります。本記事では、商談フェーズ更新が想定と異なる場合に、本番反映前に実施すべき切り分け手順を具体的に解説します。開発者向けの設定変更ではなく、管理者や運用担当者が実務で使える内容に焦点を当てています。

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

  • 最初に見る場所: 商談の詳細画面の「フェーズ履歴」関連リストと、ページレイアウトに設定された「パス」の表示です。ここから手動更新か自動更新かを判断します。
  • 切り分けの軸: ユーザー操作による手動更新なのか、ワークフロールールやプロセスビルダー、フローなどの自動化機能による更新なのか、またはApexトリガによる更新なのかを切り分けます。
  • 注意点: 本番環境で自動化のテストを行うことは避けてください。必ずサンドボックスで動作を確認し、影響範囲を把握してから本番に適用してください。

ADVERTISEMENT

想定と異なるフェーズ更新の原因を分類する

商談フェーズが想定通りに更新されない原因は、大きく4つに分類できます。まずはどのカテゴリに該当するかを確かめることで、調査の方向性を絞り込めます。以下の表で各パターンを整理しました。

原因カテゴリ 具体例 確認方法
手動操作ミス ユーザーが誤ったフェーズを選択した、パス上のボタンをクリックしたつもりが別の操作になった 監査証跡レポートやフェーズ履歴の「更新者」がユーザー名かどうか確認
自動化ルールの設定不備 ワークフロールールの条件が広すぎる、プロセスビルダーの更新タイミングが誤っている 該当する商談IDでフローメモリやデバッグログを有効化して動作確認
カスタムコードのバグ Apexトリガでフェーズ更新のロジックが誤っている、テストクラスが不十分 開発者コンソールでトリガの実行ログを解析
外部連携による更新 API経由の自動更新、別システムからSalesforceへのデータ反映 REST APIのログやConnected Appのアクセス履歴を確認

この表を参考に、まずは「手動操作」か「自動更新」かを切り分けてください。自動更新であれば、次にどの自動化機能が影響しているかを特定する必要があります。

手動更新か自動更新かを切り分ける手順

まずは、問題の商談レコードで誰がいつどのようにフェーズを変更したのかを確認します。以下の手順を順に実施すると、原因の特定がスムーズになります。

  1. 商談レコードを開き、「フェーズ履歴」関連リストを表示します。ここには変更日時、変更前のフェーズ、変更後のフェーズ、更新者が記録されています。
  2. 更新者が特定のユーザー名でない場合(「自動処理」や「Admin」など)、自動化機能による更新である可能性が高いです。
  3. 同商談の「フローレコード」や「プロセスインスタンス」関連リストを確認します。自動化が実行された場合、その処理の詳細が記録されています。
  4. 商談の「パス」コンポーネントに表示されている現在のフェーズと、レコード上のフェーズ値を比較します。パスは計算式などで表示が変わることがあるため、実際の値と異なる場合は設定の見直しが必要です。
  5. もしフェーズ履歴にレコードがない場合は、フィールド履歴の設定が有効になっていない可能性があります。管理画面で「商談」オブジェクトの「フェーズ」フィールドに履歴追跡が設定されているか確認してください。

自動更新が疑われる場合の詳細確認

フェーズ履歴で自動更新が確認できたら、該当の商談に対する自動化ルールの条件を再チェックします。例えば、ワークフロールールが他の項目の変更で起動していないか、プロセスビルダーの評価タイミングが「レコードが作成または編集されたとき」で条件を満たしていないかを確認します。また、フローを使っている場合は、フローのバージョンが最新か、条件分岐が正しいかを検証してください。

ここで注意したいのは、複数の自動化が同時に動作している場合です。特にワークフロールールとプロセスビルダー、フローが同じタイミングで起動すると、意図しないフェーズ更新が発生する可能性があります。管理画面の「自動化」メニューから、関連するルールの有効・無効を切り替えて影響範囲を特定する方法も有効です。

プロセスビルダーとフローを使った自動更新の失敗パターン

自動化設定でよくある失敗パターンをいくつか紹介します。これらの事例を知っておけば、同様の問題に遭遇した際に素早く原因を特定できます。

パターン1: 評価条件の誤り

プロセスビルダーで「商談のフェーズが変更されたとき」という条件を設定した場合、条件を「以前の値」と「新しい値」で比較する必要があります。例えば、「フェーズが‘クローズ済み’に等しい」という条件だけでは、手動で変更したタイミングだけでなく、過去に変更されたレコードが再度評価される可能性があります。正しくは「以前のフェーズ≠‘クローズ済み’ かつ 新しいフェーズ=‘クローズ済み’」と指定する必要があります。

パターン2: 再帰的な更新ループ

ワークフロールールやフローで、フェーズを更新するアクションが別のルールをトリガーし、無限ループを引き起こすケースがあります。Salesforceではループ回数に制限があるため、結果的にエラーが発生したり、意図しないフェーズに固定されることがあります。この場合は、ルールの条件に「変更前の値をチェックしてから更新する」などの対処が必要です。

パターン3: フェーズの選択リスト値が変更された

商談フェーズの選択リストに新しい値が追加されたり、既存の値のラベルが変更された場合、自動化ルールで指定した古いAPI名と一致しなくなることがあります。結果としてルールが動作しなくなり、フェーズ更新が想定通りに行われないことがあります。API名は変更しないように運用ルールを定めてください。

管理者に報告・確認すべきポイント

問題を切り分けた後、適切な担当者に情報を伝えることで解決が早まります。以下の情報を整理して報告してください。

  • 再現手順: 問題が発生した商談レコードのID、操作したユーザー、操作日時、実行したアクション(ボタンクリック、データインポートなど)
  • フェーズ履歴のスクリーンショット: 変更前と変更後のフェーズ、更新者が自動処理かどうかがわかるもの
  • 自動化設定の一覧: 商談オブジェクトに対して有効なワークフロールール、プロセスビルダー、フロー、Apexトリガのリスト
  • テスト環境での挙動: サンドボックスで同じ操作を試した結果(同じ問題が発生するかどうか)
  • エラーメッセージ: もし画面にエラーが表示された場合、その全文

管理者側では、これらの情報をもとに「影響範囲の特定」「自動化ルールの一時停止」「トリガの修正」といったアクションを取ることができます。本番反映前であれば、修正用のサンドボックスを作成してそこでテストを実施してもらうよう依頼しましょう。

よくある質問(FAQ)

Q1: フェーズ更新の履歴がまったく残っていません。

フィールド履歴の設定が有効でない可能性があります。設定>オブジェクトマネージャ>商談>フィールド>フェーズで「フィールド履歴の追跡」にチェックが入っているか確認してください。チェックがなければ、管理者に依頼して有効化してもらう必要があります。

Q2: 自動化ルールを停止せずに、原因を特定する方法はありますか?

デバッグログを有効にすることで、自動化の実行結果を詳細に確認できます。設定>監査>デバッグログから、該当のユーザーもしくは自動化の実行ユーザーに対してログを取得し、その中で商談フェーズが更新された瞬間の処理をトレースしてください。

Q3: パスに表示されるフェーズと商談レコードのフェーズが異なります。どちらが正しいですか?

パスはレコードのフィールド値を参照して表示されるため、基本的には一致するはずです。ただし、パスの設定で「パスガイダンスの有効化」や「条件分岐」が設定されている場合、特定の条件で表示が切り替わることがあります。パスの設定画面で、その商談のフェーズ値がどのパスステージに対応しているかを確認してください。不一致が続くなら、パスのマッピングを見直す必要があります。

まとめ

商談フェーズの更新が想定と異なる場合、本番環境への反映前であれば、上記の切り分け手順を試すことで多くの問題は特定できます。最初にフェーズ履歴とパスを確認し、手動更新か自動更新かを判断しましょう。自動更新が疑われる場合は、ワークフロールール、プロセスビルダー、フロー、Apexトリガの順に確認を進めることで、原因を効率的に絞り込めます。管理者への報告は、再現手順と自動化設定のリストを添えることで迅速な対応が期待できます。本番運用に入る前に、必ずサンドボックスでテストを行い、影響範囲を十分に評価した上で設定を反映させてください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

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

ADVERTISEMENT