function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Komal SethiKomal Sethi 

how to write a trigger on task, only system admin user should be able to delete the task.

how to write a trigger on task, only system admin user should be able to delete the task.
AnudeepAnudeep (Salesforce Developers) 
Hi Komal, 

You can try something like this
 
trigger DeleteTask on Task (before delete) {
    String profileName = [select Name from profile where id = :UserInfo.getProfileId()].Name;
    for(Task tsk:Trigger.old){
        if(profileName!='System Administrator'){
            tsk.addError('Only System Admin is allolwed to delete the task');                                    
        }
    }
}

Anudeep
 
Manish UManish U
Hi Komal,

This is a very common question, below is a sample trigger to address your ask.
trigger TaskDeleteTrigger on Task (before delete) {
	 if(System.Trigger.IsDelete) {
         for (Task tsk: trigger.old) {
            Profile usrProfile = [Select p.Name From Profile p where p.Id = : UserInfo.getProfileId()];
            System.debug('Logged in User profile is: ' + usrProfile.Name);
             
            if (usrProfile.Name != 'System Administrator') {
                tsk.addError('Error: You are not permitted to delete this Task.  Please contact a System Administrator');
            }
     	}
     }      
}

Hope this helps! If you find it helpful, please mark it best asnwer :)

Manish