ADVERTISEMENT

【Salesforce】ToDoの期限で困った時の監査ログと履歴で追う方法

【Salesforce】ToDoの期限で困った時の監査ログと履歴で追う方法
🛡️ 超解決

SalesforceでToDo(アクティビティ)を活用していると、設定した期限が知らないうちに変わっていたり、意図しない日付が入力されていることに気づくことがあります。こうした期限のずれは、タスク管理の混乱やリマインダーの誤動作を招くため、迅速に原因を特定する必要があります。Salesforceには標準機能として監査ログと項目履歴が用意されており、これらを使えば誰がいつどのように期限を変更したかを追跡できます。本記事では、ToDoの期限に関する問題が発生した際に、監査ログや履歴関連リストを活用して原因を突き止める具体的な方法を解説します。

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

  • 最初に見る場所: ToDoの詳細画面にある「履歴関連リスト」または設定メニューの「監査ログ」から調査を始めてください。
  • 切り分けの軸: 変更が手動か自動か、同じユーザーか複数ユーザーか、特定のToDoのみか全体かを切り分けて原因を特定します。
  • 注意点: 監査ログの保持期間はエディションにより異なります(例:Enterprise版は180日)。また、項目履歴の追跡を有効にするには管理者の設定が必要です。

ADVERTISEMENT

ToDoの期限問題が発生する主な原因

ToDoの期限が想定と異なる場合、その原因は手動操作、自動化機能、または他システムとの連携のいずれかに分類できます。具体的な原因を把握することで、適切な調査手段を選択できます。

手動による変更

ユーザーがToDoの詳細画面から直接期限を編集したケースです。自分自身以外のユーザーが誤って変更した可能性もあります。SalesforceではToDoの編集権限があるユーザーは誰でも期限を変更できるため、意図しない変更が起こりえます。

ワークフロールールやプロセスビルダーによる自動更新

管理者が設定したワークフロールールやプロセスビルダー、フローによって、特定の条件を満たした際に期限が自動更新されることがあります。例えば、ステータスが「完了」に変わったときに対象日数を加算するようなルールです。この場合、ユーザーは気づかないうちに期限が変わっていると感じます。

他のオブジェクトとの連動(キュー・割り当てルールなど)

ToDoが特定のキューに割り当てられた際に、エスカレーションルールや割り当てルールが期限を変更することがあります。また、Approval Process(承認プロセス)の一環で期限が書き換えられることもあります。

外部システムやAPI経由の更新

他のアプリケーションがSalesforce APIを介してToDoの期限を更新する場合も考えられます。この場合、監査ログにはAPIの実行ユーザーとして統合用のユーザーが記録されます。

監査ログと履歴関連リストの基本

原因を特定するために使用する2つの主要機能を理解しておきましょう。

監査ログ(Event MonitoringまたはLogin History)

監査ログは、Salesforce組織内で発生した操作の証跡を記録する機能です。Editionによって利用できる範囲が異なりますが、Enterprise Edition以上であれば「イベント監視」または「設定監査ログ」からアクセスできます。特に「レコードの更新」イベントを確認することで、どのユーザーがいつToDoの期限(Due Date)フィールドを変更したかが分かります。

項目履歴(Field History Tracking)

項目履歴は、特定のオブジェクトの特定フィールドの変更履歴をレコードごとに追跡する機能です。ToDoオブジェクトで「活動日」(Due Date)の履歴追跡を有効にしておくと、ToDoの詳細画面にある「履歴関連リスト」に変更ログが表示されます。この機能は管理者が設定する必要がありますが、一度設定すればユーザーが簡単に確認できるメリットがあります。

監査ログで期限変更を追跡する手順

監査ログを確認するには、システム管理者権限が必要です。以下の手順はEnterprise Edition以上の組織を想定しています。

  1. 設定メニューから「監査ログ」→「イベント監視」を開きます。またはクイック検索ボックスに「Event Monitoring」と入力します。
  2. 「イベント監視分析」タブで「新規カスタムレポート」を作成します。レポートタイプは「イベント監視分析レポート」を選択します。
  3. フィルタ条件として、「イベントタイプ」に「レコードの更新」を選択し、「オブジェクト」に「Task(ToDo)」を指定します。さらに期間を問題の発生時期に絞り込みます。
  4. 列に「ユーザー名」「更新日時」「フィールド名」「旧値」「新値」を含めます。フィールド名は「ActivityDate」または「DueDate」を指定します。
  5. レポートを実行すると、該当期間内にTaskオブジェクトのActivityDateを変更した全ユーザーの操作が一覧表示されます。結果をエクスポートすればさらに分析が容易です。
  6. もし特定のToDoレコードに絞りたい場合は、フィルタに「レコードID」を追加して対象のToDoのIDを入力します。IDは問題のToDoの詳細画面URLの末尾が「00T~」で始まる18桁の文字列です。

履歴関連リストでToDoの変更履歴を確認する手順

