Build a Discount Approval Process
These are technical notes I compiled while studying using Trailhead, Salesforce's free self-learning portal.
Prepare Your Org
This example project involves creating an automated system for processing discout requests based on the following:
- If a discount is requested for 15% or less, it’s automatically approved.
- If a discount is requested for more than 15%, it must be approved by a manager in the sales department—for U.S. reps.
- If a discount is requested for more than 40%, it must also be approved by someone else as well.
- In order to set up approvers for approval processes, access users via: Setup » Quick Find » “Users” » Users » Users » Edit next to a user » Approver Settings (at bottom) » Manager
- Custom field names and labels must be unique for a given object to avoid merge and display issues. For example, instead of creating a field labeled “Email” if a standard field labeled Email already exists.
- Add (classic) email templates via: Setup » “Classic Email” » Classic Email Templates
- These templates can reference merge fields to personalize the email content. Examples:
{!Contact.FirstName,Sir or Madam}
{!NullValue(Contact.FirstName,"Sir or Madam")}
{!Opportunity.OwnerFullName}
- These templates can reference merge fields to personalize the email content. Examples:
Create an Approval Process
- Access Approval Processes setup via: Setup » Quick Find » “Approval” » Approval Processes » Select 1 of 2 Setup Wizards
Create Initial Submission Actions
- An initial submission action occurs when a user first submits a record for approval.
- There are four items that must be specified when creating an approval process:
- Initial Submission Actions
- Approval Steps
- Final Approval Actions
- Final Rejection Actions
- There are four types of actions available: Task, Email Alerts, Field Update, Outbound Message
Specify Final Approval and Rejection Actions
- Final approval actions occur when all required approvals are obtained.
- Final rejection actions occur when an approver rejects the request and it moves to the final rejection state.