Whenever opportunity name change an email alter should be received to owner how to write trigger for thisWhenever opportunity name change an email alter should be received to owner how to write trigger for this
Trigger changename on opportunity(before update){
set<id> ownerids = new set<id>();
for(opportunity opp:trigger.new){
if(opp.name != trigger.oldmap.get(opp.id).Name)){
ownerids.add(opp.ownerid);
}
}
Map<id,string> userwithemails = new map<id, string>();
for(user u:[select id,email from user where id=:ownerids]){
userwithemails.put(u.id,u.email);
}
//get all email in the list
List<Messaging.SingleEmailMessage> mails = new List<Messaging.SingleEmailMessage>();
for(opportunity opp:trigger.new){
if(opp.name != trigger.oldmap.get(opp.id).Name)){
List<String> sendTo = new List<String>();
sendTo.add(userwithemails.get(opp.ownerid));
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setToAddresses(sendTo);
mail.setSubject('Your opp name changed');
String body = 'yoour opportunity name has been changed from ' + trigger.oldmap.get(opp.id).Name + 'to'+ opp.Name ;
mail.setHtmlBody(body);
mails.add(mail);
}
Messaging.sendEmail(mails);
}
Try Below Code Please Mark It As Best Asnwer If It Helps
Thank You!
try with below code.
If this helps please mark it as best answer.
Thanks!!