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

Salesforce: 活動に関連付けられた複数の取引先責任者レコードを更新する方法

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

Salesforce: 活動に関連付けられた複数の取引先責任者レコードを更新する方法

はじめに

こんにちは。
今回は、活動に関連付けられた複数の取引先責任者レコードを更新する方法についてご紹介します。
前提として、Salesforceの設定でShared Activitiesの有効化を行なっており、ユーザが活動に複数の取引先責任者を関連付けることが可能である場合にご紹介する設定を実施することが可能です。

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

活動に関連付けられた複数の取引先責任者レコードを更新する

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

・「ToDo」レコードが新規作成された時に起動
・「ToDo」の「名前」項目に関連付けられている「取引先責任者」レコードのカスタムチェックボックス項目「新規ToDoあり」にチェックをつける

1. フローを作成する

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

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

画像①

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

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

オブジェクト: ToDo
フローをトリガーする条件: レコードが作成された
条件の要件: すべての条件に一致(AND)
[項目] WhoId * [演算子] 次の文字列で始まる [値] 003 **
フローを最適化: アクションと関連レコード

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

画像①

③ ToDo 担当リレーションレコードを取得する

トリガーレコードに関連付けられている「取引先責任者」のレコードIDを取得していきます。そのために、「ToDo 担当リレーション」というオブジェクトにIDが保存されているので、初めにこのオブジェクトのレコードの取得を行います。

②で設定した開始要素の下にある[ + ]をクリックし、画像③のように[レコードの取得]を選択します。

画像③

その後表示される画像④の設定画面では以下の設定を行います。

オブジェクト: ToDo 担当リレーション
表示ラベル: ToDo 担当リレーションレコード取得
API参照名: Get_TaskWhoRelationRecord
ToDo 担当リレーションレコードを絞り込み: すべての条件に一致(AND)
 [項目] TaskId * [演算子] 次の文字列と一致する [値] {!$Record.Id} **
ToDo 担当リレーションレコードを並び替え: 並び替えなし
保存するレコード数: すべてのレコード
レコードデータの保存方法:すべての項目を自動的に保存

* "TaskId" について
"TaskId" には関連する「ToDo」のレコードIDが保存されています。
** "{!$Record.Id}" について
"{!$Record.Id}" はトリガーレコードのレコードIDが保存されています。

画像④

④ 取得したレコードに対してループ処理を行う

この後行う「取引先責任者」レコードの更新で使用するために、③で取得した「ToDo 担当リレーション」レコードに保存されている「取引先責任者」のレコードIDをテキストコレクション変数に保存していきます。
「ToDo 担当リレーション」レコードは複数存在している場合があり、個々のレコードに対して変数に保存する処理を行う必要があります。このような反復処理にはフローの[ループ]要素を使用します。

③で設定した[レコードを取得]要素の下にある[ + ]をクリックし、画像⑤のように[ループ]を選択します。

画像⑤

その後表示される画像⑥の設定画面では以下の設定を行います。

表示ラベル: 取得したレコードをループ
API参照名:Loop_TaskWhoRelationRecord
コレクション変数を選択: {!Get_TaskWhoRelationRecord} ⇨ ③で取得した「ToDo 担当リレーション」レコード
コレクションを反復処理するための方向を指定します。: 最初の項目から最後の項目へ

画像⑥
A. 取得したレコードの取引先責任者IDを変数に割り当てる

[ループ]で行う反復処理として、「ToDo 担当リレーション」レコードに保存されている「取引先責任者」のレコードIDを変数に保存する処理を設定していきます。

④で設定した[ループ]要素の下にある[ + ]をクリックし、画像⑦のように[割り当て]を選択します。

画像⑦

設定画面が表示されたら[変数値を設定]の[変数を検索...]ボックスをクリックし、表示される[ + 新規リソース]をクリックし変数を作成します。画像⑧の画面が表示されるので、以下のように入力を行い[完了]をクリックします。

リソース種別:変数
API参照名:TextCollectionVar_ContactIds
データ型:テキスト
複数の値を許可(コレクション):チェックをつける

画像⑧

変数を作成したら、[割り当て]の設定画面では画像⑨のように以下の設定を行います。

表示ラベル: 取得したレコードの取引責任者IDを変数に割り当て
API参照名: Set_ContactIds_TextCollectionVar
変数値を設定
[変数] {!TextCollectionVar_ContactIds} [演算子] 追加 [値] {!Loop_TaskWhoRelationRecord.RelationId}*

* {!Loop_TaskWhoRelationRecord.RelationId} について
{!Loop_TaskWhoRelationRecord.RelationId} は③で取得した「ToDo 担当リレーション」レコードの「リレーションID」項目です。この項目には「取引先責任者」のレコードIDが保存されています。

画像⑨

⑤ 取引先責任者レコードを更新する

④のループ処理によって、テキストコレクション変数へトリガーレコードに関連付けられている「取引先責任者」のレコードIDが保存されました。
これらのレコードIDと一致する「取引先責任者」レコードのカスタムチェックボックス項目「新規ToDoあり」にチェックをつける更新を行なっていきます。

④で設定した[ループ]要素の[最後の項目の後]の下にある[ + ]をクリックし、画像⑩のように[レコードを更新]を選択します。

画像⑩

その後表示される画像⑪の設定画面では以下の設定を行います。以上で活動に関連付けられた複数の取引先責任者レコードを更新するフローの作成は完了です。[保存] をクリックして、[有効化] をクリックします。

表示ラベル: 取引先責任者レコード更新
API参照名: Update_ContactRecords
更新するレコードを検索してその値を設定する方法: レコードを識別する条件を指定し、項目を個別に設定
オブジェクト: 取引先責任者
取引先責任者レコードを絞り込み: すべての条件に一致(AND)
 [項目] Id [演算子] 次に含まれる [値] {!TextCollectionVar_ContactIds} *
取引先責任者 の項目値を レコード に設定
 [項目] NewToDo__c ** [値] {!$GlobalConstant.True}

* "{!TextCollectionVar_ContactIds}" について
④で作成したテキストコレクション変数です。トリガーレコードに関連付けられている「取引先責任者」のレコードIDが保存されています。
** "NewToDo__c"について
フローで更新を行う「新規ToDoあり」項目のAPI参照名です。

画像⑪

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

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

・「ToDo」レコードが新規作成された時に起動
・「ToDo」の「名前」項目に関連付けられている「取引先責任者」レコードのカスタムチェックボックス項目「新規ToDoあり」にチェックをつける

確認には、画像①・②の「取引先責任者」レコードを使用します。

画像①
画像②

画像③の入力内容で画像①・②の「取引先責任者」レコードに関連する「ToDo」レコードを新規作成します。

画像③

作成後、「取引先責任者」レコードをそれぞれ確認すると画像④・⑤の赤枠内のように「新規ToDoあり」にチェックを入っていることが確認できました。

画像④
画像⑤

まとめ

今回は、フローによって活動に関連付けられた複数の取引先責任者レコードを更新する方法を紹介しました。
設定で使用した「ToDo 担当リレーション」はShared Activitiesを有効化した場合のみ使用可能なオブジェクトとなります。少々複雑な手順とはなりますが、このオブジェクトを使用することで複数の取引先責任者レコードに対して処理を行うことが可能となるので把握しておくと有用です。

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活用記事, レコードトリガーフロー
-, ,