Yaniv Rozenzweig
Yaniv Rozenzweig

Reputation: 21

Query Salesforce users and their permission sets (SOQL)

i'm trying to run an SOQL query on salesforce to get all users and their permission set id. it is important the list return will be by user not by permission sets, meaning if i have 1000 users i will get back 1000 records and for each record the user attributes like email etc + permission sets list of Id's assign to him

SELECT+id,PermissionSet.id+FROM+User i tried finding the relationship field name but i'm not so familiar wtih salesforce, please assist

Upvotes: 2

Views: 13145

Answers (1)

eyescream
eyescream

Reputation: 19612

https://developer.salesforce.com/docs/atlas.en-us.238.0.object_reference.meta/object_reference/sforce_api_erd_profile_permissions.htm

The table you're looking for is PermissionSetAssignment

Top-down:

select id, email,
    (select permissionsetid
    from permissionsetassignments
    where permissionset.isownedbyprofile = false)
from user

or bottom-up

select assigneeid, assignee.email, permissionsetid 
from permissionsetassignment 
where permissionset.isownedbyprofile = false
order by assigneeid

Upvotes: 2

Related Questions