👥 Team ProjectTeam Project

HRMS - Workflow & Approvals Module-lead

A configurable workflow and approvals module built as part of an HR Management System, allowing admins to set up multi-level approval flows for attendance, leave, and claims — with manager approval actions, employee request tracking, and an org chart view.

H

My Role

Team project — contributed to backend API development and frontend including workflow configuration endpoints, approval step management, approver assignment and resolution logic, request creation and approval action flows, and org chart API.

Duration

Team Project

Project Type

Team Project

About the Project

The Workflow & Approvals Module is a core part of an HR Management System (HRMS) built with ASP.NET Core Web API and Entity Framework Core. Admins can create workflows for different HR modules (Attendance, Leave, Claims), configure multi-level approval steps (L1, L2, etc.), and assign approvers by employee, role, or manager relationship. Employees can view their approvers and track request status. Managers can view pending team requests, approve or reject with comments, and the system automatically moves requests to the next approval level. An org chart visualises the employee reporting hierarchy.

The Problem

HR teams in organisations manually handle approval chains for attendance, leave, and claims over email or spreadsheets, with no structured way to configure who approves what, track where a request is in the chain, or enforce multi-level sign-off consistently across modules.

The Solution

Built a configurable workflow engine where admins define approval flows per HR module with ordered steps and flexible approver types — primary, secondary, manager-based, or role-based. When an employee raises a request the system resolves the approval chain automatically, routes it to the correct approver at each level, and progresses it on approval or stops it on rejection.

Outcome & Results

A working multi-level approval module integrated into an HRMS with configurable workflows, dynamic approver resolution, manager approval actions with comments, employee-facing approver visibility, and an org chart. Delivered as a team project contribution.

Challenges Faced

Dynamic approver resolution: Approvers can be assigned by specific employee, by role, or by manager relationship. The system needs to resolve the correct approver at runtime based on the assignment type when a request is created. Multi-level step progression: After each approval action the system must check if more steps remain in the workflow and route to the next approver automatically, or mark the request as fully approved if it was the final step. Flexible workflow configuration: The same approval engine needed to support different HR modules (Attendance, Leave, Claims) with completely different workflow structures configured by admins without code changes. Role-based access enforcement: Admin, Manager, and Employee each have strictly different permissions — the same endpoints behave differently or are blocked entirely based on the caller's role, requiring careful middleware and authorization policy design

What I'd Do Differently

Email and in-app notifications when a request is submitted, approved, or rejected. Parallel approvals — allow multiple approvers at the same level to approve simultaneously rather than sequentially. Escalation workflows — automatically escalate to the next approver if no action is taken within a configured time window. Approval history logs — full audit trail of every action taken on every request. Workflow analytics dashboard — approval turnaround times, bottleneck detection, and request volume by module.