Salesforce活用記事 レコードトリガーフロー

Salesforce: 取引先・リードの最新の次回活動予定日を表示する方法

  1. HOME >
  2. Salesforce活用記事 >
  3. レコードトリガーフロー >

Salesforce: 取引先・リードの最新の次回活動予定日を表示する方法

はじめに

こんにちは。
今回は、「取引先」・「リード」の最新の次回活動予定日を表示する方法についてご紹介します。
具体的にはフローを作成し、「取引先」・「リード」に関連する「活動」について最新の日付項目を取得することで実現可能となります。

では設定方法をご紹介していきます。

取引先・リードの最新の次回活動予定日を表示する

今回設定方法をご紹介するにあたって、以下のフローを作成していくこととします。

・「行動」レコードが新規作成・更新された時に起動
・「行動」レコードに関連付けられている「取引先」レコード・「リード」レコードのカスタム日付項目「次回活動日」に最新の次回活動日を入力する

1. フローを作成する

① レコードトリガーフローの作成を開始する

レコードトリガーフローでフローを作成していきます。[設定] > [フロー] > [新規フロー] を選択し、画像①の画面で[レコードトリガーフロー]を選択し[作成]をクリックします。

画像①

② フローの開始要素を設定する

[作成]をクリックすると、フローの開始要素の設定画面が画像②のように画面右側に表示されます。ここでは「取引先」・「リード」が関連する「行動」レコードが新規作成・更新された時に、フローが起動されるよう以下の設定を行います。

オブジェクト: 行動
フローをトリガーする条件: レコードが作成または更新された
条件の要件: 数式の評価がTrueになる
 数式*:{!$Record.ActivityDate} >= TODAY()
更新されたレコードでフローを実行するタイミング: レコードを更新し、条件の要件に一致するたび
フローを最適化: アクションと関連レコード

* 数式について
{!$Record.ActivityDate} ⇨ トリガーレコードの「日付」項目の値です。
TODAY() ⇨ TODAY関数となり、フロー実行時の日付の値が返されます。

この数式によって、トリガーレコードの「日付」項目がフロー実行時の日付より未来日である場合のみフローが実行されるようになります。

画像②

③ 行動に関連付けられているオブジェクトによって処理を分岐する

「行動」レコードには様々なオブジェクトが関連付けられます。「取引先」レコード・「リード」レコードが関連する「行動」レコードにのみ処理を行うため、「行動」レコードに関連付けられているオブジェクトを識別し、処理を分岐する設定を行います。この処理には[決定]というフロー要素を使用します。

画像③のように②で設定した[開始]の下の+ボタンを押し、[決定]を選択し設定を行っていきます。

画像③

[決定]を選択すると、画像④の画面が表示されます。初めに任意の[表示ラベル]と[API参照名]を入力します。

画像④

次にトリガーレコードに「取引先」レコード・「リード」レコードが関連付けられているかをそれぞれ識別する設定を行います。画像⑤・⑥のように[結果]の[新しい結果]タブで以下の設定を行います。

A. トリガーレコードに取引先が関連付けられている場合

表示ラベル: 取引先の場合
API参照名:Account
結果を実行する条件の要件: すべての条件に一致(AND)
  [リソース] {!$Record.WhatId}*  [演算子] 次の文字列で始まる [値] 001**
結果を実行するタイミング: 条件の要件を満たす場合

* "WhatId" について
"WhatId" は「行動」の「関連先」項目のAPI参照名であり、「行動」レコードに関連付けられている「取引先」レコードや「商談」レコードなどのIDが含まれます。
** "001" について
Salesforceでは各オブジェクトのレコードIDの最初の3文字は固定されており(「取引先」の場合は"001")、その事を利用して条件を作成しています。 なお、各オブジェクトのレコードIDの最初の3文字の一覧は、Salesforceによって推奨されているこちらのサイトから確認する事が可能です。

画像⑤
B. トリガーレコードにリードが関連付けられている場合

表示ラベル: リードの場合
API参照名:Lead
結果を実行する条件の要件: すべての条件に一致(AND)
  [リソース] {!$Record.WhoId}  [演算子] 次の文字列で始まる [値] 00Q
結果を実行するタイミング: 条件の要件を満たす場合

* "WhoId" について
"Wh0Id" は「行動」の「名前」項目のAPI参照名であり、「行動」レコードに関連付けられている「取引先責任者」レコードや「リード」レコードなどのIDが含まれます。
** "00Q" について
「リード」のレコードIDの最初の3文字は"00Q"なので、その事を利用して条件を作成しています。

画像⑥
C. トリガーレコードに取引先・リード以外のオブジェクトが関連付けられている場合

