Loading
Insurance
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          Create an Apex Class

          Create an Apex Class

          Create an Apex class to send an email with attachment to the user who requests insurance proof.

          REQUIRED EDITIONS
          Available in: Lightning Experience in Professional, Enterprise, and Unlimited editions where Financial Services Cloud license is enabled with FSC Insurance add-on.
          USER PERMISSIONS NEEDED
          To set up the Request Insurance Proof service process:

          Industries Service Process, Industry Service Excellence, Omnistudio, Case, Service Catalog Request objects Read, Create, Edit, Delete, View All Records

          AND

          FSC Insurance

          AND

          Financial Services Cloud Extension OR FSC Sales

          OR

          Financial Services Cloud Basic

          OR

          Financial Services Cloud Standard

          To use Request Insurance Proof service process:

          Industries Service Process, Industry Service Excellence, Omnistudio, Case, Service Catalog Request objects Read, Create, Edit, Delete, View All Records

          AND

          FSC Insurance

          AND

          Financial Services Cloud Extension OR FSC Sales

          OR

          Financial Services Cloud Basic

          OR

          Financial Services Cloud Standard

          1. Click Setup, and then click Developer Console.
          2. Create an Apex class.

            Example: To send an email with attachment to the user who requests insurance proof, use a script like this:

            /*************************
            * @Class Name:- FSCInsServiceProcessSendEmail
            * @Description:- This apex class contains an invocable method used to send email along with attachment
            **************************/
            global with sharing class FSCInsServiceProcessSendEmail {
            // Method to send email along with attachment and reurns either Success or Failure back to flow output variable
            @InvocableMethod(label='Send Email to user with attachment' description='Sends email to user from apex ')
            public static List<String> sendEmail(List<Requests> request) {
            List<Messaging.SingleEmailMessage> mails = new List<Messaging.SingleEmailMessage>();
            Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
            List<String> response = new List<String>();
            List<String> sendTo = new List<String> {request[0].sendToEmailId};
            mail.setToAddresses(sendTo);
            mail.setSubject(request[0].emailSubject);
            mail.setHtmlBody(request[0].textTemplate);
            //Fetch attachment id associated to the caseId and append it to email as attachments
            List<Attachment> attList = new List<Attachment> ([SELECT Id, Name FROM Attachment WHERE parentId =: request[0].caseId WITH SECURITY_ENFORCED]);
            if (attList.size() > 0) {
            List<String> attachmentIds = new List<String> {attList[0].Id};
            mail.setEntityAttachments(attachmentIds);
            }
            // Add email to the master list
            mails.add(mail);
            //Send all emails in the master list
            Messaging.SendEmailResult[] results = Messaging.sendEmail(mails);
            if (results[0].success) {
            response.add('Success');
            } else {
            response.add('Failed to send email');
            }
            return response;
            }
            
            //set of invocable variables which is used to set values from flow
            global class Requests {
            @InvocableVariable(label='Email Body' description='Text template of email body')
            global String textTemplate;
            @InvocableVariable(label='Send To Email Id' description='Email id of recipient')
            global String sendToEmailId;
            @InvocableVariable(label='CaseId' description='Case Id associated with attachment')
            global String caseId;
            @InvocableVariable(label='Email Subject' description='Email subject')
            global String emailSubject;
            }
            }
            
           
          Loading
          Salesforce Help | Article