Salesforceでメールアラートを設定しても、実際に実行しようとすると「権限不足」エラーが発生してしまうことがあります。このエラーは、承認プロセスやワークフロールール、プロセスビルダーなどでメールアラートを利用する場面でよく見られます。エラーメッセージだけでは原因が特定しづらく、どこを調べればよいのか迷う方も多いでしょう。本記事では、監査ログと履歴オブジェクトを使った具体的な調査方法を、手順を追って解説します。エラーを自分で解決するための切り分け方を身につけてください。
【要点】この記事で確認すること
- 最初に見る場所: SetupAuditTrail(監査ログ)と、該当レコードの履歴オブジェクト(例:EmailMessage, FlowInterview)
- 切り分けの軸: 権限不足が「送信者権限」「テンプレート権限」「Apexクラス権限」のいずれに起因するか
- 注意点: 権限設定の変更は必ず管理者または権限セットの管理者に依頼し、個人でプロファイルを編集しない
ADVERTISEMENT
目次
メールアラートで権限不足が発生する典型的なシナリオ
シナリオ1:承認プロセスでメールアラートが失敗する
承認プロセスの最終承認ステップで、承認者や申請者にメールを送信するよう設定されている場合、メールアラートが「送信者としての権限がない」という理由で失敗することがあります。送信者として指定されるのは、多くの場合、承認プロセスを実行するユーザ(承認者自身)か、あるいは特定のユーザ(例:システム管理者)です。もしそのユーザに「メールを送信する」権限がプロファイルや権限セットで付与されていないと、エラーになります。
シナリオ2:プロセスビルダーで設定したメールアラートが動かない
プロセスビルダーのアクションとして「メールアラート」を選択した場合、実行ユーザはプロセスをトリガーしたユーザではなく、プロセスビルダーの設定で指定された「送信者」になります。ここで指定したユーザ(多くの場合はフローを保存したユーザ)に必要な権限が不足していると、エラーが発生します。また、メールテンプレートを参照する権限がないケースも多く見られます。
原因を切り分けるための3つの視点
メールアラートの権限不足を調査する際は、以下の3つの視点から原因を絞り込むと効率的です。
視点1:送信者に「メールを送信する」権限があるか
Salesforceでは、ユーザプロファイルまたは権限セットに「メールを送信する(Email)」権限が必要です。この権限がないユーザが送信者として設定されている場合、メールアラートは実行時に権限不足エラーとなります。設定>ユーザ>ユーザの詳細画面で権限セット割り当てを確認できます。
視点2:メールテンプレートへのアクセス権限があるか
メールアラートで使用されるメールテンプレートの「参照」権限が、送信者または実行ユーザに付与されている必要があります。テンプレートがフォルダに格納されている場合、そのフォルダに対するアクセス権も確認してください。設定>メールテンプレート>該当テンプレートの「割り当てられている権限セット」を確認します。
視点3:Apexメールサービスの権限(高度な設定の場合)
カスタムApexクラスを使用してメールを送信している場合は、そのクラスの実行権限が適切に付与されている必要があります。Apexクラスの権限は、プロファイルまたは権限セットの「有効なApexクラスアクセス」で設定します。監査ログで該当クラスの実行エラーがないか確認することが有効です。
監査ログを使って権限不足を追跡する手順
Salesforceの監査ログ(設定監査証跡)には、権限変更や設定変更の履歴が記録されます。以下の手順で、権限不足の原因となる変更を特定します。
- 設定(歯車アイコン)>[設定]をクリックし、クイック検索ボックスに「監査証跡」と入力します。
- 「設定監査証跡」を選択し、表示された一覧を確認します。日時、ユーザ、アクション、詳細が表示されます。
- 権限不足が発生した日時の前後に、「プロファイルの編集」や「権限セットの割り当て変更」といったアクションがないか確認します。
- 該当するアクションをクリックし、詳細を展開します。変更前と変更後の値が表示されるので、権限が削除されたり、変更されたりした箇所を特定します。
- メールアラートに関連する権限(「メールを送信する」「メールテンプレートの参照」など)が変更されていないか確認します。
- 必要に応じて、監査ログをCSVでダウンロードし、フィルタリングして分析します。
監査ログは過去180日分のみ保持されます。それより古い履歴が必要な場合は、Salesforceサポートに問い合わせるか、別途ログ管理ツールを導入する必要があります。
履歴オブジェクトでメールアラートの実行状況を確認する方法
メールアラートの実行が試みられた際に、システムは内部でさまざまなオブジェクトの履歴を記録します。以下に代表的な履歴オブジェクトとその確認手順を説明します。
SetupAuditTrail(設定監査証跡)
上記で説明した監査ログに加えて、権限変更の詳細を確認できます。特に「権限セットの割り当て」や「プロファイルの有効な権限」の変更が記録されるため、メールアラートに必要な権限がいつ変更されたかを特定できます。
EmailMessageオブジェクト
メールアラートが送信された場合、EmailMessageレコードが作成されます。ただし、権限不足で送信されなかった場合でも、エラー情報が別途記録されることがあります。関連リストとして「メールメッセージ」が存在する場合は、そのレコードを開き、ステータスやエラーメッセージを確認します。標準オブジェクトではEmailMessageの作成権限がないユーザは参照できないため、管理者権限で確認する必要があります。
ApexJob / AsyncApexJob
メールアラートがバッチ処理やキューアブルとして実行される場合、非同期ジョブの履歴が残ります。設定>監視>Apexジョブで、ジョブのステータスやエラーメッセージを確認できます。権限不足が原因でジョブが失敗している場合、エラーメッセージに「INSUFFICIENT_ACCESS_OR_READONLY」などと表示されます。
FlowInterview(プロセスビルダーの場合)
プロセスビルダーでメールアラートを使用している場合、FlowInterviewオブジェクトに実行履歴が記録されます。設定>監視>フローの監視から該当フローを選択し、インタビューの詳細を開きます。エラーがある場合は「エラーメッセージ」項目に権限不足の内容が表示されます。
失敗パターンとその対処例
| 失敗パターン | エラーメッセージの例 | 確認すべき権限 | 対処例 |
|---|---|---|---|
| 送信者にメール送信権限がない | 「送信者として指定されたユーザにメール送信権限がありません」 | メールを送信する(Email)権限 | 該当ユーザに権限セット「メール送信」などを割り当てる |
| メールテンプレートが参照不可 | 「メールテンプレートが見つからないか、アクセス権限がありません」 | テンプレートの参照権限、フォルダアクセス | テンプレートを公開フォルダに移動、または権限セットでアクセス権を付与 |
| Apexクラスの実行権限不足 | 「Apexクラスの実行に必要な権限が不足しています」 | 該当Apexクラスの実行権限 | プロファイルまたは権限セットでクラスアクセスを有効にする |
| 組織のメール送信制限に抵触 | 「1日のメール送信制限を超えました」 | 組織のメール制限(日次制限) | メール送信数を削減するか、制限値を拡大申請する |
上記の表にないエラーが発生した場合は、エラーメッセージ全文をコピーし、Salesforceのヘルプかコミュニティで検索してください。
管理者へ確認すべきポイントとよくある質問
管理者に確認すべきポイント
権限不足の原因を調査する際に、管理者へ以下の情報を伝えると解決がスムーズです。
- エラーが発生したメールアラートの名称と、それを実行したフローや承認プロセスの名称
- エラーが発生した日時(タイムゾーンを含む)
- エラーメッセージのスクリーンショットまたは全文
- 送信者として設定されているユーザ名
- 使用しているメールテンプレートの名前と、そのフォルダのアクセス設定
よくある質問
Q1: 自分でプロファイルを編集して権限を追加してもよいですか?
A: 会社のポリシーによりますが、多くの場合、プロファイルの編集はシステム管理者のみ許可されています。自分で変更すると他のユーザに影響が出る可能性があるため、必ず管理者に依頼してください。
Q2: 監査ログに権限変更の記録が残っていない場合はどうすればよいですか?
A: 権限変更が行われていない可能性があります。メールアラートの設定自体が正しいか、メールテンプレートの参照権限が初期状態では不十分でないか、あるいは実行ユーザの権限セットが正しく割り当てられているかを再確認してください。
Q3: 権限不足エラーが特定のユーザにしか発生しません。なぜですか?
A: 送信者として設定されているユーザが、権限のないユーザである可能性が高いです。また、プロセスビルダーや承認プロセスで「送信者を実行ユーザにする」設定がある場合、実行ユーザによって権限が異なります。該当ユーザの権限を個別に確認してください。
まとめ
メールアラートの権限不足エラーは、監査ログと履歴オブジェクトを適切に調査することで原因を特定できます。送信者権限、テンプレート権限、Apex権限の3軸で切り分け、SetupAuditTrailやEmailMessage、ApexJobの履歴を確認する手順を身につけてください。権限変更は管理者に依頼するのが安全です。エラーメッセージを正確に記録し、必要な情報を管理者に伝えることで迅速な解決につながります。
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Excel】文字が入っているセルの「個数」を数える!COUNTA関数の簡単な使い方
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
