Yes — Salesforce’s approval engine supports criteria-based skipping of individual steps and, with some configuration tricks, auto-approval or auto-rejection of entire requests. This is a fairly advanced topic and a strong differentiator for senior admin interviews.
1. Auto-skip individual steps
Every step in an approval process has a “Step must enter this step” criteria. If the record doesn’t meet that criteria when the step would be triggered, the step is skipped and the record moves to the next step (or to final approval).
Example:
| Step | Criteria | Behaviour |
|---|---|---|
| Step 1 | Amount > 0 | Always meets — runs |
| Step 2 | Amount > 5000 | Skipped for low-value requests |
| Step 3 | Amount > 25000 | Skipped for medium-value requests |
A $3,000 request would only hit Step 1 and then be approved.
2. Auto-approve
There’s no built-in “automatically approve this record” button, but you can achieve it with:
Pattern A: every step skipped
If every step’s entry criteria evaluates to FALSE, the record is auto-approved on submission (after running the final approval actions). Useful when “approval” is just a marker and certain records don’t need human review.
Pattern B: Apex on submission
Approval.ProcessWorkitemRequest req = new Approval.ProcessWorkitemRequest();
req.setComments('Auto-approved: amount under threshold');
req.setAction('Approve');
req.setWorkitemId(workitemId);
Approval.process(req);
Used in a Record-Triggered Flow or trigger, immediately after the record is submitted.
Pattern C: Flow
A Record-Triggered Flow can detect the new approval work item and call the Approve action automatically.
3. Auto-reject
Same patterns as auto-approve:
- Use a final rejection criteria on a step that catches obviously-bad submissions
- Submit, then immediately approve-action with
Rejectfrom Apex/Flow - Set entry criteria so that no step matches (which causes auto-rejection in some configurations)
4. Skip the entire approval
In Apex submission, set setSkipEntryCriteria(true) — this submits the record even if it doesn’t match the process entry criteria. Useful for forcing through edge cases.
A real-world example
You have a Purchase Request approval. Business says “requests under $500 from trusted vendors should be auto-approved.”
Build it as:
- Approval Process Entry Criteria:
Amount > 0(loose — catches everything) - Step 1 Entry Criteria:
Amount > 500 OR NOT(Vendor.Trusted__c)— skip Step 1 for low-value trusted vendors - Step 2 Entry Criteria:
Amount > 5000— skip for mid-tier - Final Approval Actions: trigger the “approved” downstream side-effects
A $300 trusted-vendor request hits Submit, skips both steps, and is immediately marked approved.
What interviewers want
- All three behaviours acknowledged: auto-approve, auto-reject, auto-skip
- Step entry criteria as the declarative skip mechanism
- Apex
Approval.process()as the programmatic answer - Bonus: Flow with the Approve/Reject action as a no-code alternative
Verified against: Salesforce Help — Approval Process Step Criteria. Last reviewed 2026-05-17 for Spring ‘26 release.