My users are primarily Service users. They all have Read/Write access (through sharing rules) on all Cases, Contacts and Accounts that they deal with. They collaborate on data grooming - often editing each others' Tasks, Cases, etc. in cases of errors or deleting duplicates.
They need a way to edit a Task that someone else created and that is assigned to a third user.
What I've done
So I read through the documentation and came across the tidbit below, and assigned "Modify All" on Case and Contact to my users. It works.
How to improve it
But I don't like giving such a huge sledgehammer permission away. Though they should be able to modify the Contacts and Cases they have access to, they should absolutely not be allowed to modify or even view some Contacts/Cases that are owned by other teams.
(This is closely related to Providing delete access to records of other users without 'Modify All')
The answer above suggests assigning the tasks to a queue of all of these users, but Tasks cannot live in a Queue. Is there an alternative, where I can assign a task to a person, and allow their colleagues to delete/edit it?
You can edit or delete an activity (in Salesforce Classic only) when the following applies:
You have the “Edit Tasks” and “Edit Events” permissions
- You’re assigned to the activity, or
- You’re above the user assigned to the activity in the role hierarchy, or
- You have the “Modify All” object-level permission in the related record, where the record’s sharing model is “Controlled By Parent.”
(with Shared Activities enabled, you need the “Modify All”
object-level permission for at least one contact and the related
- You have the “Modify All Data” permission