Event Visibility in Salesforce
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 objects as well as custom objects. However, Salesforce's sharing rules for Activities have limitations to how much they can be modified: this can make them difficult to work with if the goal is for everyone in the organization to be able to see Events and Tasks they don’t own.
Activities are private by default. This means that 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 View All enabled.
Activities have 2 additional settings that can extend their sharing. We recommend the first option, Controlled By Parent, for exerting sharing in DayBack.
- Controlled By Parent: When this is enabled in Sharing Settings, then the Activity will take on the permissions of its parent object, Account, Contact, etc. This means that Events related to an Account can be viewed and edited by users who have those permissions to the parent Account. However, Events with no parent remain private. A common workaround we recommend for DayBack is to set up a “dummy” Account or Contact that can be the parent of Events that users want to be able to share. You can even use a DayBack event action to set this automatically. There’s more documentation on this here.
- 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 here.
Using Custom Objects Instead of Events
Custom objects can be an excellent alternative to Activities as their sharing and permissions rules can be more fine-tuned. Custom objects don’t have native repetitions and have more limited relationships than the standard Activities, but if those aren’t critical for your operations, Custom objects could be the way to go.