From 7b512502c464778acd4e2ea8f2ae9f7f92cdb11e Mon Sep 17 00:00:00 2001 From: Khare Date: Sun, 19 Oct 2025 17:49:58 +0530 Subject: [PATCH] Added leave-management-agent sample under samples/ --- .../Images/Leave Management Agent.png | Bin 0 -> 99632 bytes .../leave-management-agent/Images/agent.png | Bin 0 -> 66742 bytes samples/leave-management-agent/README.md | 247 ++++++ samples/leave-management-agent/agent.mermaid | 33 + samples/leave-management-agent/langgraph.json | 7 + samples/leave-management-agent/main.py | 781 ++++++++++++++++++ samples/leave-management-agent/pyproject.toml | 20 + .../leave-management-agent/requirements.txt | Bin 0 -> 6292 bytes samples/leave-management-agent/uipath.json | 161 ++++ 9 files changed, 1249 insertions(+) create mode 100644 samples/leave-management-agent/Images/Leave Management Agent.png create mode 100644 samples/leave-management-agent/Images/agent.png create mode 100644 samples/leave-management-agent/README.md create mode 100644 samples/leave-management-agent/agent.mermaid create mode 100644 samples/leave-management-agent/langgraph.json create mode 100644 samples/leave-management-agent/main.py create mode 100644 samples/leave-management-agent/pyproject.toml create mode 100644 samples/leave-management-agent/requirements.txt create mode 100644 samples/leave-management-agent/uipath.json diff --git a/samples/leave-management-agent/Images/Leave Management Agent.png b/samples/leave-management-agent/Images/Leave Management Agent.png new file mode 100644 index 0000000000000000000000000000000000000000..c272ef6f016d4ad9eb676edd30ce2728ac05a985 GIT binary patch literal 99632 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 z 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ξ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 Rw*=tF%6u>NzUkqF{{U1LW)uJb literal 0 HcmV?d00001 diff --git a/samples/leave-management-agent/README.md b/samples/leave-management-agent/README.md new file mode 100644 index 00000000..4acffefc --- /dev/null +++ b/samples/leave-management-agent/README.md @@ -0,0 +1,247 @@ +# Leave Management Agent + +An intelligent, automated leave request processing system built with LangGraph and UiPath SDK that streamlines employee leave management through AI-powered decision making, policy compliance checks, and human-in-the-loop approvals. + +## Workflow + +```mermaid +graph TD + A[Start: Receive Leave Request] --> B[Extract Leave Information] + B --> C[Get Employee Details] + C --> D{All Fields Present?} + D -->|No| E[Employee HITL Form] + E --> D + D -->|Yes| F[Categorize Leave Type] + F --> G[Check Company Policy] + G --> H[Check Leave Availability] + H --> I{Policy Compliant?} + I -->|Needs HR| J[HR Approval HITL] + I -->|Auto Approved| K[Update Database] + I -->|Auto Rejected| L[Send Rejection Email] + J --> M{HR Decision} + M -->|Approved| K + M -->|Rejected| L + K --> N[Send Approval Email] + N --> O[End] + L --> O +``` +## Demo Video +[![Watch the video](Images/Leave%20Management%20Agent.png)](https://youtu.be/sGMS7WFrees?si=J0TDSdNuiu5cbdHx) + + +## Features + +- **Intelligent Leave Request Parsing**: Automatically extracts leave dates, duration, and reasons from natural language requests +- **Smart Categorization**: AI-powered classification of leave types (Vacation, Sick Leave, Maternity/Paternity, Bereavement, Personal Leave) +- **Policy Compliance**: Real-time validation against company policies using UiPath Context Grounding +- **Leave Balance Management**: Integration with employee database via MCP (Model Context Protocol) +- **Human-in-the-Loop (HITL)**: Action Tasks (UiPath Action App) for missing information and HR approvals +- **Automated Email Notifications**: Sends approval/rejection emails with detailed information +- **Database Integration**: Automatic leave balance updates upon approval + +## Architecture + +The agent is built using a **state machine architecture** with LangGraph, enabling complex workflows with conditional branching and human intervention points. + +### Key Components + +1. **LangGraph State Machine**: Orchestrates the entire workflow +2. **UiPath Services Integration**: + - **Context Grounding**: Policy document retrieval and compliance checking + - **MCP Server**: Database operations (employee details, leave balance) + - **HITL Actions**: Action Tasks (UiPath Action App) for user input and approvals +3. **LLM (GPT-4)**: Natural language understanding and decision making +4. **Email Service**: Automated notifications via MCP + + +## Getting Started + +### Prerequisites + +- Python 3.10+ +- UiPath Automation Suite account +- LLM API key +- MCP Server configured with database access + +### Installation + +1. **Clone the repository** + ```bash + git clone https://github.com/rajneeshk94/LeaveManagementAgent.git + cd LeaveManagementAgent + ``` + +2. **Install dependencies** + ```bash + pip install -r requirements.txt + ``` + +3. **Configure environment variables** + + Create a `.env` file: + ```env + # MCP Server + MCP_SERVER_URL=https://your-mcp-server-url + + # Optional: If not using UiPath's LLM + OPENAI_API_KEY=your_openai_key + ``` + +4. **Set up UiPath Resources** + + - **Context Grounding Index**: Create an index named `company-policy-index` with your HR policies + - **MCP Server Tools**: Configure the following tools: + - `getemployeedetails`: Retrieve employee information + - `getleavebalance`: Fetch leave balance + - `updateleavebalance`: Update leave records + - sendemail`: Email notification service + - **HITL Apps**: Deploy the following apps in your `Shared` folder: + - `LeaveRequestApp`: Employee information app + - `HRApprovalApp`: HR approval app + +5. **Authenticate with UiPath** + ```bash + uipath auth + ``` + +6. **Package the project** + ```bash + uipath pack + ``` + +7. **Publish the project** + ```bash + uipath publish + + - When prompted, select tenant to upload + ``` + +### Running the Agent + +```python +import asyncio +from main import agent, GraphState + +async def process_leave_request(): + # Initialize state with employee's leave request + initial_state = GraphState( + leave_request="I need leave from Dec 20 to Dec 25 for vacation", + employee_email="john.doe@company.com" + ) + + # Run the agent + final_state = None + async for event in agent.astream(initial_state): + print(f"Event: {event}") + final_state = event + + # Check final status + if final_state: + print(f"\nFinal Status: {final_state['final_status']}") + +# Run the async function +if __name__ == "__main__": + asyncio.run(process_leave_request()) +``` + +## Configuration + +### Leave Categories + +The system supports five leave types: +- **Vacation**: Personal time off, travel, recreation +- **Sick Leave**: Illness, medical appointments, mental health +- **Maternity/Paternity**: Pregnancy, childbirth, adoption +- **Bereavement**: Death of family member, funeral attendance +- **Personal Leave**: Personal matters not covered elsewhere + +### Default Leave Balances + +```python +{ + "Vacation": 20, + "Sick Leave": 12, + "Maternity/Paternity": 90, + "Bereavement": 5, + "Personal Leave": 3 +} +``` + +### HR Approval Triggers + +HR approval is required when: +- Leave duration exceeds 5 days +- Leave type is Maternity/Paternity +- Policy violations detected +- Insufficient leave balance +- Policy explicitly requires HR review + +## MCP Server Setup + +Your MCP server should implement these endpoints: + +**GET `/getemployeedetails`** +```json +{ + "employee_email": "user@company.com" +} +``` + +**GET `/getleavebalance`** +```json +{ + "employee_email": "user@company.com" +} +``` + +**POST `/updateleavebalance`** +```json +{ + "employee_email": "user@company.com", + "leave_type": "Vacation", + "days": 5 +} +``` + +**POST `/sendemail`** +```json +{ + "Recipient": "user@company.com", + "Subject": "Leave Request Status", + "Body": "..." +} +``` + +## Project Structure + +``` +leave-management-agent/ +├── main.py # Main agent code +├── requirements.txt # Python dependencies +├── .env # Environment variables (not committed) +├── README.md # This file +├── Images/ +│ ├── agent.png +``` + +## Customization + +### Adding New Leave Types + +1. Update the `categorize_node` system prompt +2. Add default balance in `default_leave_balance()` +3. Update company policies in Context Grounding index + +### Modifying Approval Rules + +Edit the `check_policy_node` function to adjust: +- HR approval thresholds +- Policy validation logic +- Balance checking rules + +### Email Templates + +Customize email content in: +- `send_approval_email_node` +- `send_rejection_email_node` + diff --git a/samples/leave-management-agent/agent.mermaid b/samples/leave-management-agent/agent.mermaid new file mode 100644 index 00000000..f04d5888 --- /dev/null +++ b/samples/leave-management-agent/agent.mermaid @@ -0,0 +1,33 @@ +graph TD; + step_start[Start] + step_get_employee_details[Get Employee Details] + step_check_fields[Check Leave Details] + step_employee_hitl[HITL: Employee fills details] + step_categorize[Categorize Leave] + step_check_policy[Check Leaves Policy] + step_check_availability[Check Leave Eligibility] + step_hr_approval[HR Approval] + step_update_database[Update Leave Database] + step_send_approval[Send Approval Email] + step_send_rejection[Send Rejection Email] + step_end[End] + + step_start --> step_get_employee_details + step_get_employee_details --> step_check_fields + step_check_fields -. leave_details_complete .-> step_categorize + step_check_fields -. leave_details_missing .-> step_employee_hitl + step_employee_hitl --> step_check_fields + step_categorize --> step_check_policy + step_check_policy --> step_check_availability + step_check_availability -. needs_hr_approval .-> step_hr_approval + step_check_availability -. auto_rejected .-> step_send_rejection + step_check_availability -. auto_approved .-> step_update_database + step_hr_approval -. rejected .-> step_send_rejection + step_hr_approval -. approved .-> step_update_database + step_update_database --> step_send_approval + step_send_approval --> step_end + step_send_rejection --> step_end + + classDef default fill:# + classDef first fill-opacity:0 + classDef last fill:# diff --git a/samples/leave-management-agent/langgraph.json b/samples/leave-management-agent/langgraph.json new file mode 100644 index 00000000..4d52ccaa --- /dev/null +++ b/samples/leave-management-agent/langgraph.json @@ -0,0 +1,7 @@ +{ + "dependencies": ["."], + "graphs": { + "agent": "./main.py:graph" + }, + "env": ".env" + } diff --git a/samples/leave-management-agent/main.py b/samples/leave-management-agent/main.py new file mode 100644 index 00000000..4a8383d2 --- /dev/null +++ b/samples/leave-management-agent/main.py @@ -0,0 +1,781 @@ +from pydantic import BaseModel +from langgraph.graph import StateGraph, END +from langgraph.types import interrupt, Command +from uipath.models import CreateAction +from uipath_langchain.chat import UiPathChat +from langchain_core.messages import SystemMessage, HumanMessage +from uipath_langchain.retrievers import ContextGroundingRetriever +from uipath import UiPath +from typing import Dict, Any +from dotenv import load_dotenv +from datetime import datetime +from contextlib import asynccontextmanager +from langchain_mcp_adapters.tools import load_mcp_tools +from mcp import ClientSession +from mcp.client.streamable_http import streamablehttp_client +import json, os, logging, ast + +load_dotenv() + +logging.basicConfig(level=logging.INFO) + +# Use UiPathChat for making LLM calls +llm = UiPathChat(model="gpt-4o-2024-08-06") + +uipath_client = UiPath() + +# ---------------- MCP Server Configuration ---------------- +@asynccontextmanager +async def get_mcp_session(): + """MCP session management""" + MCP_SERVER_URL = os.getenv("MCP_SERVER_URL") + + if hasattr(uipath_client, 'api_client'): + if hasattr(uipath_client.api_client, 'default_headers'): + auth_header = uipath_client.api_client.default_headers.get('Authorization', '') + if auth_header.startswith('Bearer '): + UIPATH_ACCESS_TOKEN = auth_header.replace('Bearer ', '') + logging.info("Retrieved token from UiPath API client") + + async with streamablehttp_client( + url=MCP_SERVER_URL, + headers={"Authorization": f"Bearer {UIPATH_ACCESS_TOKEN}"} if UIPATH_ACCESS_TOKEN else {}, + timeout=60, + ) as (read, write, session_id_callback): + async with ClientSession(read, write) as session: + await session.initialize() + yield session + +async def get_mcp_tools(): + """Load MCP tools for use with agents""" + async with get_mcp_session() as session: + tools = await load_mcp_tools(session) + return tools + +# Initialize Context Grounding for company policy +context_grounding = ContextGroundingRetriever( + index_name="company-policy-index", + folder_path="Shared", + number_of_results=1 + ) + +# ---------------- State ---------------- +class GraphState(BaseModel): + """Enhanced state to track the complete leave request workflow""" + leave_request: str | None = None + employee_email: str | None = None + employee_id: str | None = None + employee_name: str | None = None + leave_start: str | None = None + leave_end: str | None = None + leave_reason: str | None = None + leave_category: str | None = None + leave_days_requested: int | None = None + available_leave_balance: Dict[str, int] | None = None + policy_compliant: bool | None = None + policy_violations: list | None = [] + applicable_policies: list | None = [] + hr_approval_required: bool = False + hr_approved: bool | None = None + hr_comments: str | None = None + final_status: str | None = None # "approved", "rejected" + + # Control flags + hitl_required: bool = False + validation_complete: bool = False + + +# ---------------- Helper Functions ---------------- +async def check_company_policy_with_context(state: GraphState) -> Dict[str, Any]: + """Check if leave request complies with company policy using Context Grounding""" + + # Default return value + default_result = { + "compliant": True, + "violations": [], + "applicable_policies": [], + "requires_hr": state.leave_days_requested > 4 + } + + try: + # Your existing policy check logic... + policy_query = f"""What is the company policy on + Leave type: {state.leave_category} + Duration: {state.leave_days_requested} days + Reason: {state.leave_reason} + """ + + # Try to get policy context + try: + policy_context = context_grounding.invoke(policy_query) + logging.info(f"DEBUG: Retrieved {len(policy_context) if policy_context else 0} policy documents") + except Exception as e: + logging.warning(f"WARNING: Context grounding failed: {e}") + return default_result + + if policy_context: + # Process documents... + applicable_policies = [] + for doc in policy_context: + policy_text = doc.page_content + source = doc.metadata.get('source', 'Unknown') + page = doc.metadata.get('page_number', '1') + formatted_policy = f"Source: {source} (Page {page})\n{policy_text}" + applicable_policies.append(formatted_policy) + + # LLM analysis... + try: + policy_check_prompt = f""" + Based on the following company policies, check if this leave request is compliant: + + Leave Request: + - Type: {state.leave_category} + - Duration: {state.leave_days_requested} days + - Dates: {state.leave_start} to {state.leave_end} + - Reason: {state.leave_reason} + + Relevant Policies: + {chr(10).join(applicable_policies)} + + Return output in this format but don't explicitly convert or return a json: + {{ + "compliant": true, + "violations": [], + "requires_hr": false + }} + """ + + response = await llm.ainvoke([ + SystemMessage("You are a policy compliance checker. Analyze the policies and return only JSON."), + HumanMessage(policy_check_prompt) + ]) + + result = json.loads(response.content) + result["applicable_policies"] = applicable_policies + return result + + except Exception as e: + logging.warning(f"WARNING: LLM policy analysis failed: {e}") + default_result["applicable_policies"] = applicable_policies + return default_result + else: + logging.warning("WARNING: No policy documents found") + return default_result + + except Exception as e: + logging.error(f"ERROR: Policy check completely failed: {e}") + return default_result + +def calculate_leave_days(start: str, end: str) -> int: + """Calculate number of leave days requested""" + try: + start_date = datetime.strptime(start, "%Y-%m-%d") + end_date = datetime.strptime(end, "%Y-%m-%d") + return (end_date - start_date).days + 1 + except: + return 1 + +def default_leave_balance(): + """Default leave balance fallback""" + return { + "Vacation": 20, + "Sick Leave": 12, + "Maternity/Paternity": 90, + "Bereavement": 5, + "Personal Leave": 3 + } + +# ---------------- Tool Operations via MCP ---------------- +async def get_employee_leave_balance_mcp(employee_email: str) -> Dict[str, int]: + """Get leave balance using proper MCP tools""" + + try: + async with get_mcp_session() as session: + tools = await load_mcp_tools(session) + + # Find the database query tool + GetLeaveBalance_tool = next((tool for tool in tools if "getleavebalance" in tool.name.lower()), None) + if not GetLeaveBalance_tool: + logging.warning("WARNING: Database query tool not found in MCP server") + return default_leave_balance() + + try: + result = await GetLeaveBalance_tool.ainvoke({ + "employee_email": employee_email, + }) + + balance_dict = {} + + # Convert string to dict + result = ast.literal_eval(result) if result else None + + if result and isinstance(result, dict) and "leave_balance" in result: + for key, value in result["leave_balance"].items(): + balance_dict[key] = value + + return balance_dict if balance_dict else default_leave_balance() + else: + return default_leave_balance() + + except Exception as e: + logging.warning(f"WARNING: MCP database query failed: {e}") + return default_leave_balance() + + except Exception as e: + logging.warning(f"WARNING: MCP session creation failed: {e}") + return default_leave_balance() + +async def update_leave_balance_mcp(employee_email: str, leave_type: str, days: int): + """Update leave balance using proper MCP tools""" + async with get_mcp_session() as session: + tools = await load_mcp_tools(session) + + # Find the database update tool + update_tool = next((tool for tool in tools if "updateleavebalance" in tool.name.lower()), None) + if not update_tool: + logging.error("Database update tool not found in MCP server") + raise Exception("Database update tool not available") + + try: + await update_tool.ainvoke({ + "employee_email": employee_email, + "leave_type": leave_type, + "days": days + }) + logging.info(f"Updated DB via MCP: Deducted {days} days of {leave_type} for {employee_email}") + + except Exception as e: + logging.error(f"Error updating leave balance via MCP: {e}") + raise + +async def get_employee_details_mcp(employee_email: str): + """Update employee details using proper MCP tools""" + async with get_mcp_session() as session: + tools = await load_mcp_tools(session) + + # Find the database update tool + getemployeedetails_tool = next((tool for tool in tools if "getemployeedetails" in tool.name.lower()), None) + if not getemployeedetails_tool: + logging.error("Get Employee Details update tool not found in MCP server") + raise Exception("Get Employee Details update tool not available") + + try: + result = await getemployeedetails_tool.ainvoke({ + "employee_email": employee_email + }) + logging.info(f"Retrieved employee details via MCP") + + employee_details_dict = {} + + # Convert string to dict (safe for Python dict-style strings) + result = ast.literal_eval(result) if result else None + + if result and isinstance(result, dict) and "employee_details" in result: + for key, value in result["employee_details"].items(): + employee_details_dict[key] = value + + return employee_details_dict if employee_details_dict else None + else: + return None + + except Exception as e: + logging.error(f"Error retrieving employee details via MCP: {e}") + raise + +async def send_email_mcp(to: str, subject: str, body: str): + """Send email using proper MCP tools""" + async with get_mcp_session() as session: + tools = await load_mcp_tools(session) + + # Find the email tool + email_tool = next((tool for tool in tools if "sendemail" in tool.name.lower()), None) + if not email_tool: + logging.error("Email tool not found in MCP server") + raise Exception("Email tool not available") + + try: + await email_tool.ainvoke({ + "Recipient": to, + "Subject": subject, + "Body": body + }) + logging.info(f"Email sent via MCP to {to}") + + except Exception as e: + logging.error(f"Error sending email via MCP: {e}") + raise + + +# ---------------- Nodes ---------------- +async def start_node(state: GraphState) -> GraphState: + """Extract leave information from the request""" + system_prompt = """You are a smart HR assistant tasked with extracting leave information from a user's message. + + Your goal is to extract the following three fields: + 1. leave_start - the start date of the leave (try to parse informal dates like "next Monday", "Sep 25", etc. into YYYY-MM-DD if possible; otherwise return null) + 2. leave_end - the end date of the leave (same rules as leave_start) + 3. leave_reason - the reason for the leave + + Instructions: + - Only return a JSON object with keys: leave_start, leave_end, leave_reason. + - If a field cannot be determined, return null. + - If dates are vague (like "next Monday"), try to infer the actual date relative to today, but if not possible, return null. + - Only output the JSON. Do not include any explanations, commentary, or extra text. + - Extract the most relevant reason from the user's message. + + Examples: + + User message: "I want to take leave from 2025-09-25 to 2025-09-27 for attending a wedding." + Output: + { + "leave_start": "2025-09-25", + "leave_end": "2025-09-27", + "leave_reason": "attending a wedding" + } + + User message: "I need a day off next Monday." + Output: + { + "leave_start": "2025-09-30", + "leave_end": "2025-09-30", + "leave_reason": "a day off" + } + + User message: "I want leave for a family function." + Output: + { + "leave_start": null, + "leave_end": null, + "leave_reason": "family function" + } + """ + + output = await llm.ainvoke( + [SystemMessage(system_prompt), + HumanMessage(state.leave_request)] + ) + + leave_data = json.loads(output.content) + + # Calculate leave days if dates are available + leave_days = None + if leave_data.get("leave_start") and leave_data.get("leave_end"): + leave_days = calculate_leave_days(leave_data["leave_start"], leave_data["leave_end"]) + + return state.model_copy(update={ + "leave_start": leave_data.get("leave_start"), + "leave_end": leave_data.get("leave_end"), + "leave_reason": leave_data.get("leave_reason"), + "leave_days_requested": leave_days + }) + + +async def get_employee_details_node(state: GraphState) -> GraphState: + """Get employee details via MCP integration""" + + employee_details = await get_employee_details_mcp( + state.employee_email + ) + + return state.model_copy(update={ + "employee_id": employee_details['Employee ID'] or None, + "employee_name": employee_details['Employee Name'] or None + }) + + +async def check_fields_node(state: GraphState) -> GraphState: + """Check if all required fields are present""" + hitl_required = not state.leave_start or not state.leave_end or not state.leave_reason + return state.model_copy(update={"hitl_required": hitl_required}) + + +async def employee_hitl_node(state: GraphState) -> Command: + """Ask employee to fill missing details""" + action_data = interrupt( + CreateAction( + app_name="LeaveRequestApp", + title="Please fill missing leave details", + data={ + "LeaveStart": state.leave_start or "", + "LeaveEnd": state.leave_end or "", + "LeaveReason": state.leave_reason or "" + }, + app_version=1, + app_folder_path="Shared" + ) + ) + + updates = { + "leave_start": action_data.get("LeaveStart", state.leave_start), + "leave_end": action_data.get("LeaveEnd", state.leave_end), + "leave_reason": action_data.get("LeaveReason", state.leave_reason), + "leave_days_requested": calculate_leave_days( + action_data.get("LeaveStart", state.leave_start), + action_data.get("LeaveEnd", state.leave_end) + ) + } + + return Command(update=updates) + + +async def categorize_node(state: GraphState) -> GraphState: + """Categorize the leave type based on the request reason""" + system_prompt = """You are a leave categorization expert. Categorize the leave request into ONE of these exact categories based on the reason provided: + + 1. Vacation - Personal time off for rest, travel, recreation, or personal activities + 2. Sick Leave - Personal illness, medical appointments, mental health, or caring for sick immediate family + 3. Maternity/Paternity - Pregnancy-related leave, childbirth, adoption, or bonding with new child + 4. Bereavement - Death of family member, friend, or attending funeral services + 5. Personal Leave - Personal matters not covered by other categories (legal issues, home emergencies, personal business) + + Guidelines for categorization: + - Wedding attendance (own or family) = Vacation + - Doctor appointments = Sick Leave + - Caring for sick child/parent = Sick Leave + - Funeral attendance = Bereavement + - Home repairs/emergencies = Personal Leave + - Mental health days = Sick Leave + + Return ONLY the exact category name from the list above. Do not add explanations or additional text.""" + + # Create the leave reason context for better categorization + leave_context = f"Leave reason: {state.leave_reason}" + if state.leave_start and state.leave_end: + leave_context += f"\nDates: {state.leave_start} to {state.leave_end}" + if state.leave_days_requested: + leave_context += f"\nDuration: {state.leave_days_requested} days" + + output = await llm.ainvoke( + [SystemMessage(system_prompt), + HumanMessage(leave_context)] + ) + + # Clean the output and ensure it matches one of our categories + category = output.content.strip() + + # Validate the category matches our expected types + valid_categories = ["Vacation", "Sick Leave", "Maternity/Paternity", "Bereavement", "Personal Leave"] + + if category not in valid_categories: + # Log the unexpected category and default to Personal Leave + logging.warning(f"Unexpected category '{category}' returned, defaulting to 'Personal Leave'") + category = "Personal Leave" + + return state.model_copy(update={"leave_category": category}) + + +async def check_policy_node(state: GraphState) -> GraphState: + """Check company policy using Context Grounding and leave availability via MCP""" + + # Initialize default values + policy_check = { + "compliant": True, + "violations": [], + "applicable_policies": [], + "requires_hr": False + } + + balance = default_leave_balance() # Ensure we always have a balance + + try: + # Check policy compliance using Context Grounding + policy_result = await check_company_policy_with_context(state) + if policy_result: + policy_check = policy_result + else: + logging.warning("DEBUG: Policy check returned None, using defaults") + + except Exception as e: + logging.error(f"ERROR: Policy check failed: {e}") + # Use default policy_check values + + try: + # Get available leave balance via MCP server + balance_result = await get_employee_leave_balance_mcp(state.employee_email) + if balance_result: + balance = balance_result + else: + logging.warning("DEBUG: Balance check returned None, using defaults") + + except Exception as e: + logging.error(f"ERROR: Balance check failed: {e}") + # Use default balance + + # Ensure we have valid data + if not isinstance(balance, dict): + balance = default_leave_balance() + + if not isinstance(policy_check, dict): + policy_check = { + "compliant": True, + "violations": [], + "applicable_policies": [], + "requires_hr": False + } + + # Check if employee has sufficient leave balance + if state.leave_category in balance: + available = balance[state.leave_category] + if state.leave_days_requested > available: + policy_check["violations"].append( + f"Insufficient {state.leave_category} balance. Available: {available} days" + ) + policy_check["compliant"] = False + else: + # Add the category with default value + balance[state.leave_category] = 0 + policy_check["violations"].append(f"No {state.leave_category} balance available") + policy_check["compliant"] = False + + # Determine if HR approval is needed based on policy and other factors + hr_required = ( + policy_check.get("requires_hr", False) or + state.leave_days_requested > 5 or + state.leave_category == "Maternity/Paternity" or + not policy_check.get("compliant", True) + ) + + # Create the updated state + updated_state = state.model_copy(update={ + "policy_compliant": policy_check.get("compliant", True), + "policy_violations": policy_check.get("violations", []), + "applicable_policies": policy_check.get("applicable_policies", []), + "available_leave_balance": balance, + "hr_approval_required": hr_required, + "validation_complete": True + }) + + return updated_state + + +async def check_leave_availability_node(state: GraphState) -> GraphState: + """Check if the detected leave type is available for the employee""" + if not state.available_leave_balance: + return state + + leave_available = False + if state.leave_category in state.available_leave_balance: + available_days = state.available_leave_balance[state.leave_category] + leave_available = available_days >= state.leave_days_requested + + if not leave_available and "Insufficient" not in str(state.policy_violations): + violations = state.policy_violations or [] + violations.append(f"Insufficient {state.leave_category} balance") + return state.model_copy(update={ + "policy_violations": violations, + "policy_compliant": False + }) + + return state + + +async def hr_approval_node(state: GraphState) -> Command: + """Send to HR for approval""" + violation_text = "\n".join(state.policy_violations) if state.policy_violations else "None" + policy_text = "\n".join(state.applicable_policies[:2]) if state.applicable_policies else "Standard policies apply" + + action_data = interrupt( + CreateAction( + app_name="HRApprovalApp", + title="Leave Request Needs HR Approval", + data={ + "Employee": f"{state.employee_name} (ID: {state.employee_id})", + "LeaveType": f"{state.leave_category} (Current Balance - {state.available_leave_balance.get(state.leave_category, 0)})", + "Period": f"{state.leave_start} to {state.leave_end} ({state.leave_days_requested} days)", + "Reason": state.leave_reason, + "PolicyViolations": violation_text, + "ApplicablePolicies": policy_text + }, + app_version=2, + app_folder_path="Shared" + ) + ) + + hr_approved = action_data.get("Approval").lower() == "approved" + + return Command(update={ + "hr_approved": hr_approved, + "hr_comments": action_data.get("Comments", ""), + "final_status": "approved" if hr_approved else "rejected" + }) + + +async def update_database_node(state: GraphState) -> GraphState: + """Updated database node with proper MCP integration""" + if state.final_status == "approved" or state.policy_compliant: + await update_leave_balance_mcp( + state.employee_email, + state.leave_category, + state.leave_days_requested + ) + + return state + + +async def send_approval_email_node(state: GraphState) -> GraphState: + """Send approval email with proper MCP integration""" + email_subject = f"Leave Request Approved - {state.leave_category}" + email_body = f""" +

Dear {state.employee_name},

+ +

Your leave request has been approved.

+ +

Details:
+ - Leave Type: {state.leave_category}
+ - Start Date: {state.leave_start}
+ - End Date: {state.leave_end}
+ - Duration: {state.leave_days_requested} days
+ - Reason: {state.leave_reason} +

+ +

HR Comments: {state.hr_comments or 'N/A'}

+ +

Your remaining balance for {state.leave_category}: { + state.available_leave_balance.get(state.leave_category, 0) - state.leave_days_requested + } days

+ +

Best regards,
HR Team

+ """ + + await send_email_mcp( + to=state.employee_email, # Fixed: was sender_email + subject=email_subject, + body=email_body + ) + + return state.model_copy(update={"final_status": "completed"}) + + +async def send_rejection_email_node(state: GraphState) -> GraphState: + """Send rejection email with proper MCP integration""" + email_subject = f"Leave Request Rejected - {state.leave_category}" + + rejection_reasons = [] + if state.policy_violations: + rejection_reasons.extend(state.policy_violations) + if state.hr_comments: + rejection_reasons.append(f"HR Comments: {state.hr_comments}") + + email_body = f""" +

Dear {state.employee_name},

+ +

Your leave request has been rejected.

+ +

Details:
+ - Leave Type: {state.leave_category}
+ - Requested Dates: {state.leave_start} to {state.leave_end}
+ - Duration: {state.leave_days_requested} days +

+ +

Reason(s) for rejection:

+
    + {''.join(f'
  • {reason}
  • ' for reason in rejection_reasons)} +
+ +

Please contact HR for more information or to discuss alternative arrangements.

+ +

Best regards,
HR Team

+ """ + + await send_email_mcp( + to=state.employee_email, # Fixed: was sender_email + subject=email_subject, + body=email_body + ) + + return state.model_copy(update={"final_status": "completed"}) + + +def end_node(state: GraphState) -> GraphState: + """Final node to log the completion""" + logging.info(f"Leave request processing completed. Status: {state.final_status}") + return state + + +# ---------------- Condition Functions ---------------- +def should_go_to_employee_hitl(state: GraphState): + """Check if employee HITL is needed""" + return "hitl_needed" if state.hitl_required else "hitl_not_needed" + +def should_go_to_hr(state: GraphState): + """Check if HR approval is needed""" + if state.hr_approval_required: + return "needs_hr_approval" + elif state.policy_compliant: + return "auto_approved" + else: + return "auto_rejected" + +def hr_decision(state: GraphState): + """Route based on HR decision""" + return "approved" if state.hr_approved else "rejected" + + +# ---------------- Build Graph ---------------- +graph = StateGraph(GraphState) + +# Add all nodes +graph.add_node("start", start_node) +graph.add_node("get_employee_details", get_employee_details_node) +graph.add_node("check_fields", check_fields_node) +graph.add_node("employee_hitl", employee_hitl_node) +graph.add_node("categorize", categorize_node) +graph.add_node("check_policy", check_policy_node) +graph.add_node("check_availability", check_leave_availability_node) +graph.add_node("hr_approval", hr_approval_node) +graph.add_node("update_database", update_database_node) +graph.add_node("send_approval_email", send_approval_email_node) +graph.add_node("send_rejection_email", send_rejection_email_node) +graph.add_node("end", end_node) + +# Set entry point +graph.set_entry_point("start") + +# Add edges +graph.add_edge("start", "get_employee_details") +graph.add_edge("get_employee_details", "check_fields") + +# Employee HITL routing +graph.add_conditional_edges( + "check_fields", + should_go_to_employee_hitl, + { + "hitl_needed": "employee_hitl", + "hitl_not_needed": "categorize" + } +) +graph.add_edge("employee_hitl", "check_fields") + +# Continue flow +graph.add_edge("categorize", "check_policy") +graph.add_edge("check_policy", "check_availability") + +# HR approval routing +graph.add_conditional_edges( + "check_availability", + should_go_to_hr, + { + "needs_hr_approval": "hr_approval", + "auto_approved": "update_database", + "auto_rejected": "send_rejection_email" + } +) + +# HR decision routing +graph.add_conditional_edges( + "hr_approval", + hr_decision, + { + "approved": "update_database", + "rejected": "send_rejection_email" + } +) + +# Final steps +graph.add_edge("update_database", "send_approval_email") +graph.add_edge("send_approval_email", "end") +graph.add_edge("send_rejection_email", "end") +graph.add_edge("end", END) + +# Compile the graph +agent = graph.compile() diff --git a/samples/leave-management-agent/pyproject.toml b/samples/leave-management-agent/pyproject.toml new file mode 100644 index 00000000..8c7c6fb4 --- /dev/null +++ b/samples/leave-management-agent/pyproject.toml @@ -0,0 +1,20 @@ +[project] +name = "leave_management_agent" +version = "1.0.0" +description = "leave_management_agent" +authors = [{ name = "Rajneesh Khare", email = "rajneeshkhare94@gmail.com" }] +requires-python = ">=3.10" +dependencies = [ + "uipath-langchain", + "langchain-mcp-adapters", + "mcp", + "langgraph", + "pydantic", + "python-dotenv", + "httpx" +] + +[build-system] +requires = ["setuptools>=42", "wheel"] +build-backend = "setuptools.build_meta" + diff --git a/samples/leave-management-agent/requirements.txt b/samples/leave-management-agent/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..df0d72f295c603039de0b94e5dd703a3c94f26dc GIT binary patch literal 6292 zcmb`MT~C`w5QX=;Qh$moYy(LydXd|zm0Gn@)hlFdgGum5Y@A?zeB1NPdB^+u141GT znY!%ke4IHmJG=Ss-$A)6^D-%eve3__jN@~y|G(GIs{E{eDShmLIg@9S`L} zJ6P|>8dBYI(UMt7^0v%E7jj)moa=M8BlAgi?xbrRy3VxT3(1t4NyA+0gOC}Oj{dum z<#FR3JKnUk&a^%$OYK=m?{KU2vb^1q+C&`qg-_ibn=AQ!CmrK*6Z?tqT}T-LVqb32 zxzGv{>G4xp$KH;t&*NK0-xod=$3r<{TPo6_tk2{_C!!eZJNVq|Gt~!~P51?(#D7+< z<$tfiwd%bqBgwNHgzKJO_;Kj(RQ6^ei{G!Y4yMVAYWMYeI`Z#PnZh11E)U{5Z{ixp zDv{ji1EM{}?MU#VAJGrBTGtaDvNjBslQj_RC{AongPnKfX=|HI!idxdJBQ_CShStY zG}*lmErZa5Ph^ALmyI`MY9V`bWs}S<{v8?GnAV5##u(qD(oy4iFk>jO!HfN{3nzRYe9MMf!1Fc!q zE%wuP)kCb~Mh3Kz09Sg%dH6n2)ZLbTqO#u;$msc`E%Dv9jN5R069su>`5K9 zyQHPsCk|yenI^JCUxV+p+I@;=PkQZ6yxl#=(UVL+?q^4q$;P!Zd8asPx50CFiDULx zsx)_F^kZi?<129kUbv2saW~IA5$i`u+^7$CLK08hlhbSWe(Gl_Svu(#?b??{FZ!+7 z(kt2J8`BfJ$cA}IRL+@s#R^r<%v5#IdC5K=@%vurFpFdrVsBTTS>t}oFEqOAOqCP- zNIU(&A$|3lPha?j{&uyy|5T4xk*nWlGdWc}#B|m0`?y7{ z+QXURp6=uY6rGp3;#x;KNePg>kxwvjCf~=AWzgVU#RvZG z>C^aNjrfhw+o;0t*VYko&-G9&Tr}By$pYs&ob#MFR0Q(fHJ*#I{PNjDw?`r(6y3=?((uwbkdultS z?wh~^wr1u|s~xVcTHW_lXfLF76RcgR+x52H>{R-x?oX;_?u-xmoSH4}!L=Km67{z3 z{>eT6A~ZN(z7-J=W$MK{cTH}Z^aJ|8Z;u1rs#vcRmpj_m`c6IJ-D6+ZcfPd?zLr~@ zG|VR*o$U3^<1oX^?IaJDIiuAxi@PRRGw0`hlK7Y)^VG|=L38HcMqb*tb>9*u@`u|A zme7F)_j4u&?h!YUgK3<|IkPgacxE93OkZ?fCVfwX$pOzRmRTu-j-OSZ`PEx$7LVF@ zN@l2Db5e8Sb8pI%2_3BawZ(JWz6`S@Ou{O6i@bd#QW@v2<|}yu>&!K5FlFZ~^t=4H z-Ja!bjof8C5g_wR`MdlTsM^amu6}cZ?O^YhufzOpU#TO-c0na0rMHFHJ8U_Y?GG><6`FdEivEzd~?rCBf(vBEsMS< zz=Db%75Gu>bNyxtPW;+$rL0c1J746`oeX~vM@Cv@A9=ZK;qLj+r?JnA_9@|5K+kWz zW-IqECUd`2)C#F@UN1@SPVeT)zJ=#+Czh`_ueGw?QEYIJK3W-O{Ic(Jx6PiN>~Pjy zZSD1!?gAjvjjG4z! literal 0 HcmV?d00001 diff --git a/samples/leave-management-agent/uipath.json b/samples/leave-management-agent/uipath.json new file mode 100644 index 00000000..f382fdd9 --- /dev/null +++ b/samples/leave-management-agent/uipath.json @@ -0,0 +1,161 @@ +{ + "entryPoints": [ + { + "filePath": "agent", + "uniqueId": "28c5ddb9-ffa3-44e3-9a23-eb265d6f10c1", + "type": "agent", + "input": { + "type": "object", + "properties": { + "leave_request": { + "type": "string" + }, + "employee_email": { + "type": "string" + }, + "employee_id": { + "type": "string" + }, + "employee_name": { + "type": "string" + }, + "leave_start": { + "type": "string" + }, + "leave_end": { + "type": "string" + }, + "leave_reason": { + "type": "string" + }, + "leave_category": { + "type": "string" + }, + "leave_days_requested": { + "type": "integer" + }, + "available_leave_balance": { + "additionalProperties": { + "type": "integer" + }, + "type": "object" + }, + "policy_compliant": { + "type": "boolean" + }, + "policy_violations": { + "items": {}, + "type": "array" + }, + "applicable_policies": { + "items": {}, + "type": "array" + }, + "hr_approval_required": { + "default": false, + "title": "Hr Approval Required", + "type": "boolean" + }, + "hr_approved": { + "type": "boolean" + }, + "hr_comments": { + "type": "string" + }, + "final_status": { + "type": "string" + }, + "hitl_required": { + "default": false, + "title": "Hitl Required", + "type": "boolean" + }, + "validation_complete": { + "default": false, + "title": "Validation Complete", + "type": "boolean" + } + }, + "required": [] + }, + "output": { + "type": "object", + "properties": { + "leave_request": { + "type": "string" + }, + "employee_email": { + "type": "string" + }, + "employee_id": { + "type": "string" + }, + "employee_name": { + "type": "string" + }, + "leave_start": { + "type": "string" + }, + "leave_end": { + "type": "string" + }, + "leave_reason": { + "type": "string" + }, + "leave_category": { + "type": "string" + }, + "leave_days_requested": { + "type": "integer" + }, + "available_leave_balance": { + "additionalProperties": { + "type": "integer" + }, + "type": "object" + }, + "policy_compliant": { + "type": "boolean" + }, + "policy_violations": { + "items": {}, + "type": "array" + }, + "applicable_policies": { + "items": {}, + "type": "array" + }, + "hr_approval_required": { + "default": null, + "title": "Hr Approval Required", + "type": "boolean" + }, + "hr_approved": { + "type": "boolean" + }, + "hr_comments": { + "type": "string" + }, + "final_status": { + "type": "string" + }, + "hitl_required": { + "default": null, + "title": "Hitl Required", + "type": "boolean" + }, + "validation_complete": { + "default": null, + "title": "Validation Complete", + "type": "boolean" + } + }, + "required": [] + } + } + ], + "bindings": { + "version": "2.0", + "resources": [] + } +} \ No newline at end of file