KanaLog~かなさんのSalesforce関連ログ~

自称「Salesforceキャンペーン芸人」のKanaさんの活動記録です。Salesforce Developer Group TokyoとService Cloud Trailblazersに運営として参加しています。

承認プロセスの否認時に申請者にメールが飛ばないのを何とかしてみた

この記事は「Salesforce Advent Calendar 2023」の4日目の記事です。

qiita.com

 

皆さんご無沙汰しております。
最近はSalesforceの標準機能がリッチなばかりに開発者なのにほぼノーコード+フロー開発を行っております、かなさんです。
今回は承認プロセスで最近実現した機能の話をしたいと思います。

●メールの宛先に申請者がない問題
Salesforceにはいろいろな標準機能が存在します。
承認プロセスもその一つで、商談や経費申請などのにおける承認処理を自動化することができます。
申請が承認・却下された際に通知のメールを自動で送ることができ、送信先にはレコードの所有者や作成者を指定することが可能です。
ただ残念なことに、承認プロセスの申請者は指定することができません。
※メール受信者(メールの宛先)に承認申請関連の項目はない

 

●なければ作ろう申請者項目
メールの送信先にカスタムで作成したユーザ項目は設定可能です。
そのため、承認申請の開始時に操作ユーザを予め作成した「承認申請者」項目(ユーザの参照項目)に設定し、否認時には「承認申請者」宛にメールを送信することとしました。
ただ、承認プロセスで使用できる「項目自動更新」ではユーザー項目に動的な値が設定できませんでした。

 

●結局どうしたのか
「項目自動更新」とフロートリガの合わせ技で「承認申請者」項目を設定することができました。
順書は以下の通りです。
1.承認申請開始時に「項目自動更新」で対象レコードの何れかの項目を更新する
※今回は承認申請中かどうか判定用のカスタム項目「承認申請中フラグ」(チェックボックス)を作成し、申請開始時にTrue、最終承認・最終却下・取り消し時にFalseとしています

 

2.新規のフロートリガを作成し、1.により起動させる
※開始条件は申請開始時のみ合致するもので、今回は「承認申請中フラグ」項目がTrueになった場合のみを指定

 

3.フロートリガの処理で「承認申請者」(ユーザーの参照項目)に実行ユーザーを設定する
※ユーザのIdを設定

 

4.メールの宛先(メール受信者)に作成した「承認申請者」項目を設定します
※受信者種別「関連ユーザ」を指定することで、指定したオブジェクトに存在するユーザ項目を表示可能

 

以上の設定により、以下の承認プロセスでは申請が却下された場合、
承認申請者にメールが送信されます。
これで却下時の見落としも減って承認がはかどりますね。

 

●まとめ
いかがだったでしょうか。
承認申請はレコードの作成者や所有者以外からも可能なため、参考になれば幸いです。