Skip to main content

SF-0119 · Scenario · Easy

Can the user recall the submitted approval record?

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

Yes — submitters can withdraw a record from approval, provided the approval process is configured to allow it. The button is called Recall Approval Request and appears in the Approval History related list while the record is in approval.

How recall works

  1. Submitter opens the record (it’s locked, in pending approval)
  2. The Approval History related list shows the current approval step
  3. There’s a Recall Approval Request button
  4. Clicking it:
    • Removes the record from the approval queue
    • Unlocks the record
    • Fires any Recall Actions defined in the approval process (field updates, emails, etc.)
    • Logs the recall in the Approval History audit trail

The setting that controls this

In Setup → Approval Process → edit the process → Initial Submission Actions has a checkbox:

Allow submitters to recall approval requests

If checked, the submitter sees the Recall button. If not, only admins can recall via API.

Who can recall

  • The submitter — always, if the setting allows it
  • System administrators — always, regardless of the setting (via Setup or API)
  • Current approver — can reject, which is functionally similar but follows the rejection path, not recall
  • Apex — via Approval.ProcessWorkitemRequest with action Removed

Recall vs Reject vs Approve

ActionWhoEffect
ApproveCurrent approverMove to next step or final approved state
RejectCurrent approverFire rejection actions, unlock
RecallSubmitter (or admin)Remove from queue, fire recall actions, unlock

Recall is the only one initiated by the submitter — the other two are approver-only.

Why allow recall

  • The submitter realises they made a mistake and wants to fix the record before re-submitting
  • Business circumstances changed (deal was cancelled, project deprioritised)
  • The wrong approval process was triggered

Apex example: programmatic recall

// Find the pending work item for this record
List<ProcessInstanceWorkitem> items = [
    SELECT Id
    FROM ProcessInstanceWorkitem
    WHERE ProcessInstance.TargetObjectId = :recordId
];
if (!items.isEmpty()) {
    Approval.ProcessWorkitemRequest req = new Approval.ProcessWorkitemRequest();
    req.setComments('Recalled by admin');
    req.setAction('Removed');
    req.setWorkitemId(items[0].Id);
    Approval.process(req);
}

What interviewers want

  • A confident “yes” with the qualifier “if configured to allow it”
  • The button name: Recall Approval Request
  • Bonus: that recall actions can be configured separately from rejection actions

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