To prevent data mix-ups in multi-flow approvals, I use a SubmissionID—a unique ID generated when the employee first submits their form. This ID is passed through each approval step (supervisor → manager → HR) as a hidden field in subsequent forms. In every flow, I filter Get response details
using submissionID eq '@{variables('SubmissionID')}'
to fetch only the original submission’s data. This ensures:
No cross-contamination between concurrent requests.
Fresh data at each step (no variable reuse).
Easy debugging—track all steps via the SubmissionID.
Its not fully complete but something like this