Skip to main content
September 6, 2025
Question

Approver flow

  • September 6, 2025
  • 11 replies
  • 0 views

In my application I need to configure the approval task for multiple approvers in parallel. I m thinking to configure MNI for the process to assign the task to approvers. Scenario is let's say I have 3 approvers and if two approvers approves and one reject it then the request need to be reassigned to the initiator. It should move forward only if all the approvers are approved.. How to achieve this in appian. And also for approving I need to use the esign which is integrated in another application. Should I just to call that interface object or do I need to integrate that application in my application?

    11 replies

    shubhama926776
    September 6, 2025

    Configure MNI by enabling "Automatically run multiple instances" in the Other tab, selecting "Run one instance for each item in" your approvers list, and setting it to run all instances simultaneously with "Move on when all instances are done". Each approver receives their own task instance in parallel and saves their decision (Approve/Reject) to an array index. Once all approvers complete their tasks, the process continues as a single flow to an XOR gateway where you evaluate the decisions array. If all approved, proceed to the next step; if any rejected, route to a task assigned to the initiator for corrections, then loop back to the approval MNI node.
    You must create an Integration object using the e-sign application's API endpoints with proper authentication, You cannot directly call interfaces from another application.

    September 6, 2025

    Thanks Shubham . i m bit confused like the same form will be send to multiple parallel approvers..how can I validate if all approvers?. I had experience like if one approves then proceed not sure about parallel approval and validating it

    shubhama926776
    September 8, 2025

    MNI creates 3 separate task instances (one per approver) running in parallel, each saves their decision to array index pv!decisions[tp!instanceIndex], and "All instances done" setting makes process wait until all 3 complete.
    After all complete, XOR gateway checks all(pv!decisions = "Approved"), This returns true only if all 3 approved, false if any rejected - so validation happens once at the end, not after each approval.

    stefanhelzle0001
    September 6, 2025
    And also for approving I need to use the esign which is integrated in another application.

    What exactly does this mean?

    September 6, 2025

    I need to integrate the application which is used for esign to approve 

    stefanhelzle0001
    September 6, 2025

    OK, but is that application a web UI, an API or something else?

    harshas2775
    September 6, 2025

    Instead of MNI and Tasks, I would suggest to work with records and related action! You can create a related action for approvers so that each approver can initiate the process which contains user input task for approver. In the same process you can store approval/rejection decision and subsequent next steps like status change, audit entries,emails etc. 

    For assignments you can use related action expression to show/hide to approvers appropriately as per status and action.

    In front end, as per related action security all approvers will see the action button. When they click they all will see screens where they can approve or reject. You will need to maintain decision of each approver in a table. 

    When 1 rejects and 2 approves, system can check each approvers action in the audit. On rejection, change overall case status so that another related action becomes available that initiator needs to action on.

    For integrating esign functionality from another application Make sure to discuss with the team who built that integration! If in future it can change/ possibly not maintained your application being dependent on it can be in a pickle! If certainly its stable and okay to be reused then you can call the same interface object, otherwise best is to have it built separately for your application to have it decoupled as well as prevent dependency related issues in future! So finalise after discussing with the clients tech team internally.