[デフォルトの結果]は「行動」レコードに「取引先」・「リード」以外のオブジェクトが関連付けられていた場合に通る分岐です。[表示ラベル]はそのことが分かるよう画像⑦のように設定します。
なお、この分岐ではフローによって処理は行いません。

画像⑦

④ 取引先・リードが関連付けられている行動を取得する

最新の次回活動日を知るために、トリガーレコードと同じ「取引先」・「リード」が関連付けられている「行動」レコードを取得していきます。③で作成した分岐「取引先の場合」・「リードの場合」それぞれに設定を行います。

画像⑧のように③で設定した[決定]の分岐の+ボタンを押し、[レコードを取得]を選択し設定を行っていきます。

画像⑧
A. 取引先の場合

[レコードを取得]をクリック後、表示される画像⑨の設定画面では以下の設定を行います。

オブジェクト: 行動
表示ラベル: 取引先が関連付けられている行動を取得
API参照名: Get_EventAssociatedWithAccount
行動レコードを絞り込み: すべての条件に一致(AND)
 [項目] WhatId [演算子] 次の文字列と一致する [値] {!$Record.WhatId} *
 [項目] ActivityDate [演算子] 以上 [値] {!$Flow.CurrentDate}**
行動レコードを並び替え: [並び替え順] 昇順 [並び替え] ActivityDate***
保存するレコード数: 最初のレコードのみ
レコードデータの保存方法:すべての項目を自動的に保存

* 1行目の条件について
「関連先」(WhatId) 項目がトリガーレコードの同項目と一致するレコードのみを取得する条件です。
** 2行目の条件について
「日付」(ActivityDate)項目がフローを実行した日付({!$Flow.CurrentDate})以降のレコードのみを取得する条件です。
*** 並び替えについて
取得したレコードを「日付」(ActivityDate)項目の値によって昇順に並び替えます。そして、[保存するレコード数]を「最初のレコードのみ」とすることで「行動」レコードの内、「日付」項目が直近となる「行動」レコードを取得することが可能となります。

画像⑨
B. リードの場合

Aと同様に[レコードを取得]をクリック後、表示される画像⑩の設定画面では以下の設定を行います。

オブジェクト: 行動
表示ラベル: リードが関連付けられている行動を取得
API参照名: Get_EventAssociatedWithLead
行動レコードを絞り込み: すべての条件に一致(AND)
 [項目] WhotId [演算子] 次の文字列と一致する [値] {!$Record.WhoId} *
 [項目] ActivityDate [演算子] 以上 [値] {!$Flow.CurrentDate}
行動レコードを並び替え: [並び替え順] 昇順 [並び替え] ActivityDate
保存するレコード数: 最初のレコードのみ
レコードデータの保存方法:すべての項目を自動的に保存

* 1行目の条件について
「名前」(WhoId) 項目がトリガーレコードの同項目と一致するレコードのみを取得する条件です。

画像⑩

⑤ 取引先・リードの日付項目に最新の次回活動日を入力する

④で行なった設定によって、トリガーレコードと同じ「取引先」・「リード」が関連付けられている「行動」レコードのうち、直近の「日付」項目の値が保存されている「行動」レコードを取得できました。ここでは「取引先」レコード・「リード」レコードのカスタム日付項目「次回活動日」に取得した「日付」項目の値を入力していきます。

画像⑪のように④で設定した[レコードを取得]の+ボタンを押し、[レコードを更新]を選択し設定を行っていきます。

画像⑪
A. 取引先の場合

[レコードを更新]をクリック後、表示される画像⑫の設定画面では以下の設定を行います。

表示ラベル:取引先レコードの次回活動日更新
API参照名: Update_NextActivityDate_Account
更新するレコードを検索してその値を設定する方法: レコードを識別する条件を指定し、項目を個別に設定
オブジェクト: 取引先
取引先レコードを絞り込み: すべての条件に一致(AND)
 [項目] Id [演算子] 次の文字列と一致する [値] {!$Record.WhatId} *
取引先 の項目値を レコード に設定
 [項目] NextActivityDate__c ** [値] {!Get_EventAssociatedWithAccount.ActivityDate}***

* 条件について
「取引先ID」 (Id)項目がトリガーレコードの「関連先」(WhatId)項目と一致するレコードのみを更新する条件です。
** "NextActivityDate__c"について
フローで更新を行う「次回活動日」項目のAPI参照名です。
*** "{!Get_EventAssociatedWithAccount.ActivityDate}"
④で取得した「活動」レコードの「日付」項目を指定しています。

画像⑫

B. リードの場合

Bと同様に[レコードを更新]をクリック後、表示される画像⑬の設定画面では以下の設定を行います。

