Guest User

Untitled

a guest
Feb 17th, 2018
478
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. trigger CaseCommentNotification on CaseComment (after insert) {
  2.  
  3. //only notify when comment is public
  4. Set<Id> caseIds = new Set<Id>();
  5. for (CaseComment caseComment : Trigger.new) {
  6. if (caseComment.IsPublished) caseIds.add(caseComment.ParentId);
  7. }
  8.  
  9. //only notify when contact has an email
  10. List<Case> cases = [
  11. SELECT ContactId
  12. FROM Case
  13. WHERE Id IN :caseIds AND Contact.Email != ''
  14. ];
  15.  
  16. //register an address in your org first
  17. OrgWideEmailAddress emailAddress = [
  18. SELECT Id
  19. FROM OrgWideEmailAddress
  20. WHERE Address = 'noreply@ascenderhcm.com'
  21. ];
  22.  
  23. //create a template in your org first
  24. EmailTemplate template = [
  25. SELECT Id
  26. FROM EmailTemplate
  27. WHERE DeveloperName = 'SUPPORTSelfServiceNewCommentSAMPLE'
  28. ];
  29.  
  30. //be good and bulkify your trigger
  31. List<Messaging.SingleEmailMessage> messages = new List<Messaging.SingleEmailMessage>();
  32. for (Case basketCase : cases) {
  33. Messaging.SingleEmailMessage message = new Messaging.SingleEmailMessage();
  34. message.setOrgWideEmailAddressId(emailAddress.Id);
  35. message.setTargetObjectId(basketCase.ContactId);
  36. message.setWhatId(basketCase.Id);
  37. message.setTemplateId(template.Id);
  38. messages.add(message);
  39. }
  40.  
  41. try {Messaging.sendEmail(messages);}
  42. catch (Exception e) {
  43. ApexPages.addMessages(e);
  44. }
  45.  
  46. }
Add Comment
Please, Sign In to add comment