承認プロセスとは
日常の業務において、上司による承認が必要な手続きは多々あります。
業務内容によっては、手続きに必要な資料を作成して、上司に確認を依頼(承認申請)し、上司は申請を確認・承認します。
この一連の承認に関わる処理を「承認プロセス」と呼び、Salesforceの承認プロセスの機能を利用することで、自動化・効率化することができます。
Salesforceの承認プロセス機能では、承認を実施する対象ユーザや、承認するにあたって必要な前提条件などを細かく設定することができます。
承認プロセスで設定する事
承認プロセスを作成していくには、下記の要素を作成していく必要があります。
開始条件
承認プロセスを開始するための条件です。
開始条件を設定しておくことで、以下のようなメリットがあります。
- 無駄な再申請の手間を省く
- 大前提となる条件を設定することで、承認申請前に対象のレコードがそもそも承認対象になるかどうかを区別できるため、人による確認にかかる余計な時間と手間を削減することが出来ます。
- どの承認プロセスを通すか振り分ける
- 複数承認プロセスを作成し、開始条件をそれぞれ設定しておくことで、どの承認プロセスを通すかを、申請時に自動で識別させることもできます。
例えば、請求に関わる承認プロセスで、金額の大きさに応じて承認ステップ数を変えることなどが可能です。
- 複数承認プロセスを作成し、開始条件をそれぞれ設定しておくことで、どの承認プロセスを通すかを、申請時に自動で識別させることもできます。
申請時の通知テンプレート
承認担当者に対し、承認申請が割り当てられたことを通知するメールテンプレートを設定します。
ここで設定したテンプレートは、各承認ステップで使用されます。
承認ステップ
承認は、何段階かのステップを経て行わせることができます。
各承認ステップでは、承認申請時に割り当てられる承認ユーザや、承認時・却下時のアクションを設定できます。
最終承認時のアクション
承認申請の最終承認がされた場合に実行されるアクションを設定できます。
項目自動更新や、メールアラートなどのアクションを使用できます。
最終却下時のアクション
承認申請が最終却下された場合に実行されるアクションを設定できます。
最終承認時アクションと同様のアクションを使用できます。
取り消しアクション
承認申請を申請者が取り消した場合に実行されるアクションを設定できます。
最終承認時アクションと同様のアクションを使用できます。
承認プロセス設定手順
今回作成するデモ承認プロセスの仕様
今回は、以下のような仕様の承認プロセスを作成します。
承認プロセス開始条件
- 申請者は、申請内容を確認したら、項目「申請前確認」にチェックをつけてから承認申請する
- 「申請前確認」にチェックが付いていない場合は、承認プロセスに入らない
承認ステップ数
- 承認ステップは2ステップとする
- ステップ1:承認者は内容を確認し、問題なければ項目「上司確認」にチェックをつけ承認する
- ステップ2:承認者は内容を確認し、問題なければ項目「課長確認」にチェックをつけ承認する
アクション
- 承認申請時
- 次の承認者(マネージャ)に、承認申請された旨をメールで通知する(メールアラート)
- 申請したレコードはロック(編集不可)される
- 承認ステップ1 承認時
- レコード所有者(申請者)に、承認された旨をメールで通知する(メールアラート)
- 承認ステップ2 承認時
- レコード所有者(申請者)に、承認された旨をメールで通知する(メールアラート)
- 承認ステップ2における承認をもって、最終承認とする
- 最終承認時
- レコードをロック(編集不可)する
- 項目「承認済み」にチェックを付ける(項目自動更新)
- 申請却下時
- レコード所有者(申請者)に、承認が却下された旨をメールで通知する(メールアラート)
- レコードのロックを解除する
- 申請取り消し時
- レコードのロックを解除する
事前準備
ユーザの作成
承認プロセスを回すため、下記3ユーザを用意します。
(ただ動作確認をするだけなら、承認者を自分にして、1ユーザでも承認プロセスを回すことも可能ですが、今回は実際の業務を想定してそれぞれユーザを準備します)
- 承認申請をするユーザ:ここでは「テストユーザ1」を作成
- 申請を承認するユーザ(その1):ここでは「上司1」を作成
- 申請を承認するユーザ(その2):ここでは「課長1」を作成

また、承認申請をした際、申請をしたユーザの「マネージャ」項目に設定したユーザを次の承認者に割り当てます。
そのため、「テストユーザ1」のマネージャを「上司1」、「上司1」のマネージャを「課長1」に設定します。


