はじめに
Salesforce には、登録ユーザーの物理削除機能が無いため、不要となったユーザーは無効化することが必要です。ただし、ユーザーを無効化する時にはいくつかの注意点があり、公式ヘルプページに載っていないものもありました。
実際に私が対応に苦戦したポイントについて、お伝えします。今後のユーザー管理の参考になれば幸いです。
ユーザーを無効化する時の注意点
Salesforce のヘルプページには、以下のようないくつかの注意点が挙げられています。
- カスタム階層フィールドで選択されているユーザーは無効化できない
- ワークフローメールアラートの受信者に割り当てられているユーザーは無効化できない
- カスタマーポータルとして選択されたユーザーは無効化できない
- 無効化されたユーザーが所有するファイルは削除できない
※Salesforce のヘルプページ(ユーザーを無効化する時の注意点)
https://help.salesforce.com/s/articleView?id=sf.users_deactivate_considerations.htm&type=5
Salesforce のヘルプページに記載されている上記の4点以外にも、ユーザーの無効化で注意が必要な点がありました。私が実際に体験した以下の2点です。
- スケジュール済みジョブの実行者となっているユーザーを無効化する場合
- ダッシュボードの実行者となっているユーザーを無効化する場合
スケジュール済みジョブの実行者となっているユーザーを無効化する場合
Salesforce ではApex バッチクラスの処理をスケジュール実行させる登録が可能です。
スケジュール済みジョブを登録する時、登録作業を行ったユーザーがジョブの実行者として設定されます。

対象のユーザーを無効化した場合、そのタイミングでは、エラーやメッセージの表示はありません。
しかし、登録されたスケジュールの時刻を迎えた時に、実行者が無効のため、ジョブ実行時にエラーが発生します。Apexジョブのメッセージ “INACTIVE_OWNER_OR_USER” より、実行ユーザーが無効であることがエラーの原因だと確認できます。

ダッシュボードの実行者となっているユーザーを無効化する場合
ダッシュボードの設定にて、ダッシュボード表示時の実行者を以下の中から選択可能です。
- 自分(ダッシュボード作成者)
- 別のユーザー(任意のユーザーを設定)
- ダッシュボード閲覧者

「自分」もしくは「別のユーザー」で設定したユーザーを無効したタイミングでは、エラーやメッセージの表示はありません。しかし、ユーザーを無効化した後に対象のダッシュボードの表示を更新すると、ダッシュボードの内容が閲覧不可になります。

おわりに
今回ご紹介した2つのパターンでは、ユーザーを無効化したタイミングではエラーやメッセージの表示はなく、ユーザーを無効化した後に対象の操作を行うことでエラーが発生します。
ユーザーの設定画面や検索画面でもヒットせず、私自身も無効化を実施後にダッシュボードを更新しようとした時や、スケジュール実行によって生成するはずのレコードが見つからないことで、本事象を発見しました。
もしかしたら、今回ご紹介したパターン以外にもユーザーの無効化で注意をしないといけない点があるかもしれません。各機能のユーザーに関する設定箇所を忘れないように一覧化することをお勧めします。
今後もSalesforce 開発の中で、困った点やその改善策などを共有していこうと思います。
投稿者プロフィール

-
2020年頃よりSalesforce の学習を始めました。
Apex によるバックエンド処理や、Visualforce 画面などを用いた開発業務を行っています。
日々進化するSalesforce での開発における、便利な方法を皆さまと共有できればと思います。
最新の投稿
Salesforce2025.01.23【Salesforce】ユーザーを無効化する時に注意すべきポイント2つを紹介
Salesforce2024.07.01【Salesforce】注意!CSV出力時のデータ型ごとの出力形式の違い
Salesforce2024.01.19【Salesforce】非同期処理の大量のデータを他システムへ連携するためのDataspider Cloud 活用例
Salesforce2023.05.24【Salesforce】Apex処理のガバナ制限におけるヒープサイズ制限による「System.LimitException: Batchable instance is too big」エラーの回避方法について