There is no way to identify where all places any Public Group created is used in Salesforce.com.

The public group can be used at -

  1. Sharing Rules
  2. Record Sharing
  3. Queues
  4. List Views
  5. Other Public Groups (nested)
  6. Report Folders access
  7. Document Folder access
  8. Library sharing

But this is strange to me that I can delete the public group from the Salesforce.com instance which is in use; say in "Sharing Setting"! And the effect of this is that the Sharing setting entry also gets deleted without informing me!

Is there any way with which I can check what all the places specific public group is used and think of alternate option and then delete the public group from Salesforce.com?

1 Answer 1


Yes sure.

You can use SOQL like bellow to get list of Accounts with which the record has been shared and the Cause(Rule, Manual etc).

SELECT ID, AccountId , IsDeleted, RowCause FROM AccountShare WHERE UserOrGroupId='???????'

You can repeat this for all custom and standard objects and you can get the list of objects itself from following query.

list<schema.sObjectType> allObjects = Schema.getGlobalDescribe().Values();

This will tell you the records of different objects which are shared with the group.

As long as you would like to know only records which are shared, this approach is good enough.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .