Administrator 練習問題 Q181
Cloud Kicks のプラットフォーム管理者は、顧客から問題に関する問い合わせがあった際にサービス担当者が同じ質問をできるようにするための画面フローを作成しました。この画面はケースから表示できる必要があります。管理者はこの画面フローをどのように配布すればよいでしょうか?
左の○で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
1つ選択してください(0/1)
正答:C. ライトニングページ
解説
前提知識
画面フロー(Screen Flow)とは
フローは、Salesforceの標準機能で作る自動化の仕組みです。その中でも画面フローは、ユーザーに画面(質問・入力欄・選択肢)を出しながら、対話形式で処理を進めるタイプのフローを指します。 「サポート担当者が顧客に毎回同じ質問をする」という今回の要件は、まさに画面フローの得意分野です。質問の順番や分岐をフロー側で固定できるので、担当者ごとのヒアリング品質のばらつきがなくなります。 画面フローは作っただけでは誰も使えません。どこかに置いて(配布して)、初めてユーザーが起動できるようになります。この「置き場所を決める作業」を配布(distribution)と呼びます。
Lightningページとは
Lightning Experienceの画面は、Lightningアプリケーションビルダーという設定画面で組み立てます。そこで作った画面がLightningページです。種類は3つあります。
- レコードページ:ケースや取引先など、1件のレコードを開いたときの画面
- アプリケーションページ:タブとして開く独立した画面
- ホームページ:ログイン後の最初の画面 Lightningページは「コンポーネント」という部品をドラッグして並べる作りになっており、その部品の一つにフローコンポーネントがあります。ここに画面フローを指定することで、ページ上にフローを埋め込めます。
ページレイアウトとは
ページレイアウトは、レコード画面にどの項目を、どの順番で、どのセクションに表示するかを決める、Classic時代からある設定です。項目・関連リスト・ボタンの配置は決められますが、フローのようなコンポーネントを置くことはできません。ここがページレイアウトとLightningページの決定的な違いです。
設問の状況を分解する
- 管理者は画面フローをすでに作成済み。→ 残っている作業は「配布」だけです。
- 使う人はサービス担当者。→ 特別な権限を持たない一般ユーザーが、通常業務の画面から起動できる必要があります。
- 「この画面はケースから表示できる必要がある」。→ ケースのレコードページ上に置く、という指定です。 つまり問われているのは「画面フローをレコード画面に出す手段は何か」という一点です。答えは、LightningアプリケーションビルダーでケースのLightningレコードページを編集し、フローコンポーネントを配置することです。 初学者が誤解しやすいのは、「レコード画面の見た目=ページレイアウト」と思い込んでしまう点です。Lightning Experienceでは、画面の骨格はLightningページが決め、その中の「レコード詳細」部分の項目並びだけをページレイアウトが決めています。役割が二層に分かれていると覚えてください。
選択肢の検討
A. ページレイアウト → ✕
ページレイアウトに置けるのは項目・セクション・関連リスト・ボタンだけで、フローコンポーネントは選択肢に存在しません。これが正解になる場面は、「ケース画面に項目を追加したい」「項目を必須にしたい」「関連リストを並べ替えたい」という要件のときです。
B. ホームページ → ✕
ホームページもLightningページの一種なので、フローコンポーネント自体は置けます。しかし、ホームページは特定のレコードを開いている状態ではないため、どのケースについての質問なのかをフローに渡せません。設問の「ケースから表示できる必要がある」を満たせないため不正解です。これが正解になる場面は、「特定のレコードに紐づかない汎用フロー(例:全社アンケート、備品申請)を全員に使わせたい」ときです。
C. ライトニングページ → ⭕ 正解
ケースのLightningレコードページにフローコンポーネントを配置すれば、担当者はケースを開いたまま同じ画面上でフローを起動できます。さらに、フローコンポーネントの設定でレコードIDをフローに渡すことができるため、「今開いているケース」に紐づけて回答を保存することも可能です。要件と手段が完全に一致します。
D. コンポーネントフィルター → △(惜しいが不正解)
コンポーネントの表示フィルター(コンポーネントの可視性)は、Lightningページに置いた部品に対して「この条件のときだけ表示する」という条件を付ける機能です。Lightningページに置いた後の絞り込みであって、配布手段そのものではありません。順番として、まずLightningページに置かなければフィルターを設定する対象すら存在しません。これが正解になる場面は、「レコードタイプがXのケースのときだけ、このフローを表示したい」という追加要件が出たときです。
管理者としての対処手順
- フローを有効化する(有効化していないフローはコンポーネントの選択肢に出てきません)。
- ケースレコードを1件開き、右上の歯車アイコンから**[編集ページ]**を選択する(または[設定]→クイック検索で「アプリケーションビルダー」→対象のケースレコードページを編集)。
- 左側のコンポーネント一覧から**[フロー]**をキャンバス上の置きたい位置にドラッグする。
- 右側のプロパティで、対象の画面フローを選択する。
- [レコードIDを渡す](recordId)を有効にして、開いているケースの情報をフローに渡す。
- [保存]→[有効化]。組織のデフォルト、アプリ単位、プロファイル単位など、割り当て範囲を指定する。
- サービス担当者のユーザーで実際にケースを開き、フローが表示・起動できるかを確認する。
画面フローの主な配布先
| 配布先 | 使いどころ | レコードの情報を渡せるか |
|---|---|---|
| Lightningページ(レコードページ) | レコードを見ながら常時表示したい | 渡せる |
| クイックアクション | ボタンを押したときだけモーダルで出したい | 渡せる |
| ユーティリティバー | 画面下部から常にすぐ呼び出したい | 渡せない |
| Lightningページ(ホーム/アプリケーションページ) | レコードに紐づかない汎用処理 | 渡せない |
| Experience Cloudサイト | 社外ユーザーに使わせたい | 設定次第 |
あわせて覚えておきたいポイント
- フローの種類と配布可否はセットで覚える:画面フローは人が操作する前提なので画面に置きます。レコードトリガーフローはレコードの保存をきっかけに裏で動くため、画面に置く必要はありません。「画面フロー=置き場所が必要」と覚えると迷いません。
- ユーザーにフローの実行権限が必要:一般ユーザーがフローを起動できない場合、プロファイルの「フローを実行」権限や、フローの実行モード(システムコンテキストで実行するか)を確認します。画面には出ているのにエラーになるケースの典型的な原因です。
- Classicとの違い:Salesforce Classicでは、フローを画面に出すためにVisualforceページを作ってページレイアウトに埋め込む必要がありました。Lightning Experienceではその手間がなくなり、設定だけで配置できます。試験では「Lightningでの標準的なやり方」が問われます。
- 最初の画面をデータ処理より先に置く:Lightningページへ埋め込んだ画面フローはページ読み込み時に開始されるため、ユーザーが操作する前にレコード更新などの処理が実行されないよう、最初の要素は「画面」にしておくと安全です。
出典(Salesforce公式)
- Embed a Screen Flow in a Lightning Page — 「Lightningアプリケーションビルダーで Lightning ページを開き、左側の Lightning コンポーネントペインから[フロー]コンポーネントをキャンバスにドラッグする」(本問の決定的根拠)
- Display a Flow on a Page in Your Salesforce Org(Trailhead) — 「有効化したフローを Lightning ページに追加する手順。取引先のレコードページを例に、[フロー]コンポーネントをドラッグして対象フローを選び、保存・有効化・割り当てを行う」
- Create Custom Record Pages for Lightning Experience(Trailhead) — Lightningレコードページはアプリケーションビルダーでコンポーネントを配置して作成し、プロファイルやレコードタイプ単位で割り当てられること
- Use an Online Form to Create a Record Example — ケースレコードページへ画面フローを追加し、開いているケースを
recordId変数へ渡す具体例を裏付ける。 - Visibility Rules on Lightning Pages — コンポーネントフィルターが、配置済みコンポーネントの表示・非表示を条件制御する機能であり、配置手段そのものではないことを裏付ける。