Subject: No supported API (Apex/REST) to programmatically approve/reject Flow Orchestration Approval Work Items
I am looking for a supported way to programmatically approve or reject a Flow-based Approval Process (Flow Orchestration) approval request using a non-interactive integration/API user, similar to Approval.process() for Classic Approval Processes.
We've tested the following approaches:
- Approval.process() / Approval.ProcessWorkitemRequest (Apex)
- Only works with Classic Approval objects (ProcessInstance, ProcessInstanceWorkitem).
- No support for the newer ApprovalWorkItem / ApprovalSubmission objects.
- Direct DML update on ApprovalWorkItem.Status
ApprovalWorkItem wi = [
SELECT Id, Status
FROM ApprovalWorkItem
WHERE Id = :workItemId
];
wi.Status = 'Approved';
update wi;
Result:
System.DmlException: Update failed.
First exception on row 0 with id [id];
first error: INSUFFICIENT_ACCESS_OR_READONLY,
User cannot edit Approval Work Item Standard Fields: []
This was reproduced on multiple ApprovalWorkItem records across different Flow Approval processes using Execute Anonymous as a System Administrator. Since Apex runs in system context, this doesn't appear to be a standard permissions or field-level security issue.
Question: Is there any supported Apex API, REST API, or other documented mechanism to programmatically approve/reject Flow Orchestration Approval Work Items
, or is this functionality currently unsupported?
#Flows