Salesforceの承認プロセスは、ビジネスにおいて必要不可欠な承認アクションを簡単な設定操作で実装できる標準機能です。
申請の開始条件、各承認ステップの条件、承認者の割り当てなど、こまかい設定が可能で、ある程度複雑な業務ルールにも対応できるのですが、「もっと〇〇できればよいのに!」といった声を耳にすることもございます。
今回は、そんな承認プロセスにまつわる要望の中から特に多い、「申請前の入力必須情報チェック」の解決方法について、いくつかご紹介したいと思います。
- 「申請前の入力必須情報チェック」とは
- 【方法①】承認プロセスのみ
- 【方法②】入力規則(+運用ルール)+承認プロセス
- 【方法③】フロー+承認プロセス
「申請前の入力必須情報チェック」とは
承認申請前に必要な情報が登録されているかをチェックすることです。
たとえば案件のフェーズ進行の場合、「ニーズ把握」から「提案」に進めてよいかを承認者である上長や所属長が判断するにあたり、提案を行う前に十分な聞き取りができているか、リスクがないかなどを確認する必要があります。それらの判断に必要な情報がすべてそろってから決裁できるように、申請者によりあらかじめ必要な情報が入力できていることを申請の開始条件とする必要がございます。
ここでは、案件のすべての提案・交渉活動が終わり「受注」フェーズに進める場合の承認を例とします。要件としては、下記のとおりです。
案件を「受注」フェーズにするためには、
「クローズ日」および「クローズ理由」が入力されていること
を条件としたい。
【方法①】承認プロセスのみ
- メリット:1機能だけで完結するので、管理が容易
- 設定に必要なスキル:承認プロセスの知識
- こんなときにおすすめ:業務ルールがシンプル。1オブジェクトに対し必要な承認プロセスが多くない
まずは、承認プロセス機能だけで実現する方法です。利用するのは、承認プロセスの「開始条件」です。図のように設定します。
しかし、この方法にはひとつ問題があります。それは、開始条件に満たなかった場合に、エラーメッセージが不親切なことです。
試しに、必要な情報を入力せずに承認申請を押下すると、「該当する承認プロセスは見つかりませんでした。」というメッセージが表示されました。これでは、具体的に何が足りないのか、次にどうすればよいかの手がかりが読み取れません。また、残念なことにこのメッセージをカスタマイズすることはできません。
【方法②】入力規則(+運用ルール)+承認プロセス
- メリット:設定・管理が容易。業務ルール(申請の前提条件)の変更に柔軟・スピーディに対応可能。
- 設定に必要なスキル:入力規則・承認プロセスの知識
- こんなときにおすすめ:1オブジェクトに対し必要な承認プロセスが複数種類ある。業務ルールの変更が短い間隔で定期的に発生する
たとえば、案件フェーズのうち、「ニーズ把握 → 提案」、「提案 → 受注」へ進める際に承認が必要で、各申請時の入力必須項目も異なる場合を想定します。この要件を実現するために、下記のような仕様とし、申請時の運用ルールを統一させます。
仕組みの概要を説明すると、各申請前に情報を登録して保存したタイミングで、制御用のフラグ項目を使って入力必須チェックを行い、そのフラグが保存できている場合のみ申請を許可するという動きです。
1.商談に制御用のフラグ項目(カスタム項目)を作成
チェックボックス型のカスタム項目「受注申請入力チェック」を作成します。
2.商談の入力規則を作成
「受注申請入力チェック」をTrueにして保存した場合、「クローズ日」「クローズ理由」が入力されていなかったらエラーとします。
3.開始条件に「受注申請入力チェック」がTrueであることを設定した承認プロセスを作成
4.申請前に必要な情報の登録が終わったら、必ず各申請入力チェックフラグをONする運用ルールとする
情報が足りていない場合は、エラーメッセージにてユーザに提示することができます。
本章の冒頭にもあるとおり、この方法のメリットは、入力チェックの仕組みと、承認プロセスの起動を別々の機能とすることで、入力チェックのルール変更への対応がスピーディかつ容易なことです。システム変更による影響範囲を限定的にすることができます。
これにより、めまぐるしく変わる事業の内容や社内ルール変更の要望に、柔軟に対応することが可能となります。
【方法③】フロー+承認プロセス
- メリット:複雑な業務ルールに対応でき、かつ、シンプルなオペレーションを実現できる
- 設定に必要なスキル:フロー・承認プロセスの知識
- こんなときにおすすめ:業務ルールが複雑。承認申請にまつわる必要な処理が、入力チェック以外にも多数ある
最後に、フローを利用した方法をご紹介します。
アクションからフローを起動し、フロー内で入力必須チェック処理を行ったのち、承認プロセスを起動するという仕組みです。
1.承認プロセスの作成
【方法②】の3で作成した承認プロセスを利用することにします。(開始条件が設定済み)
開始条件のチェックはフローの処理で行うので、フローから承認プロセスを呼び出す際に、承認プロセスに設定されている開始条件をスキップする設定とします。(後述2-5を参照)
2.フローの作成
2-0.全体の処理の流れ
これから作成するフローの各要素の処理概要と、レイアウトです。
2-1.画面フローの作成
[設定]>[プロセスの自動化]>[フロー]を選択し、「新規フロー」を押下します。「画面フロー」を選択して、作成します。
2-2.変数の作成
フロービルダーが起動するので、各要素を作成していきます。まずは変数です。
[ツールボックス]の[マネージャ]にて、「新規リソース」を選択し、「リソース種別」に変数を選択して3つの変数を作成します。
2-3.レコード情報を取得する
[ツールボックス]の[要素]にて「データ」>「レコードを取得」を選択し、右側のキャンバスにドラッグ&ドロップし、下図のように設定します。
2-4.条件分岐を作成する
[ツールボックス]の[要素]にて「ロジック」>「決定」を選択し、右側のキャンバスにドラッグ&ドロップし、下図のように設定します。
2-5.(OKの場合の)承認プロセス起動アクションを作成する
[ツールボックス]の[要素]にて「相互関係」>「アクション」を選択し、右側のキャンバスにドラッグ&ドロップし、左メニューから「承認」を選択して、[アクション]で「承認申請(submit-submit)」を選択し、設定を行います。
承認申請のアクションでは、次の承認者なども設定可能ですが、今回の要件としては不要なので、特に設定は行いません。
2-6.(NGの場合の)エラーメッセージ表示画面を作成する
[ツールボックス]の[要素]にて「相互関係」>「画面」を選択し、右側のキャンバスにドラッグ&ドロップし、下図のように設定を行います。
2-7.各要素を配置(レイアウト)し、保存→有効化する
フローの設定が完了したら、ぜひデバッグをして動作の確認を行ってみてください。動作に問題がなければ、「有効化」します。
3.オブジェクトのアクションの作成
[設定]>[オブジェクトマネージャ]>[商談]>[ボタン、リンク、およびアクション]で「新規アクション」を押下し、下図のように設定します。アクションを作成したら、ページレイアウトで画面に表示するように設定してください。
では実際に動かしてみましょう。
「クローズ日」を入力していない状態で、「受注承認申請」ボタンを押下するとNGメッセージが表示され、承認プロセスは起動されません。
今度は必要な情報を入力して、「受注承認申請」ボタンを押下します。
無事、承認プロセスが起動され、申請済みになっていることが確認できました。
まとめ
Salesforceではひとつの要望に対して、提供されているいろいろな機能を組み合わせて、様々な実現方法を選択することが可能です。
要望の内容や、管理のしやすさを考慮しながら、最適な方法をご選択いただければ幸いです。
承認プロセスの機能について、当ブログでもご紹介しております。こちらも合わせてご覧ください。
https://www.sunbridge.com/blog/column/salesforce-approval-process/
Salesforce導入・活用支援のご案内

サンブリッジが提供するSalesforce導入・活用支援サービスは、お客様の現状の業務用件や目指すゴールをヒアリングし、システム設計から実装までを行います。
導入後のトレーニングまでを含むきめ細やかなサービスを一貫して実施することにより、Salesforceの活用向上と導入の効果を最大化します。