Approval processes are powerful but easy to misconfigure. The entry criteria, step criteria, approver assignment, and action choices all interact. Build in a sandbox with realistic test users, walk through every approval and rejection path, and document the process visually before deploying to production.
- Map the approval flow before opening Setup
Draw the approval logic on paper: which records qualify, who approves first, second, third, what happens on approval, what happens on rejection. This sketch catches design issues that are expensive to fix in the Setup wizard.
- Create the approval process via the Jump Start wizard or Standard wizard
Setup > Approval Processes > select object > New Approval Process. Jump Start is faster for simple cases; Standard exposes every option and is worth the extra clicks for anything beyond a single-step approval.
- Define entry criteria
Set the filter that determines which records can enter the process. Use field comparisons, formulas, or both. Records that do not match the criteria cannot be submitted, so make the criteria reflect the actual policy.
- Configure the approver fields and email template
Pick the approval page field set (which fields approvers see when deciding), the email template for notifications, and the initial submitter setting. Enable email approval if approvers need to act from their inbox.
- Add approval steps with approver assignment
For each step: set step criteria, pick the approver (specific user, manager hierarchy, queue, related user field), choose parallel/unanimous/first-response if multiple approvers, configure rejection behavior (final reject or send back to previous step).
- Add field update and notification actions
Configure Initial Submission Actions (fire when record is submitted), Final Approval Actions, Final Rejection Actions, and Recall Actions. Common patterns: lock the Status field, send a Chatter post, update a Discount_Approved__c checkbox to true.
- Test every path in sandbox
As a submitter, submit a record. As each approver, approve and reject. Confirm field updates fire, notifications send, the record locks and unlocks correctly. Test delegated approval by setting a Delegated Approver and submitting again.
- Activate the process and monitor adoption
Activate from the approval process detail page. Build a "Pending Approvals" dashboard to surface stuck approvals. Train approvers on the email approval feature if you enabled it, because adoption is low without prompting.
Defines which records can enter the process. Records that do not match show no Submit for Approval button.
Specific user, manager hierarchy, queue, or User lookup field on the record. Drives who actually has to act.
Field updates, email alerts, tasks, and outbound messages that fire when the process completes one way or the other.
- Records lock during approval, preventing normal edits. Only admins, owners, and approvers can edit via the approval UI. Build operational runbooks for the support team because users will report "I cannot edit this record" daily.
- Approvals hang silently when the assigned approver leaves the company and Delegated Approver is not set. Build a Pending Approvals over N days dashboard and a quarterly review to catch stuck approvals before they cause complaints.
- Email approval requires a specific Reply behavior on the Salesforce mailbox and the user's email client. Test thoroughly with each common email client (Outlook, Gmail) because Reply formatting variations can break the auto-detect.
- Step criteria let records skip steps, but the criteria evaluate at submission, not at the time of the step. Records that change after submission may bypass approvers who should have seen them. Use Flow-based orchestration for time-sensitive criteria.
- Recall, rejection, and final-approval actions are separate from initial-submission actions. Field updates configured in one bucket do not fire in the others. Map every state transition explicitly.