Skip to main content

SF-0124 · Scenario · Hard

Can a record be automatically approved, rejected or skipped based on specific criteria?

✓ Verified by Vikas Singhal · Last reviewed 5/17/2026 · Updated for Spring '26

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:

StepCriteriaBehaviour
Step 1Amount > 0Always meets — runs
Step 2Amount > 5000Skipped for low-value requests
Step 3Amount > 25000Skipped 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 Reject from 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.