ユーザの作成手順については、こちらの記事を参照してください。
メールテンプレートの作成
承認申請を申請した時・承認された時・却下された時、それぞれの通知のために、メールテンプレートを作成しておきます。
メールテンプレートは「設定」⇒「メール」⇒「Classicメールテンプレート」から作成できます。
承認申請時に、承認者へ届くメール↓

承認された際に、レコード所有者(申請者)へ届くメール↓

却下された際に、レコード所有者(申請者)へ届くメール↓

メールアラートの作成
承認プロセスでは、承認時・却下時・取り消し時には、アクションを設定することが出来ます。
今回の例では、承認時と却下時にメールアラートを実行するため、あらかじめメールアラートを作成しておきます。
(※承認プロセスの作成途中でも、メールアラートの作成は可能です。)


項目自動更新の作成
上で述べたように、承認プロセスではアクションを設定できます。
今回の例では、最終承認されたことの証明として、項目「承認済み」に自動でチェックが入る項目自動更新を設定します。

承認プロセス作成
- 設定のホームから「承認プロセス」を押下し、承認プロセスを作成するオブジェクトを選択する(②)。
その後、「承認プロセスの新規作成」(③)を押下し、「標準ウィザードを使用」(④)を押下する。
- 承認プロセス名等の基本となる情報を入力し、「次へ」を押下する

- 承認プロセスを開始するための条件を設定し、「次へ」を押下する
※「次の場合にこの承認プロセスを使用」(①)で”条件が一致する“を選択する
※今回の例では、下記2条件を共に満たす場合のみ、承認プロセスを開始するよう設定する
・チェックボックス項目「申請前確認条件」にチェックが付いていること
・チェックボックス項目「承認済み」にチェックが付いていないこと
- 承認者と編集権限を設定し、「次へ」を押下する
※「割り当て先として使用するユーザ項目」に”マネージャ“を選択
※「[オブジェクト名] 所有者の承認者項目を使用」にチェックを付ける
※「編集権限のプロパティ」は割り当てられている承認者もレコード編集できるようにする(下の選択肢を選択)
- 承認割り当てメールテンプレートに、あらかじめ作成しておいてメールテンプレートを選択し、「次へ」を押下する

- 承認画面に配置する項目(承認ページレイアウト)を設定し、「次へ」を押下する
※承認者に承認画面で確認させたい項目を、①で設定します
※②でチェックを付けることで、承認履歴も合わせて表示することができます
※③のセキュリティ設定は推奨設定にしておきます
- 承認申請の実行を許可するユーザを設定し、「保存」を押下する
※今回は、システム管理者ユーザとレコードの所有者が承認申請できるように設定します
- 2番目の選択肢を選択し、「Go!」を押下する
※「はい、承認ステップを…」を選択すれば、そのまま承認ステップの作成に進めます
※今回は一旦作成している承認プロセスの状態を確認するため、後で作成を選択します
承認ステップ設定
- 承認プロセス画面で「新規承認ステップ」を押下する

- 承認ステップ名などの基本情報を入力し、「次へ」を押下する

- 承認ステップに入る条件を数式で設定するよう選択し(①)、条件となる数式を入力して(②)、「次へ」(③)を押下する
※条件に合わない場合は、レコードを却下するように設定します(①)
※今回の例では、「テキスト」項目が空白の場合は自動で即却下されるように設定しています(②)
(承認ステップで設定するような条件ではないような気がしますが…)
- 承認者にマネージャを選択し、「代理承認者もこの申請を承認可能にする」にチェックをつけて、「保存」を押下する

- アクション設定は「後で設定する」を選択し、「Go!」を押下する

- 作成した承認ステップの「アクションを表示」を押下し、承認時のアクションで「既存アクションの追加」を押下する

- アクション種別で「メールアラート」を選択し、事前に作成した承認メールを送信するメールアラートを「選択済みのアクション」に追加して、保存を押下する

- アクションが追加されたことを確認し、「新規承認ステップ」を押下する
※2つ目の承認ステップを作成していきます
- 承認ステップの基本情報を入力し、「次へ」を押下する

- 今度はステップ条件を「条件が一致する」に設定し、条件を設定して「次へ」を押下する
※ここでは、項目「上司確認」がチェックされている場合に、この承認ステップに入れるよう設定します
- 承認者をマネージャに割り当て、「保存」を押下する
※却下時の処理は、一番目の選択肢(却下された場合、最終却下として処理を進めるオプション)を選択します
- 「アクションを表示」を押下して、承認時アクション・却下時アクションを表示する

