My ultimate goal is to give my users the ability to change the Account Owner from a specific single user to their own name. The single user will always be the same user for everyone. Example: User A, User B, and User C can all transfer accounts to themselves from User Z. However, they should not be able to transfer accounts from any other user that is not User Z.
I'm an admin, so I have the ability to transfer all accounts. Currently everyone just sends me the account they want transferred to them, which is obviously very inefficient, especially as we continue to grow. So instead, I would like to have the above permission set up.
User Z could be either a Team Lead, or even an Administrator, so the permissions for User Z shouldn't change. I was given the below solution, but it did not work:
- This should be doable with a Sharing Rule. You'll want to first place user Z in a public group, and they will be the only member of that public group. Then, you can create a sharing rule as follows:
- Rule Type: Based on record owner
- Account: owned by members of <public group you created>
- Share with Roles and Subordinates: <choose the top role in your hierarchy> (this assumes all your users have a role in the hierarchy)
- For the level of access choose Read/Write
- That should do it. Every user should have read/write access to any contact that is owned by user Z, which will give them access to assign the account to themselves.
I've done everything as instructed, but my users are still getting an Insufficient privileges error when an account is attempted to be transferred. Is there something else that needs to be checked?
11 risposte
Hi Dante, Please try the below, you will need all the statements wrapped in AND Function
AND(
ISCHANGED( OwnerId ),
$User.ProfileId <> "00e16000000GhRS",
$User.ProfileId <>"00e1600000105oY",
$User.ProfileId <>"00e16000000i0tl",
PRIORVALUE(OwnerId) <> "005G0000002gvi2",
PRIORVALUE(OwnerId) <> $User.Id
)