Email Templates
17 min
approvals pro sends email at five moments in an approval's lifecycle request, approval, rejection, recalculation (after resubmit), and recall it can also notify an admin when an approval hits a conflict (e g , an inactive approver with no delegation) this page explains which templates are used where, how to create and configure them, how to enable reply to approve by email, and how to customize sender identity and recipients where each template is used templates are configured in two places on the approval process (process wide emails) and on each approval step (step specific emails) template slot configured on fires when approved email template process the approval request transitions to approved rejected email template process the approval request transitions to rejected recalculation email template process the record is resubmitted after a change and the path is re evaluated conflict approver email template process a conflict occurs mid process (e g , an approver is inactive and has no fallback) sent to the approval process owner request email template step a step becomes active and needs approval — sent to that step's approver(s) recall email template step a step that had already been assigned is recalled (e g , the submitter recalled the record) note if a template slot is left blank, no email is sent for that event if a send to picklist is left blank, no recipients are resolved and the email is silently suppressed blank is a valid configuration — use it deliberately when you're handling notifications via a custom flow step 1 create the salesforce email template approvals pro uses classic lightning email templates (visualforce or html) it does not support lightning email templates ( emailtemplate object with uitype = sfx ) — those cannot be attached to a managed package send go to setup → email templates → classic email templates click new template pick visualforce (recommended, for merge field flexibility) or html (using letterhead) choose an email folder (create a dedicated "approvals pro" folder to keep templates discoverable) set the related entity type to approval request ( appro approval request c ) this is what makes approvals pro merge fields available fill in subject and body use merge fields from the approval request object (record submitter, record name, step name, record link, etc ) check available for use save recommended merge fields merge field meaning {!appro approval request c appro record name c} name of the submitted record (e g , the quote name) {!appro approval request c appro record object label c} object label (e g , "opportunity", "quote") {!appro approval request c appro submitted message c} the submitter's message {!appro approval request c appro approval process r name} process name {!appro approval request c owner name} submitter's name for step scoped templates, you can additionally traverse into the current appro approval c via the child relationship step 2 register the template in approvals pro approvals pro exposes a thin wrapper object called approval email template ( appro approval email template c ) that wraps the salesforce template id and lets you control sender identity open the approval email templates tab click new fill in field purpose name a label admins will recognize when picking the template on a process or step template id the 18 character id of the salesforce classic email template (copy from the template's url) sender type currentuser (default — sends "from" the user whose action triggered the email) or orgwideaddress org wide address id required if sender type = orgwideaddress paste the id of the org wide address ( setup → organization wide addresses ) save note use an org wide address (e g , approvals\@yourcompany com ) for anything sent to external users or on behalf of a system identity currentuser is fine for internal manager to rep notifications where the sender's name is meaningful step 3 attach the template to the process or step on an approval process open the approval process and click edit process details in the email templates section, pick a template for each slot you want populated approved email template → send to rejected email template → send to recalculation email template → send to conflict approver email template for each send to picklist, choose the recipients send to value recipient submitter the user who submitted the record record owner the owner of the submitted record approvers all approvers who acted on the request (approved, rejected, or delegated) submitter and approvers combined audience save on an approval step open the approval step in the email templates section, pick request email template — sent when the step becomes active goes to the step's approver(s) (respecting each approver's receive approval request emails preference) recall email template — sent to the approver when an already assigned step is recalled save step 4 enable reply to approve (email approvals) approvers can reply to an approval request email with approve / approved / yes or reject / rejected / no and approvals pro will process the decision this requires an active salesforce email service the service is created during installation — see installation & setup > create email handler docid\ ojiwclkiogqe3gm0juavq verify it is configured correctly setup → email services confirm an active service named approvals pro email service pointing at apex class approvalemailservice confirm it has at least one active email address with a valid inbound address copy that inbound address into the from or reply to of your request email template (via merge field or directly), so replies route back to approvals pro warning refreshing a sandbox does not generate a new inbound email address after every sandbox refresh, you must create a new email address under the email service — replies will silently fail until you do handling approver comments via email the body of the reply is parsed and stored as the approval message on the appro approval c record if the step has make approval message required or make rejection message required checked, an empty reply will be rejected and the approver will receive an error email asking them to include a comment step 5 customize popup fields (optional) when approvers act from the ui (rather than email), they see an approve / reject / reassign popup you can add custom fields to these popups to capture structured data (e g , "reason for rejection" as a picklist) this is done via field sets on the appro approval request c object the field set names must be exact field set name shown in approvalpopupfields approve popup rejectionpopupfields reject popup reassignpopupfields reassign popup setup → object manager → approval request → field sets → new enter the exact field set name from the table above the field set label can be anything drag the fields you want captured into the field set save values entered by approvers are saved on the resulting appro approval c record customizing path level and granular notifications out of the box, the approved / rejected / recalculation templates fire when the whole approval request resolves — not per path or per step if you need path level notifications (e g , "deal desk path approved" while legal is still reviewing), build a record triggered flow on appro approval c that fires when path status c changes to approved for step by step status updates, the same pattern applies — trigger off step status c transitions on appro approval c see automation patterns docid\ tq b8u71vneelfvoomtix for the full catalog troubleshooting symptom likely cause fix email template doesn't appear in the picklist template is lightning (not classic) or isn't marked available for use recreate as classic visualforce/html; check the box approvers receive no request email approver's receive approval request emails is set to never or only if i am a delegated approver edit the approver record reply to approve isn't working email service inbound address changed (often after sandbox refresh) regenerate the email address and update the template all emails come from no reply\@salesforce com sender type on the approval email template is orgwideaddress but the org wide address id is blank or inactive set sender type correctly, or activate the org wide address "send to" is configured but nobody receives the email recipients are inactive users, or the submitter / record owner is no longer valid check user active status; audit owner field related configuring approval processes docid\ kcmpddjgungd5jvuo8ngj > where template slots are set setting up approvers docid\ giczu1eqzh6lnzdehv6e2 > per approver email preferences automation patterns docid\ tq b8u71vneelfvoomtix > flows for advanced notification scenarios