tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Salesforceフローの勉強しました - Part 6 (メール送信)

前回の記事の続き。前回はメールアラートの話。今回はメール送信アクションの話です。

準備

メールテンプレートと検証用に用意するオブジェクトは前回の記事で作成したものを使います。

SFDC:Salesforceフローの勉強しました - Part 5 (メールアラート) - tyoshikawa1106のブログ

フローの作成

まずはレコードトリガフローを選択。

続いて開始条件も設定。

※ここまでは前回の記事と同じ。それと前回作ったメール送信のフローは無効化してメール送信が実行されないようにしています。


次に要素を選択でメールを送信を選択。(メールアラートを送信とは別に選択肢があります。)

※要素を選択の選択肢には作成済みのメールアラートなどの情報も表示されます。このキャプチャのシステムメールを送信とかがそうです。メールアラートの名前つけるときは名称が標準のアクションの要素とかぶらないように意識したほうが良さそうでした。


メールを送信のアクションはこんな感じ。表示ラベルとAPI名は管理しやすいように入れればOK。それ以外の用途は下記に記載します。

メールテンプレート ID

メールテンプレートを指定。Summer'23からできるようになったオプションとのこと。調べたらID文字列をそのままいれればいいみたい。


リソースの選択肢の中にはテンプレートの選択は特に無し。もしID文字列固定入力を避けるしたら、クエリでレコードをIDを取得するようにして変数に格納し、それを指定する感じだと思います。


関連レコード ID

関連レコードIDはグローバル変数経由で指定できます。今回のシステムメールオブジェクトを対象にするので、レコードIDを指定。

件名 / 本文

件名と本文は未入力。(含めないでOK)。ちなみにテンプレートIDが未入力の場合は必須項目となります。

受信者 ID

受信者IDも含めないでOK。これは宛先指定とは別で、リードや取引先責任者、個人取引先と関連付けするためのもののようです。

受信者アドレスコレクション

受信者アドレスコレクションも省略可能。送信時にメールを記録をつかうときに必要な設定っぽい。

受信者 アドレスリスト

受信者アドレスリスト。これが宛先のメールアドレスを指定する場所。省略可能という記載がありますが、受信者IDを指定していたらメールアドレスが自動で設定されるので省略できるという意味だと思います。


受信者アドレスリストはカンマ区切りでメールアドレスを複数指定できるとのこと。フロー内で変数を用意するのが本来やるべき手順だと思いますが、今回は雑に次のような感じで項目指定してみました。

・・・と雑に入れて動くかなと進めてみましたが、保存したときにエラーになりました。こういう指定の仕方はNGみたいです。


次のように変数を用意してみましたが、この書き方もNG。保存処理時に警告メッセージはでませんでしたが、そのあとの工程でエラーになりました。


変数のデータ型とか違うとかが理由でたぶんちょっとやり方があると思うけど、今回は直接文字列指定で進めてみます。

送信時にメールを記録

送信時にメールを記録を選択すると、メール送信時に活動が自動でつくられるみたいです。True/Falseで設定できます。

送信者タイプ

送信者タイプは「メール送信者のタイプ。有効な値は、CurrentUser、DefaultWorkflowUser、OrgWideEmailAddress です。デフォルト値は CurrentUser です。」ということです。実行ユーザの権限を指定できるっぽです。

送信者メールアドレス

送信者メールアドレス。「メールの送信に使用される組織のメールアドレス。送信者タイプが OrgWideEmailAddress に設定されている場合にのみ必須です。」という説明のとおり、メールアラートの組織のアドレス指定を実現するにはここで指定すればいいみたいです。


各項目の設定内容は上記のとおり。ここで一点落とし穴がありました。「メールテンプレートID」を指定して作る場合は受信者ID(取引先責任者とかとの紐付け)の指定が必要になるとのことです。


今回用意したカスタムオブジェクトには取引先責任者の参照項目を用意していたのでそれを指定してエラーを回避。まとめると取引先責任者との関連付けが無い場合はメールテンプレート指定はできないようです。


受信者IDを指定したので、ついでにメールを記録もONにしてみました。送信者アドレスは未指定(実行ユーザのアドレス)で進めてみます。


これでメールを送信アクションの設定は完了。最後に前回のメールアラートでつくったフローと同じく送信日時の更新処理も追加して完成です。

動作チェック

フローの起点となるシステムメールオブジェクトのレコードを作成。フローを呼び出します。結果としてメール送信実行を確認できました。ただ、受信者アドレスリストに指定した値は適用されませんでした。(取引先責任者のメールアドレスのみ宛先にセットされた)。カンマ区切りの文字列指定の形式なので書き方間違ってない気はしますが、受信者ID指定時には使えないなどのルールがあるのかもしれません。そうするとメールテンプレートも使えないっぽい。


一部使い方を理解しきれていないところは残りましたが、顧客へのメール送信という部分においてはだいたいやり方確認できました。活動の登録も正常に動作できてました。

メールアラートとメール送信の使い分け

フローのメール送信は二種類あったのでどっちを使えば良いのかなと確認前考えてましたが、顧客(取引先責任者/リード/個人取引先)に紐付くメール送信でメール活動の登録も実現したい場合は、メール送信を使えば良さそうです。カスタムオブジェクトや複数宛先の場合はメールアラートで良いのかなと思いました。