Skip to main content

SF-0117 · Scenario · Hard

Give a complex example where we will implement a multi-step approval process?

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

A strong multi-step example is a Capex Purchase Request flow where the approval chain expands based on the dollar amount, conditionally skips steps, and routes to different finance owners depending on the cost center.

The scenario

A Purchase_Request__c custom object holds:

  • Amount__c (currency)
  • Cost_Center__c (lookup to a Cost Center)
  • Submitter__c (the requesting user)

Business rules:

Amount rangeApproval chain
≤ $5,000Department head only
$5,001 – $25,000Department head → Finance Manager
$25,001 – $100,000Department head → Finance Manager → CFO
> $100,000Department head → Finance Manager → CFO → CEO

Additional rules:

  • Marketing department requests skip the Finance Manager step (they have their own approval flow)
  • Capital projects (Cost_Center__c.Type__c = "Capital") always go to CFO regardless of amount
  • The submitter cannot be the approver at any step (cycle prevention)

How it maps to Approval Process configuration

StepApproverEntry/Skip criteria
Initial submissionSubmit by OwnerLock record
Step 1: Department headManager of submitterAlways
Step 2: Finance ManagerSpecific user (or queue)Skip when Amount <= 5000 OR Department = "Marketing"
Step 3: CFOSpecific userSkip when Amount <= 25000 AND Cost_Center__r.Type__c != "Capital"
Step 4: CEOSpecific userSkip when Amount <= 100000

The “skip” expression on each step is what makes this declarative.

Actions on each outcome

WhenActions
Initial submitLock record; email submitter; email Step 1 approver
Final approvalField update Status = "Approved"; email submitter; create related Purchase_Order__c via Flow
Any rejectionUnlock record; email submitter with rejection reason; field update Status = "Rejected"
RecallUnlock; clear pending step; field update Status = "Recalled"

Why this is a good interview answer

  • It shows you understand step entry/skip criteria (the “if this step’s criteria are not met, skip it” mechanism)
  • It demonstrates dynamic approver assignmentManager, named users, queues
  • It shows conditional routing based on multiple fields, not just amount
  • It mentions Flow integration for post-approval side-effects (PO creation)

Modern variant: Flow Orchestrator

For really complex multi-team approvals — where each step might be a multi-day collaborative process, not just a click — Salesforce 2026 recommends Flow Orchestrator. It lets you build stages, with steps inside each stage, where each step can be a Screen Flow assigned to a user or group.

What interviewers want

  • A scenario with at least 3 levels of approval
  • Conditional skips based on entry criteria
  • Different approver patterns (manager-based, named user, queue)
  • Bonus: mention Flow Orchestrator as the modern alternative for the most complex cases

Verified against: Salesforce Help — Approval Process Considerations. Last reviewed 2026-05-17 for Spring ‘26 release.