Skip to main content

フローで Salesforce レコードを操作する

学習の目的

この単元を完了すると、次のことができるようになります。

  • フローで Salesforce レコードをどのように操作するかを理解する。
  • Salesforce レコードを作成するフローを作成する。
  • Salesforce レコードを更新するフローを作成する。
メモ

メモ

日本語で受講されている方へ
Challenge は日本語の Trailhead Playground で開始し、かっこ内の翻訳を参照しながら進めていってください。Challenge での評価は英語データを対象に行われるため、英語の値のみをコピーして貼り付けるようにしてください。日本語の組織で Challenge が不合格だった場合は、(1) この手順に従って [Locale (地域)] を [United States (米国)] に切り替え、(2) [Language (言語)] を [English (英語)] に切り替えてから、(3) [Check Challenge (Challenge を確認)] ボタンをクリックしてみることをお勧めします。

翻訳版 Trailhead を活用する方法の詳細は、自分の言語の Trailhead バッジを参照してください。

メモ

このバッジは、Flow Builder のスキルを習得するための過程の一部です。「Flow Builder を使用したフローの作成」トレイルでは、初めから終わりまで Flow Builder について学習します。このトレイルで推奨されるバッジの順序に従えば、プロセスの自動化に関する確固たるスキルが身に付き、Flow Builder のエキスパートになります。

始める前に

この単元では、前のバッジで学んだ内容をさらに広げます。変数についてよく知らない場合や復習が必要な場合は、「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 を作成するフローの作成を任せました。あなたは、これを実現するために新しいフローで [レコードを作成] 要素を使用します。

メモ

このバッジではレコードトリガーフローを使用します。このフローには追加の設定と機能があります。レコードトリガーフローについてまだ学習していない方のために、例の中で手順を 1 つずつ説明していきます。レコードトリガーフローの設定についての詳細は「レコードトリガーフロー」バッジを参照してください。

Flow Builder のハンズオン

ではここで Trailhead Playground を起動して、このモジュールの手順を実行してみましょう。Trailhead Playground を開くには、ハンズオン Challenge までスクロールダウンし、[起動] をクリックします。また、ハンズオン Challenge を実行するときにも Playground を使用します。

  1. レコードトリガーフローを作成します。
    • オブジェクト: 取引先
    • フローをトリガーする条件: レコードが作成された
    • Condition Requirements (条件の要件): [All Conditions Are Met (AND) (すべての条件に一致 (AND))]
    • Field (項目): 種別
    • Operator (演算子): Equals (次の文字列と一致する)
    • 値: Prospect
    • フローを最適化: アクションと関連レコード
  1. フローキャンバスで、[Start (開始)] 要素の後のパス上で 要素を追加 をクリックします。[レコードを作成] を選択します。
  2. [Label (表示ラベル)] に Create Follow-Up (フォローアップの作成) と入力します。
    表示ラベルはキャンバス上とフロー内で参照されるその他のすべての場所で要素の識別子となります。ですから、内容を表す名前を付けます。
  3. [Description (説明)] に Create a task named Follow-Up Discovery Call, assigned to the account's owner (取引先の所有者に割り当てられた「フォローアップディスカバリーコール」という ToDo を作成) と入力します。
  4. [How to set record field values (レコードの項目値の設定方法)] で [Manually (手動)] を選択します。
    このオプションを選択すると、各項目の値を個別に宣言できるため、複数のソースからのデータを使用してレコードを作成する場合に便利です。
  5. [オブジェクト] で [ToDo] を選択します。
    ステップ 3 ~ 7 に対応する [New Create Records (新規のレコードの作成)] パネル。
  6. 次に、[項目値を設定] で、新しい 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)
  7. フローを保存します。[Flow Label (フローの表示ラベル)] に Create Follow-Up on New Prospect (新しい見込み客のフォローアップを作成) と入力します。

この方法は Flow Builder の他の多くの要素にも使用できます。

フローを説明する

先ほど追加した [レコードを作成] 要素では、[説明] 項目にテキストを入力しました。要素に説明があると、要素の横に 要素の説明 アイコンが表示されます。アイコンにマウスポインターを置くと、要素の説明が表示されます。

[Create Follow-Up (フォローアップの作成)] 要素の説明: Create a task… assigned to the account's owner.

