はじめにこんにちは、角煮です。(オフィス近くで売っている角煮丼が好きなため)普段はSalesforceの設定や検証をコツコツやっています。今回は勉強会で学んだSalesforceの「データの共有設定」についてまとめました。Salesforceは多くの部署やメンバーが使うシステムのため、「誰がどのデータを見られるか」といった設定は、正しい運用の土台となります。本記事を通じて、Salesforceを安全に活用するための基本的な設定について、少しでも理解を深めていただければ幸いです。勉強会の目的Salesforceの「データ共有」に関する基本的な知識を身につけ、システムの安全性向上に役立てること。共有ルールの設定本セクションでは、共有ルールの設定について学びます。下記のユースケースを想定しています。・ユーザーごとに「どのデータが見えるか」を決めたい・チームや部署ごとに見られる情報をコントロールしたい・安全にデータを共有したい要件:営業ナレッジ共有に制約があるケースを想定営業ナレッジの共有に抵抗がある組織なので、商談情報は管理したいものの営業部門間での共有は禁止したい。本人とその上司は見えても良いが、その組織内の同列でも見えてはいけない。同じ組織であれば営業間は見えて良い。ただし、部門間を超えても、特定の商談については、全社で共有したい。目標:部門ごとの商談閲覧制限と高額商談の全社共有ができるようになること以下の条件で共有ルールを作成する。・関東営業部の商談は関東営業部の人にしか見えない・関西営業部の商談は関西営業部の人にしか見えない・1億円以上の高額商談は全員に見える・営業部:部長、担当・標準ユーザを付与した状態でログイン事前準備事前準備今回の勉強会では、Trailhead Playgroundを使用しました。①システム管理者がユーザーとしてログインできるようにする設定から、クイック検索ボックスに「ログイン」と入力し、[ログインアクセスポリシー]を選択します。その後、「管理者は任意のユーザーでログインできます」にチェックを入れて、[保存]をクリックします。②ユーザー作成関東営業部長、関東営業担当、関西営業部長、関西営業担当を作成します。佐藤太郎(関東営業部長のロールに割り当てします)山本美咲(関東営業担当者のロールに割り当てします)田中花子(関西営業部長のロールに割り当てします)鈴木一郎(関西営業担当者のロールに割り当てします)※Trailhead環境のライセンス数制限があります。(2つまで)Platformユーザーのアカウントで見る場合はプロファイルの割り当てで、システム管理者または標準ユーザーに変更してください。設定から、クイック検索ボックスに「ユーザー」と入力し、[ユーザー]を選択します。その後、すべてのユーザーの[新規ユーザー]をクリックします。新規ユーザーの画面で必須項目を入力します。メールは存在しないメールアドレスで問題ありません。③商談レコード作成商談オブジェクトに関東商談、関西商談、高額商談のレコードを用意します。アプリケーションランチャーの検索ボックスに「商談」と入力し、[商談]を選択します。その後、商談オブジェクトで[新規]をクリックします。新規商談で必要な項目を入力します。<関東営業部の商談レコード>山本美咲でログインし、新規商談で以下を入力して保存します。商談名:関東営業部の商談完了予定日:今日から一か月後の日付フェーズ:Prospecting※Salesforce の Trailhead Playground では、「標準ユーザー」プロファイルを持つユーザーは1名しか作成できません。そのため、もし対象のユーザーがすでに「標準 Platform ユーザー」として登録されている場合、以下のようにユーザーのプロファイルを入れ替える必要があります。1.現在「標準ユーザー」となっているユーザーを「標準 Platform ユーザー」に変更する2.本来「標準ユーザー」としたい対象ユーザーを「標準ユーザー」に変更するこれにより Playground の制約を満たしつつ、必要なユーザーを正しく「標準ユーザー」として利用できます。<関西営業の商談レコード>鈴木一郎でログインし、新規商談で以下を入力して保存します。商談名:関西営業部の商談完了予定日:今日から一か月後の日付フェーズ:Prospecting<高額の商談レコード>鈴木一郎でログインし、新規商談で以下を入力して保存します。商談名:高額商談完了予定日:今日から一か月後の日付フェーズ:Prospecting金額:100000000④ロール作成設定から、クイック検索ボックスに「ロール」と入力し、[ロール]を選択します。その後、[ロールの設定]をクリックします。関東営業部長と関西営業部長を同じ階層に作り、関東営業部長の下に関東営業担当者、関西営業部長の下に関西営業担当者を設定します。次に、各ロールの[ユーザーをロールに割り当て]で役職を紐づけます。関東営業部長:佐藤太郎関東営業担当者:山本美咲関西営業部長:田中花子関西営業担当者:鈴木一郎手順①関東営業部と関西営業部の共有設定設定から、クイック検索ボックスに「共有設定」と入力し、[共有設定]を選択します。その後、組織の共有設定の[編集]をクリックします。商談の外部アクセス、内部アクセスを非公開にします。設定後、自分の商談しか見れないようになります。商談の共有ルールの[新規]をクリックし、関東営業部共有ルール、関西営業部共有ルールを作成します。(共有設定で下へスクロール)②関東営業部と関西営業部の公開グループ公開グループの作成で[新規]をクリックし、関東営業部と関西営業部のグループを作成します。関東営業部と関西営業部に営業担当者を割り当てて、「階層を利用したアクセスの許可」にチェックを入れます。割り当てるユーザー関東営業部:山本美咲関西営業部:鈴木一郎「階層を利用したアクセスの許可」・・・上の階層の人も見れるようになる。例)関東営業担当だったら、関東営業部長も見れるようになる公開グループの権限同じグループの担当者Aさん、Bさん、Cさん・・・お互いの参照権限もっている。作成者のみ編集権限を持っている。営業部長・・・参照権限と編集権限を持っている③高額商談の共有ルールSalesforceの共有ルールは「特定の項目の値が一致する場合」にレコードを共有する仕組みです。そのため、「金額が1億円以上の商談」というように数値条件を直接ルールに組み込むことはできません。そこで、あらかじめ「高額商談かどうか」を判定するチェックボックス項目を作成します。項目名:高額商談フラグデータ型:チェックボックス条件:金額が1億以上の場合にチェックが入るこうしておけば、共有ルールでは 「高額商談フラグ = True」 というシンプルな条件で設定できます。運用やメンテナンスも容易になり、要件変更(例:基準金額を2億円に変更)にも柔軟に対応できます。商談共有ルールを設定します。高額設定フラグがTrueの場合に共有されます。④高額商談フラグ自動設定フローを作成高額商談を共有するには「項目の値が一致する」というルールを使う必要があるため、その判定用にチェックボックス(高額商談フラグ)を用意しました。ただし、このチェックをユーザーが手動で変更するのは手間が掛かり、運用上も不安が残ります。そこで、商談の作成や更新時に自動的にフラグを設定できるよう、トリガーフローを作成します。設定から、クイック検索ボックスに「フロー」 と入力し、[フロー]を選択します。その後、[新規フロー]をクリックします。レコードトリガーフロー(商談オブジェクト)を設定します。金額額条件判定を設定します。リソース:トリガーOpportunity>金額演算子:以上値:100000000高額フラグON(金額が1億円以上だったら高額フラグON)を設定します。変数:トリガーOpportunity>高額商談フラグ演算子:次の文字と一致する値:True高額フラグOFF(金額が1億円未満だったら高額フラグOFF)を設定します。変数:トリガーOpportunity>高額商談フラグ演算子:次の文字と一致する値:False結果関東営業担当者から見た場合の結果→所属している組織と高額の商談だけが表示されています。他部門の商談は見えませんが1億円以上の商談はどの担当者でも見えるようになっています。関東営業部長から見た結果→営業担当者同様、所属している組織と高額の商談だけが表示されています。他部門の商談は見えませんが1億円以上の商談はどの担当者でも見えるようになっています。まとめ今回は「共有ルール」について触れ、組織や条件に応じてデータをどう見せるかを整理し、高額商談を全員で共有できるよう工夫しました。まずは小さく動かしてみると仕組みが理解しやすいので、ぜひみなさんも試してみてください!参考リンク・資料Salesforce公式ドキュメントTrailheadモジュール(共有ルール)関連する社内Wikiや資料へのリンクhttps://trailhead.salesforce.com/ja/content/learn/modules/identity_login/identity_login_sso