フローのアクセス権の問題を修正する
学習の目的
この単元を完了すると、次のことができるようになります。
- デバッグ機能のしくみを説明する。
- デバッグ機能を使用して破損したフローを修正する。
- 実行ユーザーとしてデバッグする。
なぜ
フローには多くの変動要素が含まれることがあります。フローが成功するには、すべての要素が正しく機能する必要があります。1 か所が破損すれば、フローはうまく動作しません。フローが破損する理由にはさまざまなものがありますが、よくある原因がいくつかあります。
- 間違った項目の使用
- 間違った変数の使用
- 実行ユーザーのオブジェクトレベルと項目レベルのセキュリティ
- SOQL クエリの過多
- null 値
心配はいりません。このような問題は特定可能で、したがって修正可能です。実際、Salesforce からフローを実行したユーザーのデフォルト言語でエラーメールが送信されます。このメールは、最後に関連フローを変更したシステム管理者、または Apex 例外メールの受信者に送信されます。このメールには、失敗でのエラーメッセージと、フローインタビューで実行された各フロー要素に関する詳細が含まれています。それを念頭において、実際に破損したフローを修正してみましょう。
問題
ユーザーの 1 人である Mario Cruz は新しく創設された役職であるシニアセールスアソシエイトに最近昇進しました。システム管理者であるあなたは、Mario からの苦情を受信しました。彼は新しい顧客情報画面フローを完了できないということです。さっそく調査しましょう。フローのトラブルシューティングを行うときには、まず Flow Builder に組み込まれているデバッグ機能を使用します。
-
歯車アイコン をクリックして、[Setup (設定)] を選択します。
- [クイック検索] ボックスに
flows
(フロー) と入力し、[Flows (フロー)] を選択します。
-
[Create New Customer (新しい顧客を作成)] をクリックします。
- フローが何を実行しようとしているかを見直します。ユーザーが画面にデータを入力すると、新しい取引先、取引先責任者、商談が作成されます。
-
[Debug (デバッグ)] をクリックします。
メモ: デバッグでは組織データが操作されます。この場合、フローインタビューが成功すると、Trailhead Playground 組織に新しい取引先、取引先責任者、商談が作成されます。フローのデバッグは Sandbox で実行することをお勧めします。
- すべての選択をそのままにして [Run (実行)] をクリックします。
デバッグ画面には、エンドユーザーに表示されるのと同じ内容が表示され、さらに右側には [Debug Details (デバッグの詳細)] が表示されている。
- 次のデータを入力します。
- Company Name (会社名):
Cloud Kicks Inc.
- Contact First Name (取引先責任者の名):
Chris
- Contact Last Name (取引先責任者の姓):
Johnnsel
- Phone Number (電話番号):
770-867-5309
- Opportunity Stage (商談フェーズ): Qualification (評価)
- Close Date (完了予定日): [そのままにする]
- Company Name (会社名):
-
[次へ] をクリックします。
- [Debug Details (デバッグの詳細)] で結果を確認します。
おや? うまくいったようです。予期しなかったことですが、あなたに対してはフローは正常に機能するようです。この文で最も重要な部分は「あなたに対しては」というところです。これは良い知らせでもあり、悪い知らせでもあります。良い知らせはフローが機能したことですが、悪い知らせはあなたのユーザーに対してはやはり想定どおりに機能しないことです。そこで次に Mario (ユーザー) の視点から問題を見てみましょう。
異なる視点
「Mario としてログインして、どうなるか見てみればよいのでしょう?」とお考えかもしれません。それは良い考えですが、それだけでは情報が足りません。あの高度なデバッグ機能を使用する必要がありますが、Mario として実行する必要があります。そのようなことができればいいのに、と思いますよね。それができるのです。最初のステップは、システム管理者が別のユーザーとしてフローをデバッグするのを許可することです。
- ブラウザーに応じて、開いている [Setup (設定)] タブに戻るか、Flow Builder の戻るボタン をクリックします。
-
歯車アイコン をクリックして、[Setup (設定)] を選択します。
- [Quick Find (クイック検索)] ボックスに
Process Automation Settings
(プロセスの自動化設定) と入力し、[Process Automation Settings (プロセスの自動化設定)] を選択します。
- [Default Workflow User (デフォルトのワークフローユーザー)] テキストボックスの横にある虫眼鏡アイコンをクリックします。
- 自分の名前を検索して選択します。
-
[Let admins debug flows as other users (システム管理者が他のユーザーとしてフローをデバッグできるようにする)] チェックボックスをオンにします。
-
[Save (保存)] をクリックします。
- [クイック検索] ボックスに
flows
(フロー) と入力し、[Flows (フロー)] を選択します。
-
[Create New Customer (新しい顧客を作成)] をクリックします。
-
[Debug (デバッグ)] をクリックします。
-
[Run flow as another user (別のユーザーとしてフローを実行)] を選択します。
- [User (ユーザー)] ボックスをクリックし、
Mario
と入力します。
-
[Mario Cruz] を選択します。
-
[Run (実行)] をクリックします。
[Debug Details (デバッグの詳細)] には実行ユーザーが Mario Cruz であることが表示されています。
- 次のデータを入力します。
- Company Name (会社名):
Ursa Major Solar
- Contact First Name (取引先責任者の名):
Grace
- Contact Last Name (取引先責任者の姓):
Yiena
- Phone Number (電話番号):
941-555-0103
- Opportunity Stage (商談フェーズ): [そのままにする]
- Close Date (完了予定日): [そのままにする]
- Company Name (会社名):
-
[次へ] をクリックします。
- 結果を確認します。
[Something went wrong (問題が発生しました)] と表示されます。[Debug Details (デバッグの詳細)] の最上部までスクロールし、フローインタビューの結果を見ていきます。この情報はシステム管理者にもメールで送信されます。
結果の詳細
-
SCREEN (画面): Enter_Customer_Information: データは正しく入力されました。
-
CREATE RECORDS (レコードを作成): Create_Account: [A record is ready to be created when the next screen, pause, or local action is executed or when the interview finishes. (次の画面、一時停止、またはローカルアクションが実行されるか、インタビューが終了すると、レコードを作成できる状態になります。)] と表示されています。これは、取引先レコードが正常に作成されるということです。
-
CREATE RECORDS (レコードを作成): Create_Contact: 取引先責任者レコードは (フローの完了時に) 正常に作成されます。
-
CREATE RECORDS (レコードを作成): Create_Opportunity: [Failed to create record. (レコードの作成に失敗しました。)] と表示されています。商談レコードが失敗しました。
商談レコードが失敗しました。なぜでしょうか? よくある原因を思い出してください。実行ユーザーのオブジェクトレベルと項目レベルのセキュリティだと考えた方は正解です。組織で項目やオブジェクトに対するユーザーのアクセスが拒否される場合、それはフローでも同じです。
Mario の新しいロールには、Salesforce 組織内で追加のアクセス権が必要です。次に行うべきことは、彼が画面フローを想定どおりに完了できるようにアクセス権を修正することです。最も問題がありそうなのはユーザープロファイルですから、そこから始めます。
アクセス付与
まず、Mario が職務に適したユーザープロファイルを持っているかどうかを確認します。
- ブラウザーに応じて、開いている [Setup (設定)] タブに戻るか、Flow Builder の戻るボタン をクリックします。
- [Quick Find (クイック検索)] ボックスに
users
(ユーザー) と入力し、[Users (ユーザー)] を選択します。
-
[Cruz, Mario] をクリックし、彼のユーザーに割り当てられたプロファイルを調べます。
[Custom: Sales Associate Profile (カスタム: セールスアソシエイトプロファイル)] と表示されていますか? 問題が見つかったようです。このプロファイルには特定の制限があり、その中には新しい商談を作成できないことも含まれています。Mario は今もこのプロファイル内のすべてに該当しますが、ただ商談を作成するアクセス権のみが必要です。
このような場合には権限セットを使用します。Mario のユーザーに「Create Opportunity (商談の作成)」権限を適用することで、このニーズに対応します。
- [クイック検索] ボックスに
permission sets
(権限セット) と入力し、[Permission Sets (権限セット)] を選択します。
-
[Create Opportunity (商談の作成)] 権限セットをクリックします。
-
[割り当ての管理] をクリックします。
-
[割り当てを追加] をクリックします。
-
[Cruz, Mario] の横のチェックボックスをオンにします。
-
[割り当て] をクリックします。
-
[完了] をクリックします。
フローに戻り、このユーザーとしてデバッグを実行して、すべてが想定どおりに機能することを確認します。
- [Setup (設定)] から、[Quick Find (クイック検索)] ボックスに
flows
(フロー) と入力し、[Flows (フロー)] を選択します。
-
[Create New Customer (新しい顧客を作成)] をクリックします。
-
[Debug (デバッグ)] をクリックします。
-
[Run flow as another user (別のユーザーとしてフローを実行)] のチェックボックスをオンにします。
- [User (ユーザー)] ボックスをクリックし、
Mario
と入力します。
-
[Mario Cruz] を選択します。
-
[Run (実行)] をクリックします。
- 必要な項目に任意のデータを入力してデバッグを完了します。
- [Debug Details (デバッグの詳細)] をもう一度表示します。お祝いの画面が表示されます。
おめでとうございます。フローが Mario Cruz にも機能するようになりました。あなたは異なるユーザーとしてフローをデバッグしただけでなく、Mario のアクセス権を修正することで、フローが Mario に対して失敗しないようにしました。次の単元では、別のフローを修正するためのその他のリソースについて学習します。次の単元に進みましょう。