「予定あり」としか表示されない他人の予定を参照する方法

Salesforceの仕様上、他ユーザーが登録した関連先のない[行動](予定)は参照できません(仕様についてはこちらをご覧ください)。Cu-hacker for Salesforceでもこれらの[行動]は「予定あり」と表示され、詳細を参照することはできません。そこで、Salesforceで標準提供されている「プロセスビルダー」を利用し、関連先のない「行動」が作成された場合に自動的にカレンダー共有用のレコードを関連先に追加することで、他人の予定も参照可能することができます。

行動を共有するために強制的に関連先を追加してしまう、半ば強引な手法ではありますが、関連付けるレコードの参照権限をコントロールすることで、Salesforceのアクセス権限管理の考え方から逸脱せずに対応できることから、現状最も有効な対応策です。

このTipsに記載されている内容を設定後、新規に登録された行動には自動的に関連先が追加されますが、既存の行動データに自動的に関連先が追加されることはありません。既存の行動データに一括で関連先を追加したい場合は別途ご相談下さい。

設定画面にて [ビルド] > [作成] > [オブジェクト]を開き、[新規カスタムオブジェクト]をクリックします

スクリーンショット_2015-12-22_13_47_10

[行動]共有用のオブジェクトを作成します。

ここでは例としてオブジェクト名を「共有カレンダー」とします(任意の名前で構いません)。この際、[追加の機能]の[活動を許可]にチェックを入れます。

スクリーンショット_2015-12-21_13_07_42

[作成] > [タブ]を開き、「カスタムオブジェクトタブ」の[新規]をクリックします。

一時的にタブを追加して、「共有カレンダー」にレコードを作成します。

スクリーンショット_2015-12-21_13_31_25

[オブジェクト]に先程作成した「共有カレンダー」を選択し、[次へ]を押し、ステップに沿ってタブを作成します

スクリーンショット 2015-12-21 13.36.43

[▼]タブをクリックし、[共有カレンダー]タブを選択、[新規]をクリックし、共有カレンダーのレコードを作成します

例として「共有カレンダー」という名前でレコードを1件作成。

スクリーンショット_2015-12-21_13_38_55

後ほどプロセスビルダーで使用するため、作成したオブジェクトのID(URL最後の文字列)を控えておきます

スクリーンショット_2015-12-21_13_39_21

 [作成] > [タブ]を開き、作成したタブを削除します

タブの削除は必須ではありませんが、その後レコードの誤操作を防止するためにも、削除をお勧めします。

カスタムタブ___Salesforce_-_Developer_Edition

オブジェクトの参照権限付与設定

[管理] >[ユーザの管理] > [プロファイル]を開き、参照権限を与えたいプロファイルをクリックします

作成したオブジェクトのレコードを関連付けることで行動の共有範囲を制御するためには、共有する対象ユーザーにオブジェクトの参照権限を付与する必要があります。オブジェクトのアクセス権限についてはこちらを参照してください。

ここでは例として参照権限を与えたいプロファイルを「カスタム標準ユーザ」とします。編集できないプロファイルに関してはこちらをご覧下さい。

profile

[編集]を押し、「カスタムオブジェクト権限」-「基本アクセス」の部分の参照等の権限にチェックを入れて[保存]を押します

profile_edit

プロセスビルダーでの設定

プロセスビルダーを起動して、[関連先]がない[行動]が更新された場合に、作成したレコード「共有カレンダー」を[関連先]に追加するように設定します。

Salesforce 設定にて[ビルド] > [作成] > [プロセスビルダー]を開き、プロセスビルダーを起動します

スクリーンショット_2015-12-21_14_57_13

新しいプロセスを作成するため、[新規]ボタンをクリックします

スクリーンショット_2015-12-22_12_00_28

任意のプロセス名とAPI参照名を登録し、「保存」をクリックします

[プロセス名]および[API参照名]は任意の値を、[プロセスを開始するタイミング]は「レコードが変更されたとき」を選択してください。

%e3%83%97%e3%83%ad%e3%82%bb%e3%82%b9%e3%83%93%e3%83%ab%e3%83%80%e3%83%bc

[+オブジェク…]をクリックし、オブジェクトに「行動」を選択します

スクリーンショット_2015-12-21_15_13_19

[+条件を追加]をクリックして、以下のように、条件を設定し[保存]します

%e3%83%97%e3%83%ad%e3%82%bb%e3%82%b9%e3%83%93%e3%83%ab%e3%83%80%e3%83%bc_%e3%81%a8_%e3%80%8c%e4%ba%88%e5%ae%9a%e3%81%82%e3%82%8a%e3%80%8d%e3%81%a8%e3%81%97%e3%81%8b%e8%a1%a8%e7%a4%ba%e3%81%95%e3%82%8c
  • 適当な[条件名]を入力(例:「関連先がないとき」)
  • [アクションの実行条件]は「条件を満たしている」を選択
  • [条件を設定] 1つ目
    • 項目: [Event].WhatId(関連先ID)
      スクリーンショット 2015-12-21 15.34.39
    • 演算子: ヌル(Is null)
    • 種別: Boolean
    • 値: True
  • [条件を設定] 2つ目
    • 項目: [Event].IsPrivate(非公開)
    • 演算子: 次の文字列と一致
    • 種別: Boolean
    • 値: True
  • [条件]はすべての条件に一致(AND)

[ルール適用時のアクション] [+アクションを追加]をクリックして、以下のように設定します

スクリーンショット 2015-12-21 15.49.48
  • [アクション種別]は「レコードを更新」を選択
  • 適当に[アクション名]を入力(例:「共有カレンダーを追加」)
  • [レコード]は以下を選択
    スクリーンショット 2015-12-21 15.46.10
  • [レコードの更新条件]は「レコードを更新する条件がない」を選択
  •  [更新するレコードの新しい項目値を設定]は以下のように設定
    • 項目: 関連先ID
    • 種別: ID
    • 値: <作成した共有カレンダーレコードのIDを指定>

右上の[有効化]をクリックしてプロセスを有効化します

スクリーンショット_2015-12-22_12_03_24

以上で設定は終了です。新規で[関連先]を設定せずに[行動]を作成し、自動的に[関連先]に「共有カレンダー」が追加されるのをご確認ください

行動__Send_Letter_Quote___Salesforce_-_Developer_Edition

Cu-hacker for Salesforce上でも、「予定あり」と表示されていた他ユーザの[行動]も参照可能になったことをご確認ください。

Cu-hacker