Approvals
Approvals, or the Approval Process in Salesforce, revolve around a collection of criteria, steps and actions that navigate records through a defined structure and to the correct recipient.
Components of Approval Processes
Entry Criteria
A set of criteria that define when a record can enter an approval process. Salesforce provides the ability to create the criteria in two ways. One, “Criteria are met”, utilizing drop downs and standard operators. Two, “Formula evaluates to True”, allowing the user to create custom entry criteria and traverse compound lookups (if needed).
Approver(s) and Editability
When creating the approval process, Salesforce allows you to determine the “next automated approver” as well as who can Edit the record while it’s in the approval process. Options include Administrators only or Administrators and the assigned approver.
Notification and Approval Page
Email Templates can be created to customize the Approval Process, determining what the assigned approver receives when assigned a record. You can also determine the fields that display on the standard Approval page, using fields from the Object record and approval history. Additionally, you can control where Approvals can take place, limiting them to only within the platform or via Email and Platform.
Initial Submitters
Initial Submitter selections determine who can submit a record for approval. This is useful for things like budget requests or quotes where you want to ensure it’s in the ideal state before submitting for Approval. Settings like Creator, Owner, Role etc. can be used to determine eligible submitters. You also can grant Submitters the ability to recall approval requests, meaning they aren’t “Denied” but just removed from consideration until ready to resubmit.
Actions and Steps
Approvals contain actions, which happen at Submission, Approval, Rejection and Recall. These actions can lock records, send email alerts, update fields etc. Approval Steps allow you to create a multi-level approval process, routing approvals to multiple people as the Approval Process progresses.
How to Utilize Approval Processes in Salesforce
To fully understand how an Approval Process works, let’s look at a theoretical example. Your Sales team needs quote approval on any quote over $100,000 from a peer and their manager. They want it to be automatically submitted and they want to allow the approver to only approve from within Salesforce.
First we must create our Approval process. We need to create the Process against the Quote object, ensuring we are setting up the process for the correct object. We will use the entry criteria to ensure Amount >= $100,000. We will not default any approvers.
Next we should create an email template that outlines key record details, like line items, record details and anything relevant to gaining approval. We should ensure that the approval process ONLY allows approvals in Salesforce, not through email.
After we create the shell of the Approval Process, we can create the Approval Steps. Since we need approval from a peer and a manager, we must first create a step that sends the record to a Queue built of my peers.
From here anyone can view the record and approve it, as well as receive emails since they are queue members. We will ensure during this process that ALL records enter this step. Meaning there is not criteria based entry after submission. If needed we could add actions at this point, to update a “Peer Reviewed” custom field on Quote to “Approved” if approved or “Rejected” if the approval was rejected.
Next step of build would be to create the second approval step routing the record to our Manager as denoted on the User record, for approval. At this point we should consider this a “Final Approval”.
We will update a custom “Manger Approved” field to “Approved” with approval. If the Quote is rejected by the manager, we will update the field through “Final Rejection Action” to “Rejected”. We could also send emails in these same steps if we wanted to notify the submitter of Approval or Rejection.
At any point, this record could be recalled, meaning it would be unlocked and no longer awaiting approval. This is useful if a rep realizes there is a mistake after submission and wants to recall it so that they can edit the record.
Now that we have the approval process in place, we need to create automation to auto submit the record. We need to create an After Save flow against the Quote Object, with a decision that reflects our entry criteria in the Approval Process. In this case we know that is Amount >= $100,000 and the Rep has flagged the record as “Ready for Approval” = True.
The flow then needs a branch from the decision that utilizes the OOTB flow component to Submit For Approval, here you will reference the recordId, Approval Process Name and any comments for Auto Submission. Having criteria in the flow and the approval process, ensures that nothing slips through the cracks or that we have records falsely being submitted for approval before they are ready.
Who is Impacted?
Admins
Admins are responsible for their Orgs Approval process and should ensure they have the correct processes in place for governance, legal, finance etc.
End User
Approval Processes can exist on almost any Object, so end users should be aware of their configuration and where they can access them manually vs where they’re auto submitted. This ensures records aren’t skipped and are submitted in a timely manner.
Management
Management should lean into the Approval Process design to take advantage of Salesforce capabilities to reduce redundancy in Approvals and increase efficiencies.