D365FO – Start hierarchy approval with specific worker

There are times when clients want to start hierarchy approval from a specific worker and not from the one who initiated the workflow and then traverse up the hierarchy. Scenario: Invoices are coming from third-party into FinOps and creating tax invoice registers Setting the Approved by field at tax invoice register line level AP Clerk/Administrator assigns these invoices to correct worker for approval So, in the above scenario, the AP clerk initiated the workflow but the workflow will not go his/her line manager for approval instead it will be assigned to the owner (approved by) of the invoice. This is what we want to achieve – add a new Start from This Start from list get populated through getSupportedDataType() in class WorkflowHierarchyProviderHelper Create a new event handler class and subscribe to the delegate as shown below. P.S. WFOwner is the custom created EDT. class ECL_WorkflowHierarchyProviderHelperEventHandler { [SubscribesTo(classstr(WorkflowHierarchyProviderHelper), delegatestr(WorkflowHierarchyProviderHelper, addAdditonalSupportedDataTypesDelegate))] static void addAdditonalSupportedDataTypesDelegate(Set _supportedDataTypes) { _supportedDataTypes.add(extendedTypeStr(WFOwner)); } } Add a new field on LedgerJournalTable and assign the WFOwner EDT to it. LedgerJournalTable is for reference as the above change is implemented for vendor invoice approval.