Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- trigger CaseCommentNotification on CaseComment (after insert) {
- //only notify when comment is public
- Set<Id> caseIds = new Set<Id>();
- for (CaseComment caseComment : Trigger.new) {
- if (caseComment.IsPublished) caseIds.add(caseComment.ParentId);
- }
- //only notify when contact has an email
- List<Case> cases = [
- SELECT ContactId
- FROM Case
- WHERE Id IN :caseIds AND Contact.Email != ''
- ];
- //register an address in your org first
- OrgWideEmailAddress emailAddress = [
- SELECT Id
- FROM OrgWideEmailAddress
- WHERE Address = 'noreply@ascenderhcm.com'
- ];
- //create a template in your org first
- EmailTemplate template = [
- SELECT Id
- FROM EmailTemplate
- WHERE DeveloperName = 'SUPPORTSelfServiceNewCommentSAMPLE'
- ];
- //be good and bulkify your trigger
- List<Messaging.SingleEmailMessage> messages = new List<Messaging.SingleEmailMessage>();
- for (Case basketCase : cases) {
- Messaging.SingleEmailMessage message = new Messaging.SingleEmailMessage();
- message.setOrgWideEmailAddressId(emailAddress.Id);
- message.setTargetObjectId(basketCase.ContactId);
- message.setWhatId(basketCase.Id);
- message.setTemplateId(template.Id);
- messages.add(message);
- }
- try {Messaging.sendEmail(messages);}
- catch (Exception e) {
- ApexPages.addMessages(e);
- }
- }
Add Comment
Please, Sign In to add comment