action_approval_request
ChatGPTApprove or reject a pending approval request. Use this tool when users want to: - Approve a leave request, expense request, or any pending request - Reject a pending request with an optional note/reason - Take action on a specific approval request from their pending list - Act on items from their "pending things to do" The user must first call get_pending_approval_requests to see available requests and obtain the approval_request_id before calling this tool. IMPORTANT: Always confirm the action with the user before calling this tool. Show them which request will be approved/rejected and ask for explicit confirmation, as this action cannot be easily undone. Args: approval_request_id: The unique ID of the approval request to act on (obtained from get_pending_approval_requests). action: The action to take — either "APPROVED" or "REJECTED". note: Optional note or reason for the action (especially useful when rejecting a request). Returns: Dictionary containing: - success: Whether the action was completed successfully - approval_request_id: The ID that was acted upon - action: The action taken (APPROVED or REJECTED) - message: Human-readable result message Raises: ValueError: If authentication is missing, the request ID is invalid, the user is not authorized to act on this request, or the action fails.
calculate_employment_cost
ChatGPTCalculate the total cost of hiring an employee, including salary, benefits, taxes, and statutory contributions. Use this tool when users ask about: - Employment costs, hiring costs, or total cost of employment - Salary calculations, CTC (Cost to Company), or employer costs - Budgeting for hiring, workforce planning, or compensation planning - Comparing salary offers or understanding true employment costs This employee cost calculator helps you estimate the true cost of employment beyond base pay, revealing the full financial impact of each hire. It includes region-specific components such as payroll taxes, insurance, and statutory contributions to ensure accurate cost projections for each location. Perfect for budgeting, workforce planning, and making data-backed hiring decisions when expanding your global team. Args: country_code: Country code - Only 'IN' (India) is currently supported gross_annual_salary: Annual gross salary amount currency_code: Currency code - Only 'INR', 'USD', and 'EUR' are supported Returns: Dictionary containing: - GROSS_ANNUAL_SALARY: The input salary (rounded to 2 decimals) - CURRENCY_CODE: The requested currency code - EMPLOYER_COSTS: List of employer cost components with name, value, and description - TOTAL_ANNUAL_COST: Total annual cost to employer (rounded to 2 decimals) Raises: ValueError: If the calculation fails due to invalid inputs or system errors Examples: >>> Calculate for India in INR >>> calculate_employment_cost("IN", 1000000, "INR") >>> Calculate for India in USD >>> calculate_employment_cost("IN", 15000, "USD")
get_employee_profile
ChatGPTFetch an employee's profile by their Employee ID. Use this tool when users ask about: - Employee details, profile, or personal information - Looking up a specific person by their employee ID - Contact details, department, or designation of an employee - Employment status (active, resigned, etc.) The company context is automatically determined from the authenticated user's token — callers only need to supply the employee ID. Args: employee_id: The employee's ID (the EMPLOYEE_ID field, e.g. "EMP001"). Returns: Dictionary containing the employee's profile with fields such as name, department, designation, contact info, employment status, joining date, manager, and more. Raises: ValueError: If authentication is missing, the company cannot be determined, or no employee matches the given ID.
get_pending_approval_requests
ChatGPTGet pending approval requests that need the current user's action. Use this tool when users ask about: - Pending approvals or requests waiting for action - "What do I need to approve?" - "Pending things to do" or "my pending tasks" - Leave requests, expense requests, or any requests awaiting approval - Dashboard pending items or action items The company and approver context is automatically determined from the authenticated user's token. Only requests where the current user is the designated approver at the current workflow step are returned. Returns: Dictionary containing: - total_pending: Number of pending approval requests - summary_by_type: Counts grouped by request type (LEAVE, EXPENSE, etc.) - requests: List of pending requests, each containing approval_request_id, request_type, requester name, requested date, details, and status Raises: ValueError: If authentication is missing, the company cannot be determined, or the requests cannot be fetched.
get_today_attendance_status
ChatGPTGet today's attendance status report showing who is present, absent, on leave, late, or working from home. Use this tool when users ask about: - Who is present or absent today - Who is on leave today - Who is working from home (WFH) today - Who is late today or came in late - Today's attendance summary or status report - How many people are in office today - Daily attendance overview The company context is automatically determined from the authenticated user's token. Admin users see all employees; non-admin users see their direct and indirect reportees only. Returns: Dictionary containing: - date: Today's date - total_employees: Total number of employees in the report - counts: Summary counts for each status category - employees_by_status: Employees grouped by status category, each entry containing name, employee_code, status_detail, hours_worked, first_clock_in, last_clock_out, and shift Raises: ValueError: If authentication is missing, the company cannot be determined, or the report cannot be generated.