I opened a support ticket with Microsoft about this, and they advised implementing it via customization/extension. Here's where I've gotten, and where I'm stuck — any blogs or solutions on this would be appreciated.
I enabled the standard RequestChange outcome on TrvDocumentApproval (Expense management) via a workflow approval extension (it ships Enabled = No), added a matching action menu item, and wired the necessary security. After a full sync, Request change now appears and works at the UI/workflow level — approvers can click it, it's logged correctly in Workflow history, and a new work item routes back to the submitter, same as a Reject.
The problem: the expense report's status never actually updates. The submitter can't Resubmit ("not in draft status" error), and expense lines stay locked. I traced it down to TrvDocumentWorkflowlEventHandler.changeRequested() — the standard method that's supposed to set the status to Returned — and confirmed via a Chain of Command extension with info() traces that this method never fires, even though everything else works.
Where I'm stuck: the RequestChange outcome has its own Event Handler property (separate from the approval element's Started Event Handler), and I believe changeRequested() needs to be registered there for it to actually fire — but that property is greyed out/uneditable in my extension, unlike Enabled and Action Menu Item on the same node, which I was able to set.
Question: Does anyone have a blog post or working example of enabling a previously-disabled RequestChange outcome on a standard (non-custom) approval element and getting the event handler wired correctly? Is there a supported way to set the outcome-level Event Handler via extension, or does this specifically require Microsoft to unlock/enable it, despite support pointing me toward customization?
as u can see it supposed to be returned status or draft to resubmit
and the lines must be editable

Report
All responses (
Answers (