[SalesForce] Why only one hierarchy field on User object can be used as an approver? This results in additional work for setting up multi-level approval process

We can avail only 1 hierarchy field (Manager or custom hierarchy field) for defining the approver in an approval step. If I have to setup 3-level approval process for opportunities or expense reports then I have to

  1. Define my approval matrix on a separate custom object with the Associated User, Approver_2 & Approver_3 fields

  2. Create 2 custom lookup fields to user on Opportunity: i) Approver_2__c & ii) Approver_3__c (Given Manager is the first approver)

  3. Create the 3-level approval process in the setup, define Manager as the Level 1 approver
    enter image description here

    and for Level 2 & Level 3 approvers use 'Related Field' on the object to be approved
    Approver 2 is the custom field on Opportunity

  4. Write trigger on before insert, before update events to set the Level 2 approver & Level 3 approver on the opportunity

I believe if Salesforce allows custom hierarchy fields to be availed in defining an approver in an approval process just like we can define manager as an approver it would have saved lots of maintenance and resources.

Any alternate thoughts ?

Best Answer

If you create a Hierarchy field on the user object, when creating the approval process in step 3 choose that field instead of the manager and it will be available in the approval steps.

The issue as I see it is that you can only specify one approve this way. But your question make me feel like you think you cannot use another field for the approve which is false.

See this image for where you would select the other User Lookup field as the approver in lieu of the manager

enter image description here