Salesforce承認プロセスで特定の条件の時のみ次の承認ステップに進む。その時、承認者以外にもメール通知する方法
例えばこんな状況で使う
反社チェックの承認申請ワークフローをSalesforce承認プロセスで作成。
反社チェックの対象データが格納されているオブジェクトはカスタムオブジェクトX。
カスタムオブジェクトXのページレイアウト上に表示したカスタムボタンをクリックすると承認プロセスが開始。(画面フロー【1】)
承認ステップ①では、承認者Aが疑義なしの場合は「承認」ボタンをクリックして承認プロセス完了。
疑義ありの場合、承認者Aはカスタム項目「反社チェック状況」の選択リスト値を「疑義あり」に変更する。
カスタム項目「反社チェック状況」の選択リスト値を「疑義あり」に変更すると、承認ステップ②に進み、承認割り当てメールテンプレートに設定したテンプレートで承認者Bに通知メールが届きます。
また、申請者にも承認ステップ②に進んだことをメールで通知します。(レコードトリガーフロー【1】)
承認者Bが疑義なしの場合は「承認」ボタンをクリックして承認プロセス完了。承認者Bが疑義ありの場合は「却下」ボタンをクリックして承認プロセス完了。
実装方法
承認プロセスの設定
承認プロセスを管理するオブジェクト「カスタムオブジェクトX」を選択して承認プロセスを新規作成。
承認ステップを新規作成。
2つ目の承認ステップは、ステップに入る条件を指定します。
承認プロセスの編集>通知テンプレートで、承認ステップの開始時に承認者に通知するメールのテンプレートを指定します。
画面フロー【1】の作成と有効化
承認プロセスを開始する画面フローを作成します。
まず申請者が承認プロセスを開始するレコード画面のカスタムオブジェクトIDを取得するのですが、取得したIDを格納する変数を作成します。
ツールボックスの「新規リソース」から「リソース種別」=「変数」を選択
API参照名:recordId(Salesforceの仕様でこのように決まっているのでこのままコピペしてください)
データ型:テキスト
フロー外部での可用性:入力
「レコードを取得」要素を追加します。
「レコードを取得」要素を編集します。
先ほど作成した変数を使って、申請者が承認プロセスを開始したレコードを取得します。
次に、今回の承認プロセスの申請者データを格納するカスタム項目をカスタムオブジェクトXにて作成しておきます。
データ型 参照関係(ユーザ)
フローに戻り、要素「レコードの更新」をフローに追加します。
「レコードの更新」要素を下記のように編集し、カスタムオブジェクトXの申請者データ格納用の項目に項目値を更新します。後で申請者へメールを通知する際に使用します。
さらに要素「アクション」をフローに追加します。
アクション「承認申請」を選択
先ほど作成した変数recordIdを入力値に設定し、開始したい承認プロセスの一意の名前を入力します。
最後に要素「画面」をフローに追加します。
コンポーネントから「表示テキスト」をドラッグ&ドロップし、申請者への案内メッセージを入力します。
フローを有効化します。
画面フローを呼び出すボタンの作成
カスタムオブジェクトXのオブジェクトマネージャで新規アクションを作成します。
アクション種別 フロー
フロー 今回作成した画面フローを選択
表示ラベル ボタンに表示させたい文字列
名前 管理用の文字列
作成したアクションをページレイアウトの「Salesforce モバイルおよび Lightning Experience のアクション」に追加します。
レコードトリガーフロー【1】の作成と有効化
レコードトリガーフローで開始条件を下記のように設定します。
メールアラートを作成します。
受信者種別で関連ユーザを選択すると、先ほど画面フロー【1】の中で作成した申請者データを格納した項目が選択可能な受信者として出てくるので、右の「選択ずみメール受信者」に追加します。
レコードトリガーフローで要素「アクション」を追加します。
種別からメールアラートを選択し、先ほど作成し有効化したメールアラートが候補に出てくるので選択して完了します。
フローを有効化したら完成です。
この記事が気に入ったらサポートをしてみませんか?