- Record an attendance check-in for a specific employee at a given time, with optional location tracking via map configuration
- Record an attendance check-out for an employee to complete the daily work hours entry, requiring a prior check-in
- User Report - Get a day-by-day attendance SUMMARY report for ONE employee over a date range (status, total hours, overtime, deviation). For raw punch entries use get_attendance_entries; for all employees use get_multiple_attendance_report
- User Report - Get a day-by-day attendance report for ALL employees ORGANIZATION-WIDE (100 per page) over a date range. Cannot be scoped to a department or employee list -- filter results client-side. For one employee use get_single_attendance_report
- Retrieve RAW check-in/check-out punch entries (timestamps, locations) for a specific date, optionally for one employee. The canonical action when a task asks for attendance ENTRIES; for day-level summary reports use the report actions
- Retrieve shift configuration details of an employee for a given date range, including shift timings, holidays, and weekends
- Import attendance check-in and check-out records for multiple employees in a single batch API call
- Fetch attendance entries added or updated within the last N minutes, including regularisation entries. The canonical action for recent/latest attendance changes -- prefer over get_attendance_entries or get_records for recency-based queries
- Map or update the shift assigned to an employee for a specified date range
- Fetch attendance regularization request records within a date range, optionally filtered by employee or fetched by record ID
- Retrieve HR cases that the authenticated user personally submitted (requested), with optional status filtering. Does NOT return cases assigned to you -- use get_my_cases for that
- Retrieve HR cases where the authenticated user is the ASSIGNED AGENT (responsible for resolving), with optional filtering by status, search query, requestor, and time period. Does NOT return cases you submitted -- use get_requested_cases for that
- Retrieve HR cases that have NO assigned agent (unassigned queue). Use this to find cases waiting for someone to pick them up
- Retrieve HR cases in an OPEN state that are relevant to the authenticated user (combines submitted and assigned). Broader than get_my_cases or get_requested_cases
- Retrieve ALL HR cases across the entire organization regardless of who submitted or is assigned, with full filtering by status, category, search query, requestor, and time period
- Retrieve full details of a specific HR case by its record ID, including status, category, comments, and resolution information
- Submit a new HR case with a category, subject, and optional description for employee service requests
- Retrieve all HR case categories configured in the organization, providing category IDs needed for creating new cases
- Retrieve a paginated list of all clients configured in the time tracker module
- Retrieve full details of a specific client by its ID, including optional record deletion permission info
- Create a new client in the time tracker module with name, currency, and optional contact details, address, industry classification, and billing configuration
- Modify an existing client's name, contact details, address, industry classification, currency, or billing configuration
- Delete one or more clients from the time tracker module by their IDs
- Add a new employee to Zoho People with required fields (EmployeeID, FirstName, LastName, EmailID) and optional profile/direct-add settings
- Modify an existing employee's field values by record ID
- Retrieve all system and custom forms configured in the Zoho People account, including their metadata and view details
- Retrieve the field schema (labelnames, types, mandatory flags, picklist values) of a form. Needed ONLY before insert_record/update_record when field labelnames are unknown -- never required for read-only retrieval or report actions
- Retrieve paginated raw records from a Zoho People FORM VIEW (viewName like P_EmployeeView) -- a GENERIC fallback. Use the specialized action instead when one exists (leave balances/types, attendance, timesheets, job schedules)
- Fetch ONE record with all field values by formLinkName + recordId. Use when you already have a recordId (from get_records, get_bulk_records, or insert_record) and need that record's full detail -- not for listing or searching records
- Insert a new record into any Zoho People form by providing form-specific field values as a JSON-encoded string
- Modify field values of a specified record in any Zoho People form
- List all view names and IDs across Zoho People forms -- a discovery step needed ONLY as a prerequisite to get_records. Skip it when a specialized action covers the task (leave, attendance, and timesheet actions need no view names)
- Retrieve all records from a Zoho People FORM (using formLinkName like "employee"), grouped by section. Use get_records instead if you have a viewName; prefer specialized leave/attendance/timesheet actions when one covers the task
- Retrieve jobs assigned to a specific employee with optional filtering by assigner, status, project, and client
- Create a new job in the time tracker module with name, dates, project assignment, and assignee configuration
- Modify an existing job's name, dates, project assignment, assignees, or other field values
- Retrieve full details of a specific job by its ID, including optional date formatting and department information
- Change the status of a job to In-Progress or Completed
- Delete one or more jobs from the time tracker module by their IDs
- Retrieve job schedule entries within a date range (max 1 week). Use user="all" to view all users' schedules (specific email may return permission denied for non-login employees)
- Create a NEW job schedule entry for a specific job, date, and time range, with optional repeat configuration. Does NOT publish existing entries -- when the task is to publish an already-created schedule, use publish_job_schedule
- Modify an existing job schedule entry including date, time, description, repeat settings, and publish status
- Delete a job schedule entry, with optional control over repeat series deletion
- Publish EXISTING (already-created, unpublished) job schedule entries within a date range, making them visible to assigned employees. Does NOT create entries -- use add_job_schedule to create a new schedule
- (DEPRECATION WARNING) Retrieve leave type definitions for a specific employee, including type IDs, names, balance, and paid/unpaid classification. The only source of leave type IDs -- prefer over get_records or get_fields_of_form
- Retrieve leave request records within a mandatory date range, with optional filtering by employee, approval status, leave type, and data scope. Prefer this over get_records (P_ApplyLeaveView) for listing leave requests
- Retrieve the current-leave-year balance summary for ONE employee. NOT for multi-employee, department, or booked-vs-balance reports over a custom date range -- use get_leave_booked_and_balance_report for those
- Retrieve per-leave-type BOOKED (used) days plus remaining BALANCE for one or more employees over a date range. The canonical leave-balance report -- prefer over get_user_report and get_records for any booked-vs-balance question
- Cancel an existing leave request by its record ID with an optional reason
- Add or subtract leave balance for employees by providing balance data as a JSON-encoded string
- Retrieve holidays with optional filtering by location, shift, employee, and date range (V2 API, replaces deprecated list_holidays)
- Add a new onboarding candidate to the organization with required first name, last name, email, and mobile number
- Modify field values of a specific onboarding candidate by their record ID
- Reopen the onboarding process for a candidate using their email or candidate ID
- Trigger the onboarding process for an existing employee by their record ID
- Trigger the onboarding process for an existing candidate by their record ID
- Retrieve all time tracking projects with optional filtering by client, assignee, status, manager, and project name search
- Retrieve full details of a specific time tracking project by its ID, including optional user count, job count, and department information
- Create a new time tracking project with name, client, users, managers, and optional cost and department configuration
- Modify an existing project's name, client, users, managers, cost, or department configuration
- Change the status of a time tracking project to In-progress or Completed
- Delete one or more time tracking projects by their IDs
- Retrieve timesheet entries with optional filtering by user, approval status, employee status, and date range
- Create a new time log entry for a specific employee against a job with date, hours, and optional billing and project details
- Retrieve time log entries with optional filtering by user, job, date range, client, project, billing status, and approval status
- Retrieve full details of a specific time log entry by its ID, including optional timer details and comment count
- Modify an existing time log entry -- requires re-sending workDate, jobId, billingStatus, and hours on every call even if not changing them
- Permanently delete one or more time log entries by their IDs
- Retrieve full details of a specific timesheet by its ID, including time entries, approval status, and total hours
- Create a new timesheet for a specific employee with a defined date range, and optionally associate it with jobs, projects, or clients
- Approve or reject a submitted timesheet, with optional comments and control over multi-level approval
- Modify an existing timesheet's name, description, submission status, or remove attachments
- Permanently delete one or more timesheets by their IDs
No matching actions