はじめにこんにちは、海人です(海が好きなので)。今回の勉強会では、Salesforceの「ワークフローと自動化」を取り上げました。 Salesforceの承認プロセスを活用することで、条件に基づき適切な承認者へ自動的に承認依頼を出すことができるようになります。本記事を通じて、Salesforceにおけるワークフローと自動化について、少しでも理解を深めていただければ幸いです。勉強会の目的Salesforceの「承認プロセス」に関する基本的な知識を身につけ、条件に基づき、適切な承認者へ自動で依頼を出すことで、手戻りなどをなくし、円滑に承認対応ができる状態を実現すること。承認プロセスの設定と活用本セクションでは、承認プロセスを活用した承認依頼の自動化について学びます。下記のユースケースを想定しています。商談金額が一定額未満の場合は、担当者の直属の上長による承認を行い、一定額以上の高額商談の場合は、より責任ある判断を行うため、別途定められた承認者による承認を行う。※本記事では「条件によって承認者を切り替える仕組み」を学習することを目的としているため、説明を簡略化した構成としています。※実際の業務では、一定額以上の場合に直属上司をスキップするのではなく、直属上司の承認後に部門長や管理部門承認を追加するなど、段階的な承認フローを構成するケースが一般的です。要件:商談金額に応じて意思決定の統制レベルを切り替えることを想定商談の金額条件に基づき、担当者単独で判断させず、適切な上長による承認を必須とする仕組みが求められる。この仕組みにより、自己判断での承認者設定によるミスをなくし、円滑な承認対応対応を進めることができる。目標:特定条件で承認者を判別し、承認フローを実施する以下の条件で承認フローを行う。商談金額が999,999ドル以下の場合は、担当者の直属の上長による承認を行い、 1,000,000ドル以上の高額商談の場合は、より責任ある判断を行うため、別途定められた承認者(指定承認者)による承認を行う。金額区分や承認者は、システム改修を伴わずに運用で切り替え可能な仕組みとする※Trailhead Playground 環境では組織の通貨設定がドル(USD)となっているため、本記事内のデモデータはドル表記で記載しています(実際の業務では、円など利用組織の通貨設定に合わせて読み替えてください)。事前準備今回の勉強会では、Trailhead Playgroundを使用しました。ユーザを作成する1、「標準 Platform ユーザー」プロファイルで複数ユーザを作成します。・佐藤 太郎・鈴木 花子・高橋 一郎2、鈴木 花子のプロファイルを「標準ユーザー」に設定し、マネージャーを佐藤 太郎に設定します。3、設定>ログインアクセスポリシーの画面で「管理者は任意のユーザーでログインできる」を有効化します。手順以下操作はシステム管理者ユーザで実施します。①商談オブジェクトにカスタム項目を作成するホーム画面右上の歯車から「設定」を押下後、「オブジェクトマネージャ」タブをクリックします。その後、検索窓に「商談」と入力し、リスト内の[商談]をクリックします。「項目とリレーション」を選択し、[新規]を押下します。新規ボタン押下後、カスタム項目を二つ作成します。・項目名:「承認者」・データ型:参照関係(関連先:ユーザー)・項目名:「approvers__c」・子リレーション名:「OpportunityApprovers」 ・項目名:「承認状況」・データ型:選択リスト選択リスト値「作成中」、「承認中」、「承認済み」・項目名:「ApprovalType__c」・デフォルト値「作成中」に設定②「回章マスタ」オブジェクトと項目4つ、レコードを2つ作成する。 オブジェクトマネージャ画面右上の「作成」ボタンを押し、「カスタムオブジェクト」をクリックし、「保存」を押下。 ②-1:「回章マスタ」オブジェクトの作成:表示ラベル:回章マスタ表示ラベル(複数形):回章マスタオブジェクト名:ChapterMasterレコード名:回章マスタ名データ型:テキスト ②-2:「回章マスタ」オブジェクトへの項目作成:オブジェクトマネージャをクリックし、検索窓に「回章」と入力。その後、リストに表示される「回章マスタ」をを選択します。 「項目とリレーション」を選択し、「新規」ボタンを押下します。・項目名:「金額下限」・データ型:通貨・項目名:「MinimumAmount__c」 ・項目名:「金額上限」・データ型:通貨・項目名:「MaximumAmount__c」 ・項目名:「承認タイプ」・データ型:選択リスト・データ型:選択リスト値「上長」、「指定」・項目名:「ApprovalType__c」 ・項目名:「指定承認者」・データ型:参照関係(関連先:ユーザー)・項目名:「DesignatedApprover__c」・子リレーション名:「DesignatedApprovers」 ②-3:「回章マスタ」オブジェクトへのレコード作成:・左上の「アプリケーションランチャー」を押下し、検索窓に「回章」と入力し、 回章マスタを押下します。・左上の「アプリケーションランチャー」を押下し、検索窓に「回章」と入力し、 回章マスタを押下します。その後、[新規]を押し、レコードを作成する。 ①上長設定用レコード 金額下限:$0 金額上限:$999,999 承認タイプ:上長 指定承認者:なし② 指定承認設定用レコード 金額下限:$1,000,000 金額上限:$999,999,999 承認タイプ:指定 指定承認者:高橋 一郎③商談作成時または商談金額変更時に承認者を自動設定するフローを作成金額に合わせて承認者を手動で設定をする運用では、承認者の設定漏れや、設定誤りのリスクがあります。そこで本勉強会では、作成した商談の金額を基に、自動で承認者を設定する仕組みとして、レコードトリガーフローを作成します。※今回の内容は、フローによる承認者自動設定の学習を目的としたサンプルです。※金額条件による承認分岐のみであれば、標準の承認プロセス機能のみで実現可能なケースも多くあります。※実際の業務では、要件や運用保守性を考慮し、標準機能とフローを使い分けることが重要です。《作成手順》③-1:設定から、クイック検索ボックスに「フロー」 と入力し、[フロー]を選択します。その後、[新規フロー]をクリックし、[レコードトリガーフロー]を選択します。③-1:[開始を設定]の設定します。オブジェクト:[商談オブジェクト]トリガーを設定:レコードが作成または更新されたときエントリ条件を設定:なしフローを最新化:高速項目更新③-2:[+]マークから[レコードを取得]を選択し、設定します。・表示ラベル:「回章マスタ取得」・API参照名:「Get_ApprovalMaster」・オブジェクト:回章マスタ・回章マスタの絞り込み: 条件の要件:すべての条件に一致(AND) 条件(※[+条件を追加]を押下): 項目「金額下限」 演算子「以下」 値「トリガーOppotunity>金額」 AND 項目「金額上限」 演算子「以上」 値「トリガーOppotunity>金額」・回章マスタレコードの並び替え:並び替えなし・保存するレコード数:最初のレコードのみ・レコードデータの保存方法:すべての項目を自動的に保存③-3:[+]マークから[決定]を選択し、分岐の設定をします。・表示ラベル:「上長承認判定」・API参照名:「Decision_ManagerApproval」・結果の表示ラベル:「上長承認」・結果のAPI参照名:「ManagerApproval」 ・結果を実行する条件の要件:すべての条件に一致(AND) リソース「回章マスタ取得 回章マスタ>承認タイプ」 演算子「次の文字と一致する」 値「上長」・結果を実行するタイミング:条件の要件を満たす場合※先ほど、取得したレコードが条件を満たさない場合は、 指定承認者としてのフローとなる。③-4:[+]マークから[割り当て]を選択し、承認者の割り当てを設定をします。■上長(マネージャー)が承認者となる場合 変数値を設定 変数:「トリガーOppotunity>承認者」 演算子:「次の文字と一致する」 値:「トリガー商談 > 所有者 > ManagerId」■指定承認者が承認者となる場合 変数値を設定 変数:「トリガーOppotunity>承認者」 演算子:「次の文字と一致する」 値:「回章マスタ取得 回章マスタ>指定承認者」[保存]をクリック後、[有効化]をクリックします。④:承認プロセスを作成設定された承認者に承認依頼を行うための承認プロセスを設定します。④ー1:ホーム<歯車マーク<設定をクリックし、左側の検索窓に「承認」と入力します。下記に表示される[承認プロセス]をクリックし、承認プロセスを管理するオブジェクトにて[商談]を選択します。その後、[承認プロセスの新規作成]をクリックします。④ー2:入力条件の指定条件を満たす場合にのみ、承認ができるよう設定をします。※ステップ1の名前は適当な名前で入力します。 ステップ2:入力条件の指定 次の場合にこの承認プロセスを使用:「条件が一致する」 項目:「商談:承認者」 演算子:「次の文字列と一致しない」 値:「null」※ステップ 3. 承認者項目と編集権限のプロパティの指定 ステップ 4. 通知テンプレートの選択 については、そのまま「次へ」をクリックします。 ④ー3:承認ページの表示項目設定 「選択可能な項目」から適当な項目をクリックし、追加下の「▶」をクリックします。④ー4:申請者の指定検索「所有者」として、「選択可能な申請者」から[商談 所有者]項目をクリックし、追加下の「▶」をクリックします。最後に[保存]をクリックします。④ー5:申請時、最終承認時、最終却下時の項目自動更新を設定する。それぞれの条件に合わせて、承認ステータスを自動更新させる。■申請時申請時のアクションで[新規アクションの追加]をクリックし、[項目自動更新]をクリック・新規項目の値の指定 特定値「承認中」を選択■最終承認時特定値「承認済み」を選択■承認却下時承認時特定値「作成中」を選択結果商談を作成時、金額が100,000円の場合、マネージャー(佐藤 太郎)が選択される。金額が10,000,000円の場合、指定承認者(高橋 一郎)が選択される。補足:フローオーケストレーションを活用した承認フロー例Salesforceでは、Flow Orchestration(フローオーケストレーション)を利用することで、承認者割り当てや画面ガイドを含む、より高度な承認フローを構築することも可能です。今回の勉強会では基本的な承認フローを扱いましたが、複数部門をまたぐ承認や、ガイド付きの入力フローを実現したい場合は、Flow Orchestrationの活用も有効です。まとめ今回は商談の金額応じて承認者を自動で設定するなど、承認依頼の仕組化を紹介しました。ぜひ皆さんの業務にも取り入れて、「スムーズな申請ができる業務フロー」を作ってみてください!参考リンク・資料Salesforce公式ドキュメント[Salesforce] Orchestrator 購買申請デモhttps://www.youtube.com/watch?v=3rcTlYzfApMTrailheadモジュールOptimize Approval Processes for Better Efficiency