できるだけ説明を入力することをお勧めします。説明によって、作成しているオートメーションが文書化されます。このテキストには、フローを開いたすべてのシステム管理者がアクセスできるため、内容を推測する必要がなく、問題のトラブルシューティングが容易になります。少しの手間で将来的に多くの時間を節約し、ストレスを軽減できます。

Trailhead の演習と Challenge では何度もコピーして貼り付けるという作業を省略するために、説明が含まれていませんが、現実の世界でベストプラクティスであることは間違いありません。

1 つのレコードを更新する

Salesforce に存在するレコードであれば、フローで編集できます。必要な作業は、どのレコードを編集するかと、どのように変更するかを指定するだけです。

Flo Smith は営業からまた別の依頼を受けました。これは、アップセルを扱う部門からのものです。その部門では活動リストを作成するためにレポートを実行していますが、取引先責任者に電話番号がないことがあります。電話番号を検索しないで済めば、営業エージェントの時間を大幅に節約できます。Flo はあなたにフローの作成を任せました。このフローでは、取引先責任者に電話番号があるかどうかをチェックし、ない場合には関連する取引先の電話番号を取引先責任者にコピーします。

フロー内でレコードを更新するには、[レコードを更新] 要素を使用します。

  1. レコードトリガーフローを作成します。
    • Object (オブジェクト): Contact (取引先責任者)
    • フローをトリガーする条件: レコードが作成された
    • Condition Requirements (条件の要件): [All Conditions Are Met (AND) (すべての条件に一致 (AND))]
    • Field (項目): Phone
    • Operator (演算子): null
    • Value (値): $GlobalConstant.True
    • フローを最適化: 高速項目更新
  1. フローキャンバスで、[Start (開始)] 要素の後のパス上で 要素を追加 をクリックします。[レコードを更新] を選択します。
  2. [Label (表示ラベル)] に、Set Contact Phone (取引先責任者の電話を設定) と入力します。
  3. [How to Find Records to Update and Set Their Values (更新するレコードを検索してその値を設定する方法)] では、選択できるオプションが [Use the contact record that triggered the flow (フローをトリガーした取引先責任者レコードを使用)] のみになっています。
    ステップ 4 ~ 5 に対応する [New Update Records (新規のレコードの更新)] パネル。
  4. [取引先責任者の項目値をレコードに設定] で次のように設定します。
    • [項目] で [Phone] を選択します。
    • [値] で [$Record > Account > Phone] を選択します。
メモ

$Record はレコードトリガーフローでよく使用される特別な変数です。フローをトリガーしたレコードの項目が含まれています。たとえば、$Record > OwnerId はトリガーレコードの所有者を示します。フローで $Record を使用するには、リソースを選択するときに [グローバル変数] セクションから選択します。

  1. フローを保存します。[Flow Label (フローの表示ラベル)] に Copy Account Phone to New Contact (取引先の電話を新しい取引先責任者にコピー) と入力します。

レコードを削除する

もちろん、どの Salesforce レコードも永遠に存在するわけではありません。ときには、竜巻のようなフローによってオズの国までレコードを飛ばしてしまう必要があります。(そこまででなくても、少なくともごみ箱までは。)フローを使用してレコードを削除するには、[レコードを削除] 要素を使用します。

メモ

Salesforce レコードの削除は決して安易に行うべきではありません。レコードを削除する必要がある場合は、フローをユーザーに対して有効にする前に、必ず Sandbox で徹底的にテストしてください。フローが間違ったレコードを自動的に削除し始めたら困ります。

また、レコードは通常何らかの理由があって存在しているということを忘れないでください。その理由が、何らかの問題が発生した証拠というだけの場合もあります。原則として、最初から存在すべきでなかったレコードで、今後のレコードや調査にそのレコードの存在が不要である場合を除き、レコードを削除することは避けます。

[レコードを削除] 要素は [レコードを作成] 要素と [レコードを更新] レコードに似ています。[レコードを削除] 要素では、条件 (3)、オブジェクト (4)、検索条件 (5) を設定します。次に例を示します。

前述の説明に対応する [新規のレコードの削除] ウィンドウ。

それだけではありません。レコードを操作する要素がもう 1 つあります。次の単元では、その要素や他の要素でどのように変数が使用されるかを見ていきましょう。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む