【Salesforce】レコードトリガフローで商談の金額が大きい場合にメール通知する

フローについて紹介していく企画第三弾。
 
今回はレコードトリガフローを使用したデモをご紹介します。
 
第二回目「【Salesforce】フロー種別・リソース・フロー要素」はこちら
 
 

■デモ内容「商談レコードの「金額」項目が50万円を超過したら、マネージャにメール通知」

 
①フロー種別の選択画面にて「レコードトリガフロー」を選択
 
①レコードトリガフロー.png
 
 
②以下のとおり設定
 
  ・オブジェクト:商談
 
 ・フローをトリガする条件:レコードが作成または更新された
 
 ・エントリ条件:すべての条件に一致(AND)
 
  金額 より大きい 500000
 
 ・更新されたレコードでフローを実行するタイミング:条件の要件に一致するようにレコードを更新したときのみ
 
 ・フローを最適化:アクションと関連レコード
 
②開始.png
 
 
③ツールボックス>「新規リソース」よりテキストテンプレートのリソース(メール文面になります)を作成
 
③メール文面.png
 
「リソースを挿入」から動的に変化する文言を挿入できます。
 
※ちなみに画像の例では商談オブジェクト内に以下の数式項目(テキスト)を作成して、文面に挿入しています。
 
 ・商談の所有者のマネージャ名:MG__c
  Owner.Manager.LastName + Owner.Manager.FirstName
 
 ・商談レコードのリンク:RecordURL__c
  LEFT($Api.Partner_Server_URL_350,FIND("/services/Soap/",$Api.Partner_Server_URL_350)) + Id
 
 
④[+]ボタン>アクション>「メール」を選択し、アクションにて「メールを送信」を選択
 
⑤以下内容を入力
 
 ・件名:任意(件名用のリソースを用意しておくことも可能です)
 
 ・本文:③のリソースを選択
 
 ・リッチテキスト形式の本文:{!$GlobalConstant.True}
  (プレーンテキストの場合は{!$GlobalConstant.False})
 
 ・受信者アドレス (カンマ区切り):メールを通知させたいメールアドレスを入力
  (画像では商談の所有者のマネージャのメールアドレスを指定しています)
 
④メール送信.png
 
 
⑥「保存」「有効化」をクリック
 
フロー全体.png
 
 

■設定ポイント・補足

開始を設定>【更新されたレコードでフローを実行するタイミング】

 
・レコードを更新し、条件の要件に一致するたび
 更新の度に条件に一致していればフローが実行される。
 条件以外の項目が更新されたタイミングでも条件に一致していれば作動するので注意!
 
・条件の要件に一致するようにレコードを更新したときのみ(今回は条件に一致したタイミングのみメールを通知したいのでこちらを選択)
 条件に一致していないレコードが一致するように更新されたタイミングのみフローが実行される。
 フロー有効化時点で既に存在しているレコードに対しては、条件が一致している場合でも作動しないので注意!
  (既存レコードに作動させるには一度条件から外れるような更新をし、もう一度条件に一致するように更新する必要がある)
 
 

開始を設定>【フローを最適化】

 
・高速項目更新
 レコードがデータベースに保存される前に更新内容を追加する(=レコードを再保存する必要がない)ため、負荷が軽い。
 また、Apexやワークフローより早く作動する。
 ただし、「最終更新日などのレコード保存後にしか格納されない項目を利用する」「フローを起動するオブジェクト以外のオブジェクトレコードを更新する」など高速項目更新ではできないアクションもあるので注意!
 
・アクションと関連レコード
 レコードがデータベースに保存された後に作動する。
 基本的には高速項目更新を選択した方が負荷が軽いが、高速項目更新でできないアクションはこちらを選択。
 
(参考)
・保存前更新を実行するフローのレコードトリガ
https://help.salesforce.com/s/articleView?id=sf.flow_concepts_trigger_record.htm&type=5&language=ja
 
・トリガと実行の順序
https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_triggers_order_of_execution.htm
 
 

【2つのメール送信方法】

 
今回のデモ設定ではフロー内でメール通知設定を実施していますが、既存のメールアラート・メールテンプレートを使用することも可能です。
 
・既存のメールアラート+メールテンプレートを使用してメール送信
 [+]ボタン>メールアラートを送信を選択して既存のメールアラート設定を指定する方法です。
 メリット:他のフローなどにも再利用できる
 デメリット:設定箇所がたくさんあり、煩雑
 
メールアラート.png
 
・フロー内でメール送信(デモ設定の方法)
 メリット:テンプレート内にフローの変数を使用できる
 デメリット:他のフローでは利用できない、文面を変更したいときにフロー自体を変更する必要がある
  (フロー画面が見慣れていない方は最初とっつきづらいかもしれない)
 
 

■まとめ

 
今回は実際にデモ設定を試してみました。
 
今までワークフローで設定してきて、「フローはよくわからないから不安・・・」と憂鬱な方々も、一度実装してみると意外にとっつきやすいと思えるのではないでしょうか。
 
簡単なものからでも少しずつ試していって、ナレッジをためていきたいですね!