Create an Apex Class for Proof of Insurance Emails
Create an Apex class to send an email with attachment to the policyholder who requests insurance proof.
Required Editions
| Available in: Lightning Experience |
| Available in: Enterprise, Unlimited, and Developer Editions with Financial Services Cloud and Unified Catalog. |
| User Permissions Needed | |
|---|---|
| To create Apex class: | Customize Application |
- Click Setup, and then click Developer Console.
-
Create an Apex class.
Example: To send an email with attachment to the user who requests an insurance proof, use a script such as 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 returns 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; } }
Did this article solve your issue?
Let us know so we can improve!

