Event Visibility in Salesforce
In this article:
Seeing Each Other's Events
Salesforce Activities consist of the Event and Task objects. These objects are well-suited for a calendar like DayBack as they are date-based, support repetitions, and can be related to many standard as well as custom objects. However, Salesforce's Sharing Rules for Activities have limitations on how much they can be modified. This can be challenging if the goal is for everyone in the organization to see Events and Tasks they don’t own.
By default, Activities are private, meaning only the owner of the Activity record or a user with View All permissions can see them. The View All permission cannot be targeted to specific objects, so typically only System Administrators have the View All enabled permissions available.
We Recommend Using Custom Objects Instead of Events
Custom objects can be an excellent alternative to Activities due to their more flexible sharing and permission rules. Although custom objects lack native repetition capabilities and have more limited relationships compared to standard Activities, they are a great alternative if these features are not crucial for your operations.
Managing Visibility of Standard Objects
Since Sharing Settings in Salesforce can be quite complex, we recommend that these settings are configured by a Salesforce Administrator who's familiar with role or hierarchy settings for your organization.
Salesforce Activities have two additional settings that can extend their sharing. We recommend the first option, Controlled By Parent, for managing event visibility in DayBack.
Option 1: Controlled By Parent
When the Sharing Settings for the Activity object are configured to the "Controlled By Parent" option, the Activity (i.e., Event and Task) will inherit the permissions of its related parent record, such as an Account or Contact. This means that Events related to a parent record can be viewed or edited by users who are granted access to that record. However, Events that are not related to a parent record will remain private.
A common visibility workaround for DayBack is to create a “dummy” Account or Contact. This dummy parent can then be linked to the individual Events and Tasks that need to be shared among users.
Here's an example of how to set this up:
In Salesforce:
- Create a Dummy Parent Account:
- Create the dummy parent Account and fill in the necessary details, naming the account something like "Shared Events".
- Ensure Proper Permissions:
- Make sure your users have the proper permissions to access records associated with this dummy parent account. Do this by creating the appropriate Sharing Rule in your Sharing Settings for the relevant object (screenshot below). Once added, the rule will grant users the ability to view and/or edit all Events or Tasks related to a record of this object type of which they also have visibility.
- This means you also need to grant users access to the parent record in order for "Controlled by Parent" to have an effect.
- Associate Existing Records:
- To associate multiple existing records with the new parent account in Salesforce, you can use the Data Loader tool or Salesforce's Data Import Wizard, mapping the
WhatId
orWhoId
to the new parent account or contact.
In DayBack:
- Set Default Event Contact:
- Add a DayBack Event Action to automatically set a new event’s relationship to the dummy parent record. This effectively ensures that all newly-created events are associated with the dummy record.
- For example, if using a Contact record set
contactID
andcontactName
to the dummy parent record that you created. Please download and configure the following action to enable this behavior: Set a Default Event Contact.
For more information on editing Sharing Rules, please refer to the Salesforce Sharing Settings documentation for organization-wide sharing defaults.
Option 2: Grant Access Using Hierarchies
This setting allows Activities to be shared based on Salesforce’s Role Hierarchy settings. These can be somewhat complex, but a simple example is that a manager can see and potentially edit their subordinates’ Activities. You'll find Salesforce's documentation on this within their documentation on Sharing Settings.
Other Options
If you need to overcome the limitations of Activities, please contact us. Salesforce allows custom classes to display private events as read-only, and we can create these custom classes for you if needed.
Viewing Appointments Older Than a Year
Salesforce automatically archives events and tasks that are over a year old. Specifically, it archives:
- Events that ended more than 365 days ago.
- Closed tasks that were due more than 365 days ago.
- Closed tasks created more than 365 days ago, if they have no due date.
If you need access to older data, you can contact Salesforce support to extend this archive period. It's common for Salesforce to extend the archive to show events from the past five years.