- 承認ステップ1同様、承認時アクションにメールアラートを設定する

- 最終承認時アクションで、「既存アクションの追加」を押下する

- アクション種別で「項目自動更新」を選択し、事前に作成した項目自動更新を「選択済みのアクション」に追加する

- 最終却下時のアクションで、「既存アクションの追加」を押下する

- アクション種別で「メールアラート」を選択し、事前に作成した、承認却下時用のメールアラートを「選択済みのアクション」に追加する

- アクションが追加されたことを確認する

- 全ての設定が完了したら、「有効化」を押下する
ポップアップで注意が表示されるため、問題なければ「OK」を押下して有効化する
※一度有効化すると、承認ステップの追加・削除ができなくなり、追加・削除する場合は承認プロセスを作り直す必要があるため注意
- 有効化されると、下図のように「有効」にチェックが付く

動作確認
開始条件を満たさずに承認申請した場合
- 承認申請をするユーザ(ここでは「テストユーザ1」)で代理ログインする
※代理ログインの方法は、こちらの記事を参照 - 承認プロセスを作成したオブジェクトのレコードを作成し、開始条件を満たさない状態で「承認申請」を押下する
※「承認申請」ボタンはページレイアウトで配置設定できます
※今回の例では、項目「申請前確認」にチェックが付いていない状態で承認申請を押下します
- コメントを入力して、「送信」を押下する

- 開始条件を満たしていない状態で承認申請を押下すると、下図のようなメッセージが表示され、承認プロセスは開始されません

ステップ条件を満たさずに承認申請した場合
- 開始条件を満たすようにレコードを編集し、承認プロセスのステップ1のステップ条件は満たさない状態で、承認申請を送信する
※今回の例では、項目「テキスト」を空欄の状態で承認申請します。
※先ほど同様、承認申請をするユーザで代理ログインしています
- 承認申請は送信され、下図のような成功メッセージが表示されることを確認

- 関連リストの承認履歴を確認すると、申請が自動で却下されていることが確認できました
※承認プロセス設定で、ステップ条件を満たしていない場合、自動で却下されるよう設定したため、このような挙動となっております。
条件を満たし、最後まで承認プロセスが進んだ場合
- 承認プロセスの開始条件・ステップ条件を満たした状態で、承認申請を送信する
※先ほど同様、承認申請をするユーザで代理ログインしています
- 申請が送信され、下図のような成功メッセージが表示されることを確認する

- 関連リストの承認履歴を確認する
※承認申請され、承認者による承認/却下がされるまでは、状況が”未承認”となっています
- 設定しておいたメールが、承認割り当てされたユーザのメールアドレス宛に届きます

- 承認に割り当てられたユーザで代理ログインし、画面右上の通知アイコンを押下して、送られてきた承認申請を押下する

- 承認ページレイアウトで設定した項目が並んだ承認ページが表示されるため、Name項目のリンクを押下し、レコードの詳細ページへ遷移する

- 内容を確認し、項目「上司確認」にチェックを付けて保存する
※今回の承認ステップの条件で指定しているため、本手順のような操作をしています
- 承認ページに戻り、次の承認ステップの条件を満たした状態で、「承認」ボタンを押下し、承認コメントを入力して承認する

- 次の承認ステップの承認者に割り当てられ、承認者のコメントが表示される
※最終承認・最終却下が完了されるまで、「(オブジェクト名)の承認」の右には”未承認”と表示されます
- 承認履歴を確認し、ステップ1が承認され、現在ステップ2の承認待ち状態になっていることを確認する

- 設定したメールアラートが動作し、申請者にメールが届いていることを確認

- 承認割り当てメールテンプレートで設定したメールが、次の承認者のメールアドレスに送信されていることを確認

- 次の承認者で代理ログインし、ステップ1同様、通知から承認ページへ遷移する

- ステップ1同様、レコードを確認し、項目「課長確認」にチェックを付ける


- 承認ページへ戻り、コメントを添えて申請を承認する

- 最終承認されると、下図赤枠部分の表記が「承認済み」となる

- 最終承認時に設定した項目自動更新が適用され、項目「承認済み」に自動でチェックがつた事を確認

- 設定したメールアラートが動作し、申請者にメールが届いていることを確認

- 承認履歴で、ステップ2も承認済みとなっていることを確認

