Thank goodness for Google.
We want to allow our sales staff to take ownership of contact records that are created in Salesforce via an integration with our accounting software. These records, by default, are owned by a system user account, which in our current implementation, does not have a role.
Based on my initial research, I found that there were a couple "nuclear" options:
- Give the sales user profile, the permission Modify All for the Contact object
- Give the sales user profile, the permission Transfer Records
Neither of these options were appealing to me so I kept searching and finally came across this Salesforce message board:
In one of the posts where a user has paraphrased (I suppose) some documentation somewhere, this blurb got my attention:
- "Standard Users can transfer ownership of any lead, contact, account, case or opportunity record that he/she owns or that is owned by a user below him/her in the role hierarchy (except campaigns). "
Through some testing, I've confirmed that this would potentially solve our problem, but I am still frustrated with how poor Salesforce's debugging and documentation is when it comes to permissions. While verifying the statement above regarding the role hierarchy, I came across this official doc:
And of course:
- "The role hierarchy is not maintained with sharing records. Instead, role hierarchy access is derived at runtime."