画面フローを構築する
学習の目的
この単元を完了すると、次のことができるようになります。
- 簡単な画面フローを作成する。
- シンプルな画面コンポーネントを使用して質問をする。
- フロー画面に誘導情報を追加する。
ハンズオン Challenge
Flow Builder のハンズオン
ではここで Trailhead Playground を起動して、このモジュールの手順を実行してみましょう。Trailhead Playground を開くには、ハンズオン Challenge までスクロールダウンし、[起動] をクリックします。また、ハンズオン Challenge を実行するときにも Playground を使用します。
前の単元で計画したフローの詳細が下表にまとめられています。この単元では、このフローを構築します。
画面要素
ケース項目 |
必要な情報 |
使用する画面コンポーネント |
---|---|---|
説明 |
通話者による問題の詳しい説明 |
ロングテキスト |
件名 |
エージェントによる問題の要約 (ケース件名に使用) |
短いテキスト |
状況 |
通話結果: 問題が解決したか否か |
Toggle 数式: True の場合は [Status (状況)] = [Closed (クローズ)]。それ以外の場合は [Status (状況)] = [New (新規)] |
[レコードを作成] 要素
ケース項目 |
必要な情報 |
使用するリソース |
---|---|---|
取引先 ID |
現在のレコードに関連付けられている取引先 |
テキスト変数 入力で使用可能 |
取引先責任者 ID |
現在の取引先責任者レコード |
テキスト変数 入力で使用可能 |
画面フローを作成して画面要素を追加する
まず、画面フローを作成して画面を追加します。
- Flow Builder で、画面フローを作成します。
- 画面要素を追加します。
- [Screen Properties (画面のプロパティ)] ペインで、[Label (表示ラベル)] に
Questions
(質問) と入力します。
この表示ラベルは Flow Builder キャンバスに表示され、ユーザーには表示されません。ユーザーにはフローの名前が画面の上部に表示されます。
誘導テキストを追加する
続いて、画面に必要なものを追加していきます。質問する前に、サポートエージェントがお客様との会話を進めるためのスクリプトを用意します。サポートチームが適切に対応できるようにすることが目的であるため、まず誘導テキストを設定します。
- [コンポーネント] リストから [表示テキスト] を画面キャンバスにドラッグします。また、コンポーネントの名前をクリックすると、画面キャンバスの末尾にそのコンポーネントが追加されます。
- [API Name (API 参照名)] に、
SayThisText
と入力します。
- API 参照名の下に、名前のないリッチテキスト項目があります。ここにユーザーに表示するテキストを入力します。次のように入力します。
- テキストの書式を変更して、フォントを Salesforce Sans、サイズを 14 にします。1 行目の書式を明るい赤の太字に変更して、他のテキストより目立つようにします。
質問を追加する
次に、サポートエージェントが回答する質問を追加しましょう。
- サポートエージェントが通話者の問題を説明する十分なスペースを確保するために、ロングテキストコンポーネントを追加します。
- [コンポーネント] リストから [ロングテキストエリア] を画面キャンバスにドラッグします。
- [Label (表示ラベル)] に、
Problem Description
(問題の説明) と入力します。
- [Long Text Area (ロングテキストエリア)] プロパティで、[API Name (API 参照名)] に
ScreenDescription
と入力します。
そう、ここでは表示ラベルと API 表示名が一致しない画面コンポーネントを作成しているのですよね。フローのユーザーが理解しやすい表示ラベルと、自分や他のシステム管理者にわかりやすい API 表示名で画面コンポーネントを作成するのが妥当という場合もあります。
-
[Require (必須)] チェックボックスをオンにして、ユーザーがこの質問に回答しないとフローを完了できないようにします。
- エージェントがケース件名を入力する、テキストの質問を追加します。
- [コンポーネント] リストから [テキスト] を画面キャンバスにドラッグします。
- [Text (テキスト)] プロパティで、[Label (表示ラベル)] に
Case Subject
(ケース件名) と入力します。
- [API Name (API 参照名)] に、
ScreenSubject
と入力します。
後で混同しないように、ここでは一意の名前にしています。
-
[Require (必須)] チェックボックスをオンにします。
- サポートエージェントが通話中にお客様の問題を解決した場合は、ケースの作成と同時にクローズする切り替えを追加します。
- [コンポーネント] リストから [切り替え] を画面キャンバスにドラッグします。
- [API Name (API 参照名)] に、
CloseCase
と入力します。
- [Label (表示ラベル)] に、
Were you able to solve the customer's problem during this call?
(連絡窓口) と入力します。 - [Active Label ([Active (有効)] の表示ラベル)] に、
Yes, Solved
(はい、解決しました) と入力します。
- [Inactive Label ([Inactive (無効)] の表示ラベル)] に、
No, Not Solved
(いいえ、解決していません) と入力します。
-
[Done (完了)] をクリックして画面要素を閉じます。
これで 3 つの質問をする画面が出来上がりました。
回答に基づいてケースを作成する
画面要素にユーザーが入力する [説明]、[件名]、[状況] ([Solved (解決済み)] または [Not Solved (未解決)]) が設定されました。次は、切り替えの [True] と [False] 値をそれぞれ [クローズ] と [New (新規)] に変換する数式を作成しますが、1 つ問題があります。(またです!)切り替えから直接ユーザーの選択肢を取得することができません。そのため、次の方法で切り替えの値プロパティを参照する必要があります。
また、現在の取引先責任者レコードの取引先 ID と取引先責任者 ID を使用するために、フローに各 ID を受け入れる変数が必要です。
- 数式リソースを作成します。
- API 参照名:
frmStatus
- データ型: テキスト
- 数式:
IF({!CloseCase.value} = TRUE, "Closed", "New")
- 現在の取引先責任者の ID を受け取る変数を作成します。
- API 参照名:
inputContactId
- データ型: テキスト
-
[Available for input (入力で使用可能)] を選択
- 現在の取引先責任者の取引先を受け取る変数を作成します。
- API 参照名:
inputAccountId
- データ型: テキスト
-
[Available for input (入力で使用可能)] を選択
- 画面要素の後に、ケースを作成する [レコードを作成] 要素を追加します。
- 表示ラベル:
Create Case
(取引先責任者を取得) - レコード項目値の設定方法: 手動
- Object (オブジェクト): Case (ケース)
- 項目値を設定:
- Field (項目): Account ID (取引先 ID)、Value (値):inputAccountId
- Field (項目): Contact ID (取引先責任者 ID)、Value (値):inputContactId
- Field (項目): Description (説明)、Value (値):Questions (質問) > Problem Description (問題の説明)
- Field (項目): Status、値: frmStatus
- Field (項目): Subject (件名)、Value (値):Questions (質問) > Case Subject (ケース 件名)
- フローを保存します。[Label (表示ラベル)] に、
Create Case for Contact
(取引先責任者のケースを作成) と入力します。
ツールボックスとフローキャンバスは次のようになります。
リソース
- Salesforce ヘルプ: フロー要素: 画面
- Salesforce ヘルプ: 標準フロー画面コンポーネント
- Salesforce ヘルプ: フロー画面入力コンポーネント: 切り替え
- Trailhead: 画面フローの配布