フローで Salesforce レコードを操作する
学習の目的
この単元を完了すると、次のことができるようになります。
- フローで Salesforce レコードをどのように操作するかを理解する。
- Salesforce レコードを作成するフローを作成する。
- Salesforce レコードを更新するフローを作成する。
始める前に
この単元では、前のバッジで学んだ内容をさらに広げます。変数についてよく知らない場合や復習が必要な場合は、「Flow Builder の基本」バッジの「フロー変数について」単元を参照してください。
Salesforce では、フローとは実際に何かを実行するフローチャートのことです。フローで何を実行できるかを見ていきましょう。
Flow Builder の効果
フローが効果を発揮するのは、ユーザーに代わって何かを自動的に実行できるという点です。たとえば、データの更新、メールの送信、レコードの承認申請、外部システムとの連携などが可能です。フローにはほぼ無限の可能性があります。
「Flow Builder の基本」モジュールでは変数について学習しましたが、変数に変更を加えても Salesforce レコードには影響しないという点に注意することが重要です。変数の変更をレコードにプッシュしたり、何らかの方法で Salesforce データを操作したりするには、データ要素を使用します。この要素では、レコードからの値の取得、レコードの作成、レコードの更新、レコードの削除など、あらゆることを実行できます。
詳しく見ていく前に、データ要素に関する次の動画をご覧ください。
1 つのレコードを最初から作成する
フローでは Salesforce のあらゆる種別のオブジェクトのレコードを作成できます。標準オブジェクトとカスタムオブジェクトに加えて、バックグラウンドオブジェクトまでも作成できます。バックグラウンドオブジェクトは見たことがない方もいるかもしれません。オブジェクトマネージャーに表示されるものであれば、そのレコードを作成できるということを覚えておいてください。取引先、取引先責任者、リード、ToDo、商談商品、サービス契約、カスタムオブジェクトなどのすべてが対象です。一部の API 限定オブジェクトも作成できますが、そのようなオブジェクトは要件が厳しかったり、下流への影響が大きかったりするため、慎重を期してください。
レコードを作成するときには、[レコードを作成] 要素をどのように設定するかに応じて、同時に 1 つのレコードまたは多数のレコードを作成できます。複数のレコードを作成するには、特種な変数 (レコードコレクション変数) が必要であるため、それについてはコレクション変数について学習するときに説明します。ここでは、1 つのレコードを作成することに焦点を絞りましょう。
Flo Smith は Pyroclastic, Inc. の Salesforce システム管理者であり、ビジネスアナリストです。このモジュールでは、あなたは Flo のチームの Salesforce システム管理者として、Flo が Pyroclastic のビジネスプロセスの一部を自動化するのに協力します。
Pyroclastic の営業マネージャーは、新しい取引先レコードの所有者に、新しい取引先に連絡するのを忘れないように通知したいと考えています。Flo はあなたに新しい取引先についてのフォローアップ ToDo を作成するフローの作成を任せました。あなたは、これを実現するために新しいフローで [レコードを作成] 要素を使用します。
Flow Builder のハンズオン
ではここで Trailhead Playground を起動して、このモジュールの手順を実行してみましょう。Trailhead Playground を開くには、ハンズオン Challenge までスクロールダウンし、[起動] をクリックします。また、ハンズオン Challenge を実行するときにも Playground を使用します。
- レコードトリガーフローを作成します。
- オブジェクト: 取引先
- フローをトリガーする条件: レコードが作成された
- Condition Requirements (条件の要件): [All Conditions Are Met (AND) (すべての条件に一致 (AND))]
- Field (項目): 種別
- Operator (演算子): Equals (次の文字列と一致する)
- 値: Prospect
- フローを最適化: アクションと関連レコード
- フローキャンバスで、[Start (開始)] 要素の後のパス上で をクリックします。[レコードを作成] を選択します。
- [Label (表示ラベル)] に
Create Follow-Up
(フォローアップの作成) と入力します。
表示ラベルはキャンバス上とフロー内で参照されるその他のすべての場所で要素の識別子となります。ですから、内容を表す名前を付けます。
- [Description (説明)] に
Create a task named Follow-Up Discovery Call, assigned to the account's owner
(取引先の所有者に割り当てられた「フォローアップディスカバリーコール」という ToDo を作成) と入力します。
- [How to set record field values (レコードの項目値の設定方法)] で [Manually (手動)] を選択します。
このオプションを選択すると、各項目の値を個別に宣言できるため、複数のソースからのデータを使用してレコードを作成する場合に便利です。
- [オブジェクト] で [ToDo] を選択します。
- 次に、[項目値を設定] で、新しい ToDo レコードに含める各項目の値を設定します。
- Field (項目): Assigned To ID (割り当て先 ID)、Value (値): Triggering Account (トリガー取引先) > Owner ID (所有者 ID) (下にスクロールして、行末に > がない [Owner ID (所有者 ID)] 項目を選択します。)
- Field (項目): Priority (優先度)、Value (値): Normal (通常)
- Field (項目): Status (状況)、Value (値): Not Started (未開始)
- Field (項目): Subject (件名)、Value (値):
Follow-Up Discovery Call
(選択リスト値を選択するのではなく、このテキストを直接入力します。)
- Field (項目): Related To ID (関連先 ID)、Value (値): Triggering Account (トリガー取引先) > Account ID (取引先 ID)
- Field (項目): Assigned To ID (割り当て先 ID)、Value (値): Triggering Account (トリガー取引先) > Owner ID (所有者 ID) (下にスクロールして、行末に > がない [Owner ID (所有者 ID)] 項目を選択します。)
- フローを保存します。[Flow Label (フローの表示ラベル)] に
Create Follow-Up on New Prospect
(新しい見込み客のフォローアップを作成) と入力します。
この方法は Flow Builder の他の多くの要素にも使用できます。
フローを説明する
先ほど追加した [レコードを作成] 要素では、[説明] 項目にテキストを入力しました。要素に説明があると、要素の横に アイコンが表示されます。アイコンにマウスポインターを置くと、要素の説明が表示されます。
できるだけ説明を入力することをお勧めします。説明によって、作成しているオートメーションが文書化されます。このテキストには、フローを開いたすべてのシステム管理者がアクセスできるため、内容を推測する必要がなく、問題のトラブルシューティングが容易になります。少しの手間で将来的に多くの時間を節約し、ストレスを軽減できます。
Trailhead の演習と Challenge では何度もコピーして貼り付けるという作業を省略するために、説明が含まれていませんが、現実の世界でベストプラクティスであることは間違いありません。
1 つのレコードを更新する
Salesforce に存在するレコードであれば、フローで編集できます。必要な作業は、どのレコードを編集するかと、どのように変更するかを指定するだけです。
Flo Smith は営業からまた別の依頼を受けました。これは、アップセルを扱う部門からのものです。その部門では活動リストを作成するためにレポートを実行していますが、取引先責任者に電話番号がないことがあります。電話番号を検索しないで済めば、営業エージェントの時間を大幅に節約できます。Flo はあなたにフローの作成を任せました。このフローでは、取引先責任者に電話番号があるかどうかをチェックし、ない場合には関連する取引先の電話番号を取引先責任者にコピーします。
フロー内でレコードを更新するには、[レコードを更新] 要素を使用します。
- レコードトリガーフローを作成します。
- Object (オブジェクト): Contact (取引先責任者)
- フローをトリガーする条件: レコードが作成された
- Condition Requirements (条件の要件): [All Conditions Are Met (AND) (すべての条件に一致 (AND))]
- Field (項目): Phone
- Operator (演算子): null
- Value (値): $GlobalConstant.True
- フローを最適化: 高速項目更新
- フローキャンバスで、[Start (開始)] 要素の後のパス上で をクリックします。[レコードを更新] を選択します。
- [Label (表示ラベル)] に、
Set Contact Phone
(取引先責任者の電話を設定) と入力します。
- [How to Find Records to Update and Set Their Values (更新するレコードを検索してその値を設定する方法)] では、選択できるオプションが [Use the contact record that triggered the flow (フローをトリガーした取引先責任者レコードを使用)] のみになっています。
- [取引先責任者の項目値をレコードに設定] で次のように設定します。
- [項目] で [Phone] を選択します。
- [値] で [$Record > Account > Phone] を選択します。
- フローを保存します。[Flow Label (フローの表示ラベル)] に
Copy Account Phone to New Contact
(取引先の電話を新しい取引先責任者にコピー) と入力します。
レコードを削除する
もちろん、どの Salesforce レコードも永遠に存在するわけではありません。ときには、竜巻のようなフローによってオズの国までレコードを飛ばしてしまう必要があります。(そこまででなくても、少なくともごみ箱までは。)フローを使用してレコードを削除するには、[レコードを削除] 要素を使用します。
[レコードを削除] 要素は [レコードを作成] 要素と [レコードを更新] レコードに似ています。[レコードを削除] 要素では、条件 (3)、オブジェクト (4)、検索条件 (5) を設定します。次に例を示します。
それだけではありません。レコードを操作する要素がもう 1 つあります。次の単元では、その要素や他の要素でどのように変数が使用されるかを見ていきましょう。
リソース