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

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

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

【Lightning Experienceの場合】

1. 関連先に設定するオブジェクトを追加

1.1 設定画面にて 「オブジェクトマネージャー」タブをクリックします

1.2 右上の「作成」から「カスタムオブジェクト」をクリックします

1.3 「行動」共有用のオブジェクトを作成します。

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

1.4 設定画面の「ホーム」タブに戻り、クイック検索にて「タブ」を検索、「タブ」をクリックします

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

1.5 「カスタムオブジェクトタブ」の[新規]をクリックします。

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

1.7 「アプリケーションランチャー」を開き、「すべての項目」から「共有カレンダー」をクリックします

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

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

1.9 設定画面の「ホーム」タブに戻り、クイック検索にて「タブ」を検索、「タブ」をクリック、作成したタブを削除します

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

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

2.1 設定画面の「ホーム」のクイック検索にて「プロファイル」を検索、「プロファイル」をクリックし、参照権限を与えたいプロファイルをクリックします

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

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

2.2 「オブジェクト設定」をクリックします

2.3 「設定の検索」にて「共有カレンダー」を入力して設定画面を表示させ、「編集」ボタンをクリックします

2.4 「オブジェクト権限」セクションにおいて、必要に応じて権限の有効化にチェックを入れ、「保存」ボタンをクリックします

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

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

3. 1 設定画面の「ホーム」のクイック検索にて「プロセスビルダー」を検索、「プロセスビルダー」をクリックし、プロセスビルダーを起動します

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

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

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

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

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

  • 適当な[条件名]を入力(例:「関連先がないとき」)
  • [アクションの実行条件]は「条件を満たしている」を選択
  • [条件を設定] 1つ目
  • 項目: [Event].WhatId(関連先ID)
  • 演算子: ヌル(Is null)
  • 種別: Boolean
  • 値: True
  • [条件を設定] 2つ目
  • 項目: [Event].IsPrivate(非公開)
  • 演算子: 次の文字列と一致
  • 種別: Boolean
  • 値: False
  • [条件]はすべての条件に一致(AND)
  • [条件を設定] 3つ目
  • 項目: [Event].WhoId(名前ID)
  • 演算子: ヌル(Is null)
  • 種別: Boolean
  • 値: True
  • [条件]はすべての条件に一致(AND)

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

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

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

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

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

【Salesforce Classicの場合】

1. 関連先に設定するオブジェクトを追加

1.1 設定画面にて [アプリケーションの設定]  >  [作成]  >  [オブジェクト]を開き、[新規カスタムオブジェクト]をクリックします

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 適当な[条件名]を入力(例:「関連先がないとき」)
  • [アクションの実行条件]は「条件を満たしている」を選択
  • [条件を設定] 1つ目
  • 項目: [Event].WhatId(関連先ID)
  • 演算子: ヌル(Is null)
  • 種別: Boolean
  • 値: True
  • [条件を設定] 2つ目
  • 項目: [Event].IsPrivate(非公開)
  • 演算子: 次の文字列と一致
  • 種別: Boolean
  • 値: False
  • [条件]はすべての条件に一致(AND)
  • [条件を設定] 3つ目
  • 項目: [Event].WhoId(名前ID)
  • 演算子: ヌル(Is null)
  • 種別: Boolean
  • 値: True
  • [条件]はすべての条件に一致(AND)

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

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

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

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

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

回答が見つかりましたか?