tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:フローでカスタム通知の送信を試してみました

フローでカスタム通知の送信を試してみました。画面ポチポチでできるでしょうと思っていたら考えてたより難しかった設定の話。

フローコアアクション: カスタム通知を送信

カスタム通知の作成

最初に設定メニューにアクセスしてカスタム通知を作成します。「設定→カスタム通知」


作成時に必要な情報はこんな感じでシンプル。

これで作成完了。今回は気にしないけど「デスクトップ + モバイル」「デスクトップのみ」「モバイルのみ」の3パターン用意する感じかな。


CustomNotificationTypeはオブジェクトです。クエリを実行してレコードIDをチェックできたりします。

どのような項目があるかはこちらで確認できます。

メタデータ API 開発者ガイド - CustomNotificationType

フローの作成

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

取引先を作成時に所有者に通知を送る設定にしてみます。なので次のような感じ。


フローの処理の中でカスタム通知種別のレコードIDが必要となります。なのでレコードを取得の要素を使って設定。


必要なのはレコードIDだけなので、取得する項目を制御してもいいかも。


オブジェクトはカスタム通知種別を選択。オブジェクト名で検索できます。


次の処理で決定要素を使ってレコードの取得判定を実施。取得できていなければ処理をスキップする。


要素を追加でカスタム通知を送信を選択。ここがメインの設定。


表示ラベルとAPI名は適当なものをセットする。カスタム通知種別 IDには先程取得したレコードIDを設定する。


次が重要。受信者IDはコレクションのテキスト型でのみ受け付けるようです。(複数人に送付するためと思います)。なので単純に$Record.所有者IDというような設定はできないようになっていました。


ここを設定するには新規リソースでテキスト型でコレクションの変数を用意します。


これで設定を受け付けるようになります。※変数への値のセットはこのあと追加します。


通知タイトルと通知本文は普通に設定できると思います。必要に応じて一度変数に格納したほうが設定しやすいかも。


送信者IDと対象IDと対象ページ参照という設定があります。対象 IDはレコードIDを設定すればよくて、これを入力する形が最低限送付できる条件のようです。今回は試しに送信者IDも設定してみます。


これでアクションの設定ができました。


あとは忘れずに先程新しく追加した受信者IDの変数に値を設定する処理を追加します。


コレクション変数なので「追加」で値セットできます。


フロー全体はこんな感じ。


フロー作成後はデバッグで想定どおりに動くかチェック。※カスタム通知種別レコードがちゃんと取得できているかの確認。

フローの動作チェック

実行条件となる取引先を新規作成する。これでカスタム通知送信がうまくいくことを確認。


設定どおりに送信されていることと、件名に埋め込んだ$Record.Nameも正常に置換されたことを確認できました。(送信者IDはどこにつかわれるのかな。)


ちなみにこの通知をクリックするとちゃんと対象の取引先ページに移動できました。フローを使ったカスタム通知の送信設定はこんな感じです。

補足

最初設定したときにカスタム通知種別 ID の欄に何を設定すればいいかわからなかったのですが、検索して参考ブログを見つけて設定方法を理解できました。まさかクエリでレコードIDを取ってこないといけないとは..。リンク先のブログ参考になりました。