項目履歴が有効になっている場合は、ToDoの詳細画面から直接変更履歴を確認できます。権限がなくてもユーザー自身で調べられるのが利点です。

  1. 問題のToDoレコードを開き、画面下部にある「履歴関連リスト」(通常は「活動履歴」や「Task History」という名称)を探します。
  2. 関連リストが表示されていない場合は、「関連リストの追加」ボタン(歯車アイコン)から「Task History」を選択して追加します。
  3. 履歴リストには「フィールド名」「旧値」「新値」「更新者」「更新日時」が表示されます。「ActivityDate」または「Due Date」の行に注目します。
  4. 更新者列に表示されたユーザーが実際に変更を行った人物です。自動化プロセスによる更新の場合は、更新者として「Automated Process」や特定の管理者ユーザーが表示されることがあります。
  5. もし履歴が全く表示されない場合、フィールド履歴追跡が有効になっていない可能性があります。その場合は管理者に問い合わせて有効化を依頼するか、監査ログに切り替えて調査します。

状況別比較表:監査ログ vs 履歴関連リスト

比較項目 監査ログ(Event Monitoring) 履歴関連リスト(Field History)
必要な権限 システム管理者以上 レコードへの参照権限+履歴追跡の有効化
確認可能な操作 全オブジェクト、全フィールド、自動化プロセスを含む 追跡が有効なフィールドのみ(ToDoの標準フィールドはデフォルトで有効)
保存期間 エディションにより異なる(例:Enterprise・Unlimitedは180日) 無制限(ただし、上限に達した場合は古い履歴から削除される)
操作の記録単位 APIコールやUI操作ごとに詳細なログ レコード単位のフィールド変更履歴(簡易)
ユーザーによる調査のしやすさ やや複雑(レポート作成が必要) 簡単(画面から直接確認可能)

失敗パターンとトラブルシューティング

「履歴に何も表示されない」場合

項目履歴追跡が有効になっていない可能性があります。管理者に依頼して、ToDoオブジェクトの「ActivityDate」フィールドの履歴追跡を有効にしてもらいましょう。また、既存の変更履歴は有効化後の操作からしか記録されない点に注意してください。

「監査ログに操作が記録されていない」場合

監査ログの保存期間を超えているか、イベントタイプのフィルタが正しくない可能性があります。また、操作がAPI経由の場合でも、特定のイベントタイプ(例:ApexCallout)に分類されることがあるので、いくつかのイベントを横断して確認します。

「自動化プロセスが原因だが、特定できない」場合

監査ログで更新者として「Automated Process」やシステム管理者が表示されることがあります。その場合、設定メニューの「ワークフロールール」や「プロセスビルダー」「フロー」を確認し、ToDoのActivityDateを更新するルールがないか検索します。特に条件式に日付関数を使っているルールに注意してください。

管理者へ確認すべき設定

以下の設定を管理者に確認すると、問題解決が早まります。

  • ToDoオブジェクトのフィールド履歴追跡が有効かどうか(特に「ActivityDate」)
  • 組織の監査ログ保持期間と、利用可能なログタイプ(イベント監視が有効か)
  • ToDoのActivityDateを更新するワークフロールール、プロセスビルダー、フローが存在するか
  • API統合ユーザーがいる場合、そのユーザーによる更新がないか
  • エスカレーションルールや割り当てルールの設定

管理者でない場合は、上記のポイントを問い合わせると効率的です。

よくある質問(FAQ)

Q1. 自分が変更した覚えがないのに期限が変わっていました。何が考えられますか?

ワークフロールールやプロセスビルダーによる自動更新の可能性が高いです。また、別のユーザーが手動で変更した場合も履歴に残ります。まずは履歴関連リストを確認してみてください。

Q2. 監査ログを見る権限がありません。どうすればいいですか?

システム管理者に依頼して、監査ログレポートを作成してもらい、結果を共有してもらいましょう。または、履歴関連リストで代用できるか確認します。

Q3. 履歴関連リストには「システムが更新」とだけ表示されています。詳細を知るには?

システム更新の多くはワークフロールールやトリガによるものです。監査ログを確認することで、どの自動化プロセスが実行されたか(イベントタイプ: ApexExecution, WorkflowRuleなど)を特定できます。

Q4. 過去の期限変更を一覧で確認する方法はありますか?

監査ログのレポートをエクスポートすればExcelなどで一覧分析できます。履歴関連リストはレコードごとのため、組織全体の変更を俯瞰するには監査ログが適しています。

まとめ

ToDoの期限問題に遭遇した際は、まず履歴関連リストを確認することで簡易的に原因を特定できます。もし履歴が不十分な場合や、組織全体の操作を調査したい場合は、システム管理者に依頼して監査ログを活用しましょう。自動化プロセスが原因の場合は、ワークフロールールやフローの見直しが必要です。日頃からフィールド履歴追跡を有効にしておけば、ユーザー自身で調査できる範囲が広がります。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

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

ADVERTISEMENT