Skip to content

Instantly share code, notes, and snippets.

@ofarras
Forked from harperbrett/sfpublicgroups.py
Created March 26, 2022 17:12
Show Gist options
  • Select an option

  • Save ofarras/fc911a4a2b23e19860b9b6af089c055c to your computer and use it in GitHub Desktop.

Select an option

Save ofarras/fc911a4a2b23e19860b9b6af089c055c to your computer and use it in GitHub Desktop.
Query Salesforce Public Groups and Their Users with Python
from simple_salesforce import Salesforce
import pandas as pd
sf = Salesforce(username="yourSFusername",password="youSFpassword", security_token="yourSFsecuritytoken")
Group_Members = sf.query_all("Select GroupId,UserOrGroupId from GroupMember")
Active_Users = sf.query_all("Select Username,Name,Id from User where isActive = True")
Groups = sf.query_all("Select Id,Name,Type from Group")
Group_Members_DF = pd.DataFrame(Group_Members['records'])
Users_DF = pd.DataFrame(Active_Users['records'])
Users_DF = Users_DF.drop(columns=['attributes'])
Groups_DF = pd.DataFrame(Groups['records'])
Groups_DF = Groups_DF.drop(columns=['attributes'])
def get_user_name(user_id):
for index, name in Users_DF.iterrows():
if user_id == name['Id']:
print("\t"+name['Name'])
def get_members(group_id):
result = Group_Members_DF.loc[Group_Members_DF['GroupId'] == group_id]
for index, member in result.iterrows():
get_user_name(member["UserOrGroupId"])
def get_groups_with_users():
for index, group in Groups_DF.iterrows():
group_id = group['Id']
group_name = group['Name']
print(str(group_name)+":")
get_members(group_id)
get_groups_with_users()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment