【サンプルあり】Salesforceフローで「一括承認」をスマートに!実現方法と設定手順を解説
Rewa Tech
技術コラム
システム開発
Salesforceの承認プロセスを運用する中で、
- 複数のレコードをまとめて承認したいのに、1件ずつクリックするのが手間
- Apex開発なしで一括承認を実現したい
という課題を感じたことはありませんか?
本記事では、Apexによる開発を行わず、リストビューにボタンを追加するだけで一括承認を可能にする手順をご紹介します。
※標準の承認プロセスを使用せず、カスタム構築による疑似的な承認機能を実装する方法となります。
管理者権限や標準機能の設定のみで構築できるため、開発コストを抑えつつ業務効率を向上させることが可能です。 こちらの記事が、時間を圧迫する承認作業の解決策になりましたら幸いです。
標準承認プロセスとの違い
Salesforceの承認プロセスは、複雑なステップがGUIから設定できたり、各所への通知を一括で実施したりと便利な機能を備えています。 一方、承認者の視点で標準画面を見てみると1件ずつ承認する必要があり、複数レコードの承認には手間がかかります。 この課題を解決するため、今回は「リストビューに専用ボタンを配置し、承認プロセス外の方法で承認を行う方法」をご紹介します。 これにより、選択したレコードをまとめて承認状態に変更でき、フェーズも自動で進行することが可能です。
この方法はApex開発が不要で、フロー設定のみで導入できるのが特長です。 開発コストや保守負担を抑えながら、効率的な承認フロー運用が可能になり、 現場での作業時間の短縮だけでなく、承認状況の把握もスムーズになるというメリットがあります。
本記事でご紹介する内容は、標準の承認プロセスを使用せず、フローと項目更新制御による疑似的な承認を行うことを必須とするものです。
具体的には、
- 商談のフェーズによって承認状況を管理する
- 「受注承認済み」チェックボックスが入力されると、商談承認済み以降のフェーズに進むことができる
という二点を前提として、以下の制御/リストビュー作成が必要となります。
- リストビュー作成:「受注承認待ち」フェーズにある商談一覧
- 入力規則(商談):「受注承認済み」チェックボックスがFALSEの場合、「受注承認済み」以降のフェーズに進めることができない
- 入力規則(商談):商談フェーズが変更前に「受注承認待ち」フェーズにあったとき、「受注承認済み」チェックボックス以外の内容を変更できない
- 項目編集権限:「受注承認済み」チェックボックスは、特定ロール以上のユーザでなければ編集できない
また、サンプル内での想定は「商談における受注前の、申請者の上長1名による承認」という単純なケースを想定していますが、こちらは各社様の承認フローに合わせ、受注承認済みチェックボックスやフェーズを増やすなどしてご対応いただけます。
実際の設定方法
それでは実際のフロー画面を確認しながら設定方法を解説していきます。
フローの全体像はこのようになります。

フローの作成
① 新規フローを作成
Salesforceの[設定]から「新規フロー」を作成し、フロータイプを「画面フロー」(画面自動化)に設定します。

②変数を準備
「新規リソース」から、フロー内で利用する変数を定義していきます。
-
- ids 変数リストビューで選択したレコードのIDを格納する変数です。画面フローを起動した際、自動で格納されます。
- API参照名:ids(必ず小文字)
- データ型:テキスト
- 複数の値を許可(コレクション):チェック
- 入力で使用可能:チェック
- ids 変数リストビューで選択したレコードのIDを格納する変数です。画面フローを起動した際、自動で格納されます。

-
- count 変数フロー起動後、画面に選択件数を表示するための変数です。
- API参照名:count
- データ型:テキスト
- 小数点位置:0
- count 変数フロー起動後、画面に選択件数を表示するための変数です。

③ レコード未選択の際のエラー処理を追加
「決定」要素を追加します。 レコードが選択されていない場合は終了画面に遷移するようにした分岐と、その終了画面を設定します。

④ 件数のカウント処理を追加
選択件数をカウントするため「割り当て」要素を設定します。
-
- 注意:演算子は必ず 「次の数と一致する」 を選びます。(「次の文字列と一致する」を選ぶと ids が利用できません)

⑤ 選択件数の表示画面を追加
先ほど割り当てたcount の値を画面表示し、処理対象の件数を確認できるように「画面」要素を設定します。 画面表示のため、「表示テキスト」コンポーネントを配置し、
{!count}件の受注を承認します。よろしいですか?
等の表示メッセージを記載します。

⑥ レコードの更新処理を追加
実際にレコードを編集する、「レコードを更新」要素を設定します。
-
- 「レコードを識別する条件を指定し、項目を個別に設定」を選択
- 条件:「レコードID が次に含まれる → ids」
- 更新項目:「フェーズ → 受注」「受注承認済みフラグ → TRUE」
- 「レコードを識別する条件を指定し、項目を個別に設定」を選択

これで、リストビューで選択したレコードのフェーズ、受注承認済みフラグを書き換えることができます。
⑦ 完了画面を追加
更新完了を通知する「画面」要素を設定し、フローを保存、有効化します。

リストビューにボタンを追加
画面フローを作成後は、その呼び出しボタンを設定します。
1. Salesforce画面右上の 歯車アイコン → [設定] を開きます。
2. [オブジェクトマネージャー] → [商談] を選びます。
3. [ボタン、リンク、およびアクション] → [新規ボタンまたはリンク] をクリックします。

4. 以下の内容を入力し保存します。
-
- 表示種別:リストボタン
- URL:以下の値の【】内の各部を、それぞれ先ほど登録したフロー名、利用したいオブジェクト名、リストビュー名に置き換えてください。
/flow/【フロー名】?retUrl=/lightning/o/【オブジェクト名】/list?filterName=【リストビュー名】

5. [リストビューボタンレイアウト] → [編集] を開きます。
6. 作成したボタンを「選択したボタン」へ追加し、保存します。

これで設定は完了です! 実際にリストビューからレコードを選択し、一括承認されたことを確認しましょう。
まとめ
ここまで、リストビューにボタンを配置してApex開発なしで一括承認を実現する方法をご紹介しました。
このように、承認プロセスのように標準で設けられている機能であっても、フローで代替することで機能の幅を広げることができます! ただし、複雑な承認ステップや条件による分岐が多くなる場合は、標準の承認プロセスを設けたうえで、ApexやLWCによる画面開発を行うほうが、より快適にご利用いただけるかもしれません。
お困りの際には、ぜひ弊社サンブリッジまでご相談ください。
それ、サンブリッジなら実現できます!
Salesforceで解決するビジネス課題
【ダウンロード資料】Salesforce導入・開発を検討されているお客様必見
数あるSalesforceベンダー企業のなかから、サンブリッジが選ばれる理由はなぜか。課題別にどんなソリューションがあるのかといった観点で、実際にサンブリッジが対応した事例やご利用企業様からの評価などをご紹介します。(全16ページ)