表示ラベル:リードレコードの次回活動日更新
API参照名: Update_NextActivityDate_Lead
更新するレコードを検索してその値を設定する方法: レコードを識別する条件を指定し、項目を個別に設定
オブジェクト: リード
リードレコードを絞り込み: すべての条件に一致(AND)
 [項目] Id [演算子] 次の文字列と一致する [値] {!$Record.WhatId} *
リード の項目値を レコード に設定
 [項目] NextActivityDate__c ** [値] {!Get_EventAssociatedWithLead.ActivityDate}**

* 条件について
「リードID」 (Id)項目がトリガーレコードの「名前」(WhoId)項目と一致するレコードのみを更新する条件です。
** "{!Get_EventAssociatedWithLead.ActivityDate}"
④で取得した「活動」レコードの「日付」項目を指定しています。

画像⑬

以上で「取引先」・「リード」の最新の次回活動予定日を表示するフローの作成は完了です。[保存] をクリックして、[有効化] をクリックします。

2. 作成したフローを確認する

作成したフローによって、以下の条件を満たし「取引先」レコード・「リード」レコードを更新することができるか確認していきます。

・「行動」レコードが新規作成・更新された時に起動
・「行動」レコードに関連付けられている「取引先」レコード・「リード」レコードのカスタム日付項目「次回活動日」に最新の次回活動日を入力する

フローでは「取引先」・「リード」に対して、ほとんど同様の処理を設定したので「取引先」についてのみ確認して行くこととします。
画像①の「取引先」レコードについて、「行動」レコードを新規作成・更新していきます。

画像①

行動レコードを新規作成する場合

画像②のように画像①の「取引先」レコードに関連する「行動」レコードを作成します。

画像②

作成後、「取引先」レコードを確認すると画像③の赤枠内のように「次回活動日」項目に「行動」レコードで入力した日付が入力されていることが確認できました。

画像③

行動レコードを更新する場合

次に、画像②の「行動」レコードを更新し、画像④の赤枠内のように現在により近い日付の値とします。

画像④

作成後、画面を更新し「取引先」レコードを確認すると画像⑤の赤枠内のように「次回活動日」項目に更新した「行動」レコードの日付が入力されていることが確認できました。

画像⑤

まとめ

今回は、フローによって「取引先」・「リード」の最新の次回活動予定日を表示する方法を紹介しました。
[レコードを並び替え]を活用することで、取得したレコードの内、特定の項目について最も大きい値や小さい値をフロー内で容易に使用することが可能となります。

Salesforceに関するお悩みはありませんか?

今回ご紹介したフローをはじめとするSalesforceの機能活用について、

「調べるのに時間がかかる...」
「作ったはいいがバグが起こらないか心配...」
「Salesforceを活用したいけどそこまで手が回らない...」

などお悩み事はありませんか?

Air合同会社ではSalesforceエンジニアを一人雇うほどの業務は無いが、業務を任せたいというお客様へ月 数時間~40時間で柔軟にご利用頂けるSalesforce活用支援サービスを提供しています。
機能の実装や改善のご提案、社内での内製化支援まで、Salesforce認定資格保持者で構成される当社チームが貴社のSalesforceのお悩みを解決いたします。Salesforceをより活用し課題解決を行なっていくための手段としてぜひご検討ください。

Salesforce業務を他社に外注するイメージがわかない…という方に向け、外注する際のメリット・デメリットやSalesforce開発の流れを以下の記事で解説しています。ぜひご覧ください。
Salesforce運用保守を外注するメリット・デメリットとは?
Salesforceのノーコード・ローコード開発の流れを解説!

また、弊社では「サービスについて簡単に知りたい」「Salesforceの使い方について相談したい」などSalesforceに関する無料相談会も随時実施しています。
貴社の課題解決のお力になれるよう、Salesforce認定資格を持つ担当者が心を込めてサポートいたします。まずはお気軽に下記ボタンよりお問い合わせください。

Salesforceオンライン無料相談会​​

Air合同会社では
「サービスについて簡単に知りたい」
「Salesforceの使い方について相談したい」

など、Salesforceのお悩みに関する無料相談会を随時実施しております。

\Salesforce認定資格を持つ担当者が対応!/

無料相談のご予約はこちら ×
  • この記事を書いた人
アバター画像

Suzuki

Salesforceの認定資格「Salesforce認定アドミニストレーター」を保有しています。 IT業務経験ゼロからSalesforceに関する実務に携わってきた経験をもとに、初心者の目線に立って各種機能の活用方法や設定手順をステップバイステップでわかりやすくご紹介します。

-Salesforce活用記事, レコードトリガーフロー
-,