loader

To set up a Partner Community where multiple users from the same account can view each other’s Tasks, we need to ensure that if a partner user has access to a parent record (e.g., an Account or Opportunity), they also have access to related Tasks, regardless of Task ownership.

By default, in Salesforce, a user can only access Tasks they own, but the goal is to make Tasks accessible to all partner users within the same account.


There are two primary ways to configure this:

Note: Given both workarounds consider that Partner User has Edit Task & Activity Object Access at profile level.

1. Global Configuration Using Sharing Settings

This method leverages Organization-Wide Defaults (OWD) for the Activity object to enable related records to be accessed based on the parent record’s sharing settings.

  • Steps:

    • a) Go to SetupSharing Settings
    • b) Click Edit under Organization-Wide Defaults c) Find the Activity object (which includes Tasks and Events) d) Set Default External Access to Controlled by Parent
  • Outcome: By setting the Task object to “Controlled by Parent,” partner users will inherit the sharing access to Tasks based on the parent record (e.g., Account or Opportunity). This allows users who have access to the parent to also access related Tasks, regardless of Task ownership.

2. Using the Standard “Public” Field on Task

Salesforce provides a standard field on the Task object called “IsVisibleInSelfService” or “Public”. If the Public field is set to true, the Task becomes visible to external users, including partner community users.

  • Steps:

    • a) Identify the Public field (IsVisibleInSelfService) on the Task object

    • b) Set the Public field to true for specific Tasks that need to be shared with external users (partner users)

  • Outcome:
    Setting this field to true ensures that the Task is accessible to external partner users. This allows sharing on a per-record basis.


PROGRAMMATIC SOLUTIONS

In cases where business logic requires programmatic updates, you can automate setting the “Public” field using Flows or Apex.

1. Using Flow

You can create a Flow that updates the Public field automatically based on custom logic.

  • Steps: a) Build a Flow triggered before insert or before update on the Task object. b) In the Flow, update the Public field (IsVisibleInSelfService = true) on the Task record to make it visible to external users.

  • Develop a Flow on Task to fire before insert or/and update based on your requirement.
  • Update the Field “Public” = true on triggering record.

2. Using Apex Code

This is just an example, you can use the same logic based on your need.

				
					Task t = [SELECT Id FROM Task LIMIT 1];

t.IsVisibleInSelfService = true;

update t;
				
			

Outcome:
This Apex code snippet sets the IsVisibleInSelfService field to true, making the Task accessible to partner users.

NOTES:
  • IdeaExchange: There is an existing idea on Salesforce’s IdeaExchange to allow setting the Public field as a default option for Tasks and Events. You can vote for this idea to improve future Salesforce functionality.
  • Contact: For further discussion and customizations, you can reach out to the experts at contact@tenetizer.com.

This setup should allow partner users to view and access Tasks that are related to parent records they can access, even if they are not the owners of the Task.