sendEmailUsingTemplate

From AgileApps Support Wiki

Sends an Email message using the Template identified by the bodyTemplateId parameter. Generates one or more documents and includes them as attachments.

Prerequisites

Go to GearIcon.png > Objects > {Object} > Email Templates
Define or find a template.
Get the ID of that template, for use in the bodyTemplateID parameter.

Syntax
Basic:

Result result = Functions.sendEmailUsingTemplate(String objectID, String recordID, 
    String to, String cc, String subject, String bodyTemplateID, 
    String attachmentTemplateIdList, String attachmentIDList);

with Bcc:

Result result = Functions.sendEmailUsingTemplate(String objectID, String recordID, 
    String to, String cc, String Bcc, String subject, String bodyTemplateID, 
    String attachmentTemplateIdList, String attachmentIDList);

with Bcc and from whom:

Result result = Functions.sendEmailUsingTemplate(String objectID, String recordID, 
    String to, String cc, String Bcc, String subject, String bodyTemplateID, 
    String attachmentTemplateIdList, String attachmentIDList,
    String fromName, String fromAddress);

Parameters

objectID
The identifier of the related object
recordID
The identifier of the related record
to
A list of comma-separated email addresses
cc
A list of comma separated email addresses
bcc
Optional. List of comma separated email addresses for "blind copies" (Recipients do not see addresses in this list.)
subject
A descriptive text string. If this value is an empty string, the subject specified in the template is used. Otherwise, the specified string is used.
bodyTemplateID
ID of the Email Template. It is evaluated at run time, template variables substituted, and then sent as the body of the message.
attachmentTemplateIdList
A list of comma-separated Document Template identifiers. The template variables are evaluated at run time, their values are substituted, and the resulting documents are then sent as attachments (in addition to any attachments defined by the Email Template).
Note:
Do not choose a template based on a JSP page for use as an attachment.
Learn more: JSP Attachment Deprecation
attachmentIdList
A list of comma-separated document identifiers to send as attachments
fromName
The name the email is coming from.
fromAddress
The address the email is coming from.

Return

Result object
Example
This example calls sendEmailUsingTemplate for a contact.
String contactID = "";
String attachmentTemplateIdList = "";
String bodyTemplateID = "";
String attachmentID = "";

// Some code to populate contactID.
// Populate attachmentTemplateIdList manually from the template Ids displayed in UI from Template object 
// Populate bodyTemplateID  manually from the template Id displayed in the UI from Template object

Functions.sendEmailUsingTemplate("CONTACT", contactID, "joe.smith@acme.com,mark.smith@acme.com", 
"cc.smith@xyz.com", "Some subject", bodyTemplateID, attachmentTemplateIdList, attachmentID);