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

Salesforce: フローで特定のフェーズになった時に、特定のファイルが添付されている商談レコードの項目値を変更する方法

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

Salesforce: フローで特定のフェーズになった時に、特定のファイルが添付されている商談レコードの項目値を変更する方法

はじめに

こんにちは。
今回は、特定のフェーズになった時、特定のファイルが添付されている商談レコードの項目値を変更したいというケースにおけるフローの設定方法をご紹介します。

ファイルは特殊なデータ構造であるため、フローでファイルの情報を利用したい時には他のオブジェクトとは異なる手順を実施する必要があります。上記ケースのフローの作成手順を通じてご紹介していきます。

フローを作成する

1. 事前準備

まずは前提として、タイトルの「特定のフェーズになった時、特定のファイルが添付されている商談レコードの項目値を変更したい」という事項について、具体的に以下のような要件のフローの作成が求められているものとします。

要件①:「特定のフェーズになった時」
     ⇨ 項目「フェーズ」(API参照名:StageName)の値が「Value Proposition」に更新された時にフローを起動する。

要件②:「特定のファイルが添付されている商談レコードの項目値を変更したい」
     ・ 特定のファイル = ファイル名に「テスト」が含まれているファイル。
     ・ 値を変更する項目は「添付済」というチェックボックス項目。
    (API参照名:Attached__c)
     ・ ファイルが添付されている場合は「添付済」に☑︎が付き、添付されていない場合は「添付済」には何もしない。

では、上記の要件のフローを作成していきます。以下が今回作成を行うフローの全体像となります。

フローの全体像

2. フローの作成

[設定] > [フロー] > [新規フロー] を選択し、画像①の画面で[レコードトリガーフロー]を選択し[作成]をクリックします。
その後画像②の画面が表示されるので、[オブジェクト]を「商談」、[フローをトリガーする条件:]を[レコードが更新された]に設定します。

画像①
画像②

3. エントリ条件の設定

次にエントリ条件の設定を行います。
要件①「項目「フェーズ」の値が「Value Proposition」に更新された時にフローを起動する。」を満たすには、[エントリ条件を設定]でフローが起動する条件の設定を行う必要があります。
まず、画像①のように[エントリ条件を設定]内の[条件の要件]にて、[すべての条件に一致(AND)]を選択します。

画像①
画像②

そして、画像②のように条件を設定します。これでフローの要件①を満たすことができました。

*設定した条件の解説(「StageName」は「フェーズ」のAPI参照名)
条件①:項目[StageName]  演算子[次の文字列と一致する] 値[Value Proposition]
   ⇨ 「フェーズ」の値が「Value Proposition」と一致することを条件としています。

条件②:項目[StageName]  演算子[変更済み] 値[!$GlobalConstant.True]
   ⇨ 「フェーズ」の値が変更されたということを条件としています。
     条件②が無いと、商談レコードの「フェーズ」の値が「Value Proposition」である時、他の項目の更新があるたびにフローが毎回起動してしまい、
     エラーやSalesforceの挙動の遅れが生じる可能性があります。

4. 商談レコードに添付された特定のファイルを取得する

次に、要件②:「特定のファイルが添付されている商談レコードの項目値を変更したい」を満たすフローの設定を行っていきます。ファイルは特殊なデータ構造であるため、要件②を満たすには他の標準オブジェクトと異なる以下の手順を踏む必要があります。

① 商談レコードと紐づいているファイルを特定するレコードを取得する

まず、商談レコードと紐づいているファイルを特定するレコードを取得するために、「コンテンツドキュメントリンク」レコードを取得を行います。画像①のように[レコードトリガーフロー]の下の+ボタンを押し、[レコードの取得]を選択します。[レコードを取得]では、画像②のように設定を行います。

<レコード取得の条件>
[項目]:[ LinkedEntityId ](リンク済みエンティティID)
[演算子]:[次の文字列と一致する]
[値]:[ {!$Record.Id}](フローを起動した商談レコードのID)

画像①
画像②

② 商談レコードと紐づいているファイルのファイル名を取得する

取得した「コンテンツドキュメントリンク」レコードにはファイル名の情報が含まれていないため、①で取得した「コンテンツドキュメントリンク」レコードによって、さらにファイル名の情報を持つ「コンテンツドキュメント」レコードの取得を行います。
①で作成した[レコードを取得]の下の+ボタンを押し、①と同様に[レコードの取得]を選択します。[レコードの取得]では、画像③のように設定を行います。

<レコード取得の条件>

[項目]:[Id] (ContentDocument ID)
[演算子]:[次の文字列と一致する]
[値]:[{!SpecifyFileLinkedOpportunity.ContentDocumentId}]
  (①で取得した「コンテンツドキュメントリンク」レコードが持つContentDocument ID)

[項目]:[Title] (タイトル ⇨ ファイル名)
[演算子]:[次の文字列を含む]
[値]:[テスト]

画像③

③ 商談レコードに特定のファイルが添付されているかどうかチェックする

②で取得した「コンテンツドキュメント」レコードによってファイル名が取得できたので、次は特定のファイルであるかどうか、つまりファイル名に「テスト」が含まれているファイルであるかどうかをチェックします。チェックには、[決定]というフロー要素を使用します。
画像④のように②で作成した[レコードを取得]の下の+ボタンを押し、[決定]を選択します。[決定]では、画像⑤のように設定を行います。

<分岐の条件>
[リソース]:[{!GetFileTitleLinkedOppotunity.Title}] (②で取得したファイル名)
[演算子]:[次の文字列を含む]
[値]:[テスト]

②で取得した「コンテンツドキュメント」レコードが条件を満たす場合 ⇨ 結果「ファイル名に「テスト」が含まれている」へ
②で取得した「コンテンツドキュメント」レコードが条件を満たさない場合 ⇨ 結果「ファイル名に「テスト」が含まれていない」へ

画像④
画像⑤

④ 商談レコードに特定のファイルが添付されている場合にチェックをつける

フロー作成の最後の手順です。③でチェックを行った結果、ファイル名に「テスト」が含まれているファイルが商談レコードに添付されていた場合の処理を設定します。この場合、要件上「添付済」に☑︎をつける必要があるので設定を行います。
画像⑥のように③で作成した[決定]の「ファイル名に「テスト」が含まれている」」の下の+ボタンを押し、[トリガーレコードを更新]を選択します。[トリガーレコードを更新]では、画像⑦のように設定を行います。

<商談の項目値を更新>
項目[Attached__c](「添付済」のAPI参照名)⇦ 値 [{!$GlobalConstant.True}] (チェックボックスに☑︎をつける)

画像⑥
画像⑦

これでフローの設定は完了です。画面右上から[保存]を押し、[有効化]でフローを有効化します。

5. 作成したフローの確認

最後に、要件に沿って商談レコードの更新を行い、フローが機能しているか確認していきます。
[商談]で、「フェーズ」の値が「Value Proposition」以外で、「添付済」に☑︎が付いていないレコードを開きます。今回は画像①のレコードとしました。次に、こちらのレコードの[関連]タブにて、画像②のようにファイル名に「テスト」が含まれているファイルを添付します。

画像①
画像②

そして、画像③のようにフェーズの値を「Value Proposition」に変更し、レコードを更新してみます。
画像④はレコード更新後のものとなり、無事要件通りに「添付済」に☑︎が付けることができました。

画像③
画像④

まとめ

今回は「特定のフェーズになった時、特定のファイルが添付されている商談レコードの項目値を変更したい」というケースのフロー作成を通じて、フローにおけるファイルのデータの取得方法をご紹介しました。

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