This trigger generates a Task record whenever an Opportunity’s Stage changes. The Task is assigned to the logged-in user, Opportunity Owner, or another designated user.
For more hands-on examples, check this YouTube playlist.
Solution:
trigger OpportunityTrigger on Opportunity (after update) {
if(Trigger.isUpdate){ if(Trigger.isAfter){
OpportunityTriggerHandler.createTask(Trigger.New,
Trigger.oldMap);
}
}
}
public class OpportunityTriggerHandler { public static void createTask(List<Opportunity>
oppList,Map<Id,Opportunity>
oldMap){ List<Task> tList= new List<Task>(); for(Opportunity opp:oppList){
if(opp.StageName!=oldMap.get(opp.Id).StageName){ Task t =
new Task(); t.WhatId = opp.Id;
t.Subject = ‘Email’;
t.Priority = ‘Normal’; T.status = ‘Not
Started’;
t.OwnerId = UserInfo.getUserId(); tList.add(t);
}
}
If(tList.size( ) > 0){ insert tList;
}
}}