ユーザーから取引先責任者情報を収集する
学習の目的
このプロジェクトでは、Flow Builder を使用して、次のことを行う画面フローを構築します。
- ユーザーから情報を取得する。
- ユーザーが入力した内容と一致するレコードが Salesforce 組織にないかクエリする。
- 一致するレコードを更新するか否かをユーザーに尋ねる。
- レコードを作成または更新する。
- 更新または作成されたレコードへのリンクを表示する。
はじめに
重複データがあれば、処理が面倒になるだけでなく、組織の整合性を損ない、Data 360 など高度なテクノロジーに対応できなくなるリスクが生じます。さらに、ユーザーをいら立たせ、混乱させることにもなります。そのため、こうした重複を防ぐ機能を追加することに多大なメリットがあります。
このバッジでは、ユーザーが新しい取引先責任者を作成し、さらにメールアドレスが同じ取引先責任者がすでに存在する場合は、ユーザーが既存の取引先責任者の更新を選択できる画面フローを作成します。
Trailhead Playground の起動
このハンズオンプロジェクトの作業は、Trailhead Playground というあなた個人の Salesforce 環境で行います。まず Trailhead にログインしてから、このページの下部にある [Launch (起動)] をクリックし、Trailhead Playground を取得してください。Playground は新しいブラウザータブまたはウィンドウで開きます。このバッジに取り組む間は Playground ウィンドウを開いたままにします。Playground で手順を完了したら、このウィンドウに戻り、ページの下部にある [Verify Step (ステップを確認)] をクリックします。
フローを作成する
- アプリケーションランチャー (
) をクリックします。
- [Search apps and items (アプリケーションまたは項目を検索)] 検索ボックスに
auto(自動) と入力し、[Automation (自動化)] をクリックします。
- [Flows (フロー)] パネルで [New (新規)] をクリックします。
- [Frequently Used (頻繁に使用)] の下で [Screen Flow (画面フロー)] を選択します。
Flow Builder キャンバスが開きます。
取引先責任者のレコード変数を作成する
最初に、フローの取引先責任者データを保存するレコード変数を作成します。この 1 つの変数に、1 人の取引先責任者のすべての項目が保存されます。すべてのデータを 1 か所に保存すれば、その後データを扱いやすくなります。
-
をクリックして、ツールボックスを表示します。
- [Manager (マネージャー)] タブで [New Resource (新規リソース)] をクリックします。
- [Resource Type (リソース種別)] で [Variable (変数)] を選択します。
- [API Name (API 参照名)] に
contact(取引先責任者) と入力します。
- [Data Type (データ型)] で [Record (レコード)] を選択します。
- [Object (オブジェクト)] に「Contact」(取引先責任者) と入力します。
-
[Done (完了)] をクリックします。
ツールボックスの [Manager (マネージャー)] タブに、contact というレコード変数が追加されます。
-
[Save (保存)] をクリックし、次の値を入力します。
- Flow Label (フローの表示ラベル):
New Contact(新規取引先責任者) - Flow API Name (フローの API 参照名):
New_Contact
- Flow Label (フローの表示ラベル):
-
[Save (保存)] をクリックします。
「開始要素に何も接続されていないため、フローを実行できません」という旨のエラーメッセージが表示されることがあります。この点はすぐに修正されるため、このエラーを気にする必要はありません。
画面要素を作成する
次に、新しい取引先責任者候補のデータを収集する画面要素を作成します。
- フローキャンバスの [Start (開始)] 要素の後のパスで
をクリックします。
-
[Screen (画面)] を選択します。
[New Screen (新規画面)] ウィンドウが開きます。
- [Screen Properties (画面のプロパティ)] ペインで、[Label (表示ラベル)] に
Contact Info(取引先責任者情報) と入力します。
[API Name (API 参照名)] は自動的にContact_Infoに設定されます。
![上記の手順に対応する [Screen Properties (画面のプロパティ)] パネル。](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/projects/build-a-simple-flow/collect-contact-info-from-your-user/images/ja-JP/70f089991006b3c0db858fd233bc6076_kix.umchnk1mpv04.png)
-
[Done (完了)] をクリックします。
キャンバスに、画面フローの [Start (開始)] 要素、[Contact Info (取引先責任者情報)] 画面、[End (終了)] 要素の 3 つが表示されます。
![[Start (開始)] 要素と [End (終了)] 要素の間に [Contact Info (取引先責任者情報)] 要素が示されている Flow Builder キャンバス。](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/projects/build-a-simple-flow/collect-contact-info-from-your-user/images/ja-JP/3876b06befaf81eae6347f6f642512de_kix.tm8a7aavl02t.png)
- フローを保存します。
画面に名前コンポーネントを追加する
画面要素には、ユーザーに情報を求めたり、表示したりするための画面コンポーネントが必要です。この場合は、画面に取引先責任者候補の情報を入力するための項目を設定する必要があります。では、取引先責任者の名前を収集する画面コンポーネントから始めましょう。
- キャンバスで、[Contact Info (取引先責任者情報)] 要素をクリックします。
[Edit Screen (編集 画面)] ウィンドウが開きます。このウィンドウを画面キャンバスということもあります。
- [Components (コンポーネント)] タブで、[Search Components (コンポーネントを検索)] ボックスに
name(名前) と入力します。
-
[Name (名前)] コンポーネントをクリックして、画面キャンバスに追加します。
この時点でプロパティペインに [Name (名前)] コンポーネントが表示されます。
- [Name (名前)] コンポーネントのプロパティペインで、[API Name (API 参照名)] に
contactNameと入力します。
- スクロールダウンして、[Advanced (詳細)] をクリックします。
-
[Manually assign variables (手動で変数を割り当て)] を選択します。
- [Store Output Values to Select Variables (選択した変数に出力値を保存)] セクションで、contact レコード変数から値を入力します。
- [First Name (名)] で、[contact] を選択して [First Name (名)] を選択します。
![上記の手順に対応する [Name (名前)] プロパティペイン。](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/projects/build-a-simple-flow/collect-contact-info-from-your-user/images/ja-JP/07ed55ba28f2fef77830885ecebdae77_kix.5yh4enirzm0y.png)
- [Last Name (姓)] で、[contact] を選択して [Last Name (姓)] を選択します。
-
[Done (完了)] をクリックします。
- フローを保存します。
画面に選択肢ルックアップコンポーネントを追加する
次に、選択肢ルックアップコンポーネントを追加して、ユーザーが取引先責任者の親取引先を選択できるようにします。
- キャンバスで、[Contact Info (取引先責任者情報)] 要素をクリックして、その画面キャンバスを開きます。
- [Components (コンポーネント)] タブで、[Choice Lookup (選択肢ルックアップ)] をクリックし、そのコンポーネントを画面キャンバスの [Name (名前)] コンポーネントのすぐ下に追加します。
この時点でプロパティペインに [Choice Lookup (選択肢ルックアップ)] コンポーネントが表示されます。
- [Choice Lookup (選択肢ルックアップ)] コンポーネントのプロパティペインに、次の値を入力します。
- [Label (表示ラベル)] に、
Account(取引先) と入力します。[API Name (API 参照名)] は自動的にAccountに設定されます。
-
[Require (必須)] チェックボックスを有効にします。
- [Let Users Select Multiple Options (ユーザーが複数のオプションを選択できるようにする)] が [No (いいえ)] に設定されていることを確認します。
- [Label (表示ラベル)] に、
- [Configure Choices (選択肢を設定)] セクションの [Choice (選択肢)] で [New Choice Resource (新規選択肢リソース)] を選択します。次の値を入力します。
- [リソース種別] で [レコード選択肢セット] を選択します。
- [API Name (API 参照名)] に
AllAccountsと入力します。
- [Object (オブジェクト)] で [Account (取引先)] を選択します。
- [Condition Requirements (条件の要件)] で、[None—Get All Account Records (なし - すべての取引先レコードを取得)] を選択します。
- [Sort Order (並び替え順)] で [Ascending (昇順)] を選択します。
- [Sort By (並べ替え基準)] で [Name (名前)] を選択します。
- [Choice Label (選択肢表示ラベル)] で [Name (名前)] を選択します。
- [データ型] で [テキスト] を選択します。
- [Choice Value (選択肢の値)] で [ID] を選択します。
- [Store More Account Field Values (取引先 項目値をさらに保存)] セクションで、次の値を入力し、ユーザーが選択する取引先の ID を contact レコード変数に保存します。
- [Field (項目)] で [Account ID (取引先 ID)] を選択します。
- [Variable (変数)] で、[contact] を選択して [Account ID (取引先 ID)] (2 つ目) を選択します。
- [Field (項目)] で [Account ID (取引先 ID)] を選択します。
- [リソース種別] で [レコード選択肢セット] を選択します。
-
[Done (完了)] をクリックして、[New Choice Resource (新規選択肢リソース)] ウィンドウを閉じます。
-
[Done (完了)] をクリックして、[Edit Screen (画面を編集)] ウィンドウを閉じます。
- フローを保存します。
画面にメールコンポーネントを追加する
最後に、メールコンポーネントを追加して、ユーザーが取引先責任者のメールアドレスを入力できるようにします。前述のとおり、この値を使用して重複する取引先責任者を見つけるため、フローでこの項目を必須にする必要があります。
- キャンバスで、[Contact Info (取引先責任者情報)] 要素をクリックして、その画面キャンバスを開きます。
- [Components (コンポーネント)] タブで、[Email (メール)] をクリックし、そのコンポーネントを画面キャンバスに追加します。
- [Email (メール)] コンポーネントのプロパティペインに、次の値を入力します。
- [API Name (API 参照名)] に
contactEmailと入力します。
- [Label (表示ラベル)] に
Email(メール) と入力します。
- [Required (必須)] で [True] を選択します。
- [API Name (API 参照名)] に
- スクロールダウンして、[Advanced (詳細)] をクリックします。
-
[Manually assign variables (手動で変数を割り当て)] を選択します。
- [Store Output Values to Select Variables (選択した変数に出力値を保存)] セクションの [Value (値)] で、[contact] を選択して [Email (メール)] を選択します。
![[Value (値)] 項目が [contact] > [Email (メール)] に設定されている、[Store Output Values to Select Variables (選択した変数に出力値を保存)] セクション。](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/projects/build-a-simple-flow/collect-contact-info-from-your-user/images/ja-JP/2c878ec09ce667a38e181dc7d3ec49db_kix.d11fjsmblkd0.png)
-
[Done (完了)] をクリックします。
- フローを保存します。
フローを実行して画面を表示する
この時点で、フローはユーザーから取引先責任者情報を収集し、その情報をフロー変数に保存できます。フローを実行するユーザーに画面がどのように表示されるのか見てみましょう。
- ツールバーで [Run (実行)] をクリックします。
- 任意の値を入力して、リストから取引先を選択し、[Finish (完了)] をクリックします。
![[First Name (名)]、[Last Name (姓)]、[Email (メール)] 項目が表示されている [New Contact (新規取引先責任者)] 画面要素。](https://res.cloudinary.com/hy4kyit2a/f_auto,fl_lossy,q_70/learn/projects/build-a-simple-flow/collect-contact-info-from-your-user/images/ja-JP/78cdcfe30c4dd07b48c2a6030e437b33_kix.8xsuwf8uj99s.png)
フローにはこの画面の後に実行する要素がないため、[Finish (完了)] をクリックしても何も起こりません。単にフローが再実行され、画面が再度表示されます。
現時点で、このフローにはユーザー入力を受け入れる画面しか表示されません。次は、ユーザーが入力した内容を組織のデータと比較するフローを設定します。
