【Salesforce】Lightningメールテンプレートで関数を使おうと頑張ってみたが、できない

Salesforce

Classicメールテンプレートで差し込み項目を使う場合は

{!オブジェクト.項目}

のように書くと、レコードの値を動的に設定することができます。関数の場合も同様に

{!関数}

で記載出来ます。例えば下記のような感じで関数を使用することができます。

例① 今月を差し込みたい場合
{! MONTH(TODAY()) }

例② レコード項目に値が入っていない場合、別の文字に差し替えたい場合
{! BLANKVALUE( オブジェクト.項目, “別の値” ) }

これがLightningメールテンプレートになると、書式が変わります。
差し込み項目ピッカーで差し込み項目を指定すると

{{{ オブジェクト.項目 }}}

のような書式で設定されます。

Classicメールテンプレートの時はSML(Salesforce Merge Language)という書式でしたが、LightningメールテンプレートからはHML(Handlebars Merge Language)という書式に変わったようです。
SML から HML への Lightning メールテンプレートの変換

そしてこの書式を使用した場合の関数の使い方が不明・・
{{{ 関数 }}} のような書き方をしてみてもエラーとなり保存できません。

こんな情報も見つけてみましたが
Lightning メールテンプレートでの Salesforce Merge Language の使用

SMLの書式で記載してみると謎エラー発生。

このメールテンプレートには 2 種類の差し込み項目があります。差し込み項目を削除するか、{!object.field} 形式 (例: {!Contact.FirstName}) に置き換えてください。{{{Object.field}}} 形式で差し込み項目を挿入するには、差し込み項目ピッカーを使用します。: HTML 値

ヘルプを見ると下記のような記載があるので、いずれにしてもLightningメールテンプレートで関数の使用はできないのかもしれません(2020/1/10時点)

Lightning のメールテンプレートでは、次の種別の差し込み項目はサポートされていません。

  • {!Receiving_User.field_name}
  • {!Sending_User.field_name}
  • {!BLANKVALUE(Contact.FirstName, “Valued Customer”)}
  • {!Contact.FirstName, Valued Customer}
  • キャンペーンの差し込み項目 (リストメールでは使用不可)

とりあえずClassicメールテンプレートを使うか、オブジェクトに数式項目を作って差し込むか、というところでしょうか。

コメント

タイトルとURLをコピーしました