Salesforce Flowで自動化処理を構築していると、特定の条件分岐でエラーが発生したり、レコードの参照や更新ができずに処理が止まってしまうことがあります。特に、フローがキューやスケジュールで実行される場合、実行ユーザの権限が不足していると、想定通りに分岐が動作しないケースが少なくありません。この記事では、フローの分岐で権限不足が原因となる症状と、権限セットおよび共有設定の確認手順を具体的に解説します。
【要点】この記事で確認すること
- 最初に見る場所: フローの実行ユーザ(デフォルトではフローを保存したユーザ)と、そのユーザがどの権限セット/プロファイルを持つかを確認します。
- 切り分けの軸: フローの「参照・更新・作成・削除」が許可されているか(オブジェクト権限・項目権限)、およびレコードの共有設定(組織の共有モデル・共有ルール)が正しいかを確認します。
- 注意点: 会社の運用上、一般ユーザに強い権限を割り当てられない場合があるため、管理者に相談の上で権限セットの追加や「キューでの実行」設定の見直しを検討してください。
ADVERTISEMENT
目次
権限不足が原因でフローの分岐が正しく動作しないケース
フローの分岐条件には、レコードの項目値を参照する数式や、ルックアップ関係を辿る条件がよく使われます。例えば、取引先責任者の役職が「マネージャ」の場合にのみ承認フローを起動する、といった分岐です。このとき、フローの実行ユーザが「取引先責任者」オブジェクトへの参照権限を持っていないと、条件式が常にfalseとして評価されたり、エラーが発生してフローが停止します。また、フローが特定のレコードを更新しようとした際に、共有設定が原因で書き込み権限がないと、更新アクションが失敗します。これらの不具合は、ユーザインタフェースから操作していないために気付きにくく、原因特定に時間がかかりがちです。
典型的な症状と具体例
よくある症状として、フローのテスト実行時には正常に動くのに、実際のトリガー(レコード作成時など)では分岐が正しく動かない、というものがあります。テスト実行はフローの作成者(多くの場合はシステム管理者)が行うため権限が十分ですが、実運用ではフローが自動的に実行され、その実行ユーザの権限が不足するからです。例えば、商談の金額が一定額を超えた場合に「承認待ち」ステータスに更新するフローで、一般ユーザが商談の編集権限を持っていないと、更新アクションが失敗します。また、共有設定によって他のユーザの商談レコードを読み取れない状態では、参照条件がfalseになり、正常な分岐が行われません。
原因を切り分けるためのチェックポイント
権限不足の原因を特定するためには、以下の3つの観点から確認を進めます。
| 確認項目 | 確認方法 | 権限不足のサイン |
|---|---|---|
| フローの実行ユーザ | フローの設定で「キューでの実行」が有効か、またはフローを保存したユーザを確認 | フローの実行ログで「Insufficient Privileges」エラーが表示 |
| オブジェクト権限・項目権限 | 権限セットまたはプロファイルの設定を確認 | フローがレコードを読み取れない、更新できない |
| 共有設定 | 組織の共有設定、共有ルール、手動共有を確認 | ユーザのレコードがフローから見えない |
失敗パターン:権限セットの「有効化」を忘れている
権限セットを作成し、必要なオブジェクト権限を与えても、その権限セットをユーザに割り当てるだけでは不十分な場合があります。権限セットで「システム権限」や「アプリケーション権限」を有効化する必要があるケースがあります。例えば、フローで「フローをトリガーするためのアクセス」権限が付与されていないと、トリガーフローが実行されません。また、権限セットの設定後、反映に数分かかることもあります。必ず権限セットの「割り当て」画面で対象ユーザに割り当てていることを確認し、さらに権限セットの設定ページで該当する権限が有効(チェックが入っている)になっているかを確認してください。
権限セットと共有設定の具体的な確認手順
実際に作業を行う際の流れを、手順としてまとめました。システム管理者権限が必要な操作もありますので、必要に応じて管理者に依頼してください。
- フローの設定画面を開き、「フローの詳細」から「実行ユーザ」が誰になっているかを確認します。デフォルトではフローを作成したユーザですが、「キューの実行を許可」がオンになっている場合、キューが割り当てられたユーザで実行されます。
- 実行ユーザが持っているプロファイルまたは権限セットを確認します。設定 > ユーザ > ユーザ詳細から、割り当てられている権限セットの一覧を表示します。
- 権限セットの編集画面で、フローが操作するオブジェクト(例:商談、取引先)の「読み取り」「作成」「編集」「削除」権限がONになっているか確認します。参照のみのフローであれば読み取りだけで十分です。
- 共有設定を確認します。設定 > 共有設定 > 共有ルールで、実行ユーザが目的のレコードを参照できるルールが存在するか確認します。特に「明示的な共有」がない場合、組織の共有モデルが「非公開」であれば他のユーザのレコードは見えません。
- フローのデバッグログを確認します。設定 > フロー > フローの実行履歴から、エラーになったフローインスタンスを開き、「Flow Interview Details」で「Insufficient Privileges」などのエラーメッセージを探します。エラーが特定の要素で発生していれば、その要素に関連するオブジェクトの権限が不足している可能性が高いです。
管理者に確認すべき情報と伝え方
一般ユーザがフローの権限不足に遭遇した場合、管理者に以下の情報を伝えるとスムーズです。
- どのフローでエラーが発生したか(フロー名とAPI名)
- いつエラーが起きたか(時間とトリガーレコード)
- エラーメッセージのスクリーンショット(「Insufficient Privileges」など)
- フローが操作しようとしているオブジェクトと項目
- 現在の権限セットやプロファイルの情報(管理者が確認できるので省略可能)
これらを事前にまとめておくことで、管理者の調査時間を短縮できます。また、権限セットの追加を依頼する際には、最小限の権限で済むように、フローで必要なオブジェクトと操作だけをリストアップすると良いでしょう。
よくある質問(FAQ)
フローのテスト実行では動くのに、トリガーで動かないのはなぜですか?
テスト実行はフローの作成者権限で実行されるため、実際の実行ユーザ(多くの場合はキューや自動起動のユーザ)とは権限が異なります。必ず「キューでの実行」を設定している場合は、そのキューに割り当てられたユーザの権限を確認してください。
権限セットを追加したのに反映されません
権限セットの割り当てが正しく行われているか再確認してください。また、Salesforceのキャッシュが更新されるまで数分かかることがあります。それでも解決しない場合は、権限セット内の「システム権限」で「フローの実行」権限が有効になっているか確認してください。
共有設定を変更しないといけない範囲はどのくらいですか?
フローがアクセスするレコードが自分のレコードのみであれば共有設定の変更は不要です。他のユーザのレコードにアクセスする必要がある場合は、共有ルールで実行ユーザに参照権限を与えるか、権限セットで「すべてのデータの参照」権限(モデレート範囲)を付与する方法もあります。ただし、後者はセキュリティリスクが高いため、運用に合わせて検討してください。
まとめ
Salesforce Flowの分岐で権限不足が疑われる場合、まずはフローの実行ユーザを特定し、そのユーザのオブジェクト権限と共有設定を確認することが重要です。エラーログに表示される「Insufficient Privileges」は最も明確なサインです。権限セットの割り当てや共有ルールの追加で大半のケースは解決できますが、キューでの実行を使っている場合は特に注意が必要です。運用開始前に権限のテストを済ませておくことで、本番でのトラブルを未然に防げます。管理者と連携して、適切な権限設定を整えてください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
