# Zoho People

```json
{
  "name": "Zoho People",
  "slug": "zoho_people",
  "url": "https://composio.dev/toolkits/zoho_people",
  "markdown_url": "https://composio.dev/toolkits/zoho_people.md",
  "logo_url": "https://logos.composio.dev/api/zoho_people",
  "categories": [
    "hr & recruiting"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-10-31T05:41:15.850Z"
}
```

![Zoho People logo](https://logos.composio.dev/api/zoho_people)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Zoho People MCP or direct API to manage employee records, check leave and attendance, review timesheets, and support HR workflows through natural language.

## Summary

Zoho People is a cloud HR platform for employee records, leave, attendance, and HR workflows.
It centralizes workforce data and helps teams manage everyday people operations.

## Categories

- hr & recruiting

## Toolkit Details

- Tools: 160

## Images

- Logo: https://logos.composio.dev/api/zoho_people

## Authentication

- **Oauth2**
  - Type: `oauth2`
  - Description: Oauth2 authentication for Zoho People.
  - Setup:
    - Configure Oauth2 credentials for Zoho People.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- List employees on leave this week
- Review attendance records for late arrivals
- Summarize timesheets for the finance team

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `ZOHO_PEOPLE_ADD_LEAVE_BALANCE` | Add leave balance | Add legacy leave balance for the documented employees and leave types. |
| `ZOHO_PEOPLE_ADD_LMS_TRAINERS` | Add LMS trainers | Add the supplied employees as Zoho People LMS trainers. |
| `ZOHO_PEOPLE_ADD_TIMER_COMMENT` | Add timer comment | Add a comment to a legacy time log or timer. |
| `ZOHO_PEOPLE_APPLY_HOURLY_PERMISSION` | Apply hourly permission | Submit an hourly-permission request. |
| `ZOHO_PEOPLE_APPROVE_ON_DUTY_REQUEST` | Approve on-duty request | Approve or reject an on-duty request using the documented decision fields. |
| `ZOHO_PEOPLE_APPROVE_TIMESHEET` | Approve timesheet | Approve or reject one legacy timesheet using the documented decision fields. |
| `ZOHO_PEOPLE_BULK_CANCEL_LEAVE_REQUESTS` | Bulk cancel leave requests | Cancel the explicitly supplied set of V3 leave request IDs. |
| `ZOHO_PEOPLE_CANCEL_COMPENSATORY_REQUEST` | Cancel compensatory request | Cancel a V3 compensatory-off request by record ID. |
| `ZOHO_PEOPLE_CANCEL_HOURLY_PERMISSION` | Cancel hourly permission | Cancel an hourly-permission request by record and form ID. |
| `ZOHO_PEOPLE_CANCEL_LEAVE_GRANT` | Cancel leave grant | Cancel a V3 leave grant request by record ID. |
| `ZOHO_PEOPLE_CANCEL_LEAVE_REQUEST` | Cancel leave request | Cancel one V3 leave request by record ID. |
| `ZOHO_PEOPLE_CANCEL_ON_DUTY_REQUEST` | Cancel on-duty request | Cancel an on-duty request using the documented record fields. |
| `ZOHO_PEOPLE_CREATE_AND_TAG_EMPLOYEE_KRAS` | Create and tag employee KRAs | Create a KRA and tag it to selected employees in one Zoho operation. |
| `ZOHO_PEOPLE_CREATE_ATTENDANCE_ENTRIES` | Create attendance entries | Create attendance entries using the V3 provider-native batch contract. |
| `ZOHO_PEOPLE_CREATE_ATTENDANCE_REGULARIZATION` | Create attendance regularization | Submit an attendance regularization request using the documented legacy contract. |
| `ZOHO_PEOPLE_CREATE_COMPENSATORY_REQUEST` | Create compensatory request | Create a V3 compensatory-off request. |
| `ZOHO_PEOPLE_CREATE_EMPLOYEE_SALARY` | Create employee salary | Add a salary record for an employee. |
| `ZOHO_PEOPLE_CREATE_FILE_FOLDER` | Create file folder | Create a Zoho People V3 file folder. |
| `ZOHO_PEOPLE_CREATE_FORM_RECORD` | Create form record | Create a record in a supported Zoho People form or create an employee record. |
| `ZOHO_PEOPLE_CREATE_HR_PROCESS_RECORD` | Create HR process record | Create a V3 HR process record for selected employees using documented process data. |
| `ZOHO_PEOPLE_CREATE_JOB_SCHEDULE` | Create job schedule | Create a legacy job schedule and optionally publish it. |
| `ZOHO_PEOPLE_CREATE_LEAVE_GRANT` | Create leave grant | Create a V3 leave grant request. |
| `ZOHO_PEOPLE_CREATE_LEAVE_REQUEST` | Create leave request | Create a V3 leave request. |
| `ZOHO_PEOPLE_CREATE_LEAVE_SETTING` | Create leave setting | Create a V3 holiday, pay-period policy, or work calendar using a closed typed contract. |
| `ZOHO_PEOPLE_CREATE_LEGACY_TIME_TRACKER_CLIENT` | Create legacy time-tracker client | Create a client using the legacy time-tracker contract. |
| `ZOHO_PEOPLE_CREATE_LMS_BATCH` | Create LMS batch | Create a batch in a blended-learning Zoho People LMS course. |
| `ZOHO_PEOPLE_CREATE_LMS_COURSE` | Create LMS course | Create a Zoho People LMS course using the documented JSON contract. |
| `ZOHO_PEOPLE_CREATE_LMS_MODULE` | Create LMS module | Create a module through the documented self-paced course or blended-learning batch route. |
| `ZOHO_PEOPLE_CREATE_LMS_SESSION` | Create LMS session | Create a session in a module of a blended-learning LMS batch. |
| `ZOHO_PEOPLE_CREATE_ON_DUTY_REQUEST` | Create on-duty request | Submit an on-duty request using the documented legacy contract. |
| `ZOHO_PEOPLE_CREATE_PERFORMANCE_LIBRARY_ITEMS` | Create performance library items | Create up to 20 competencies, KRAs, skills, or review questions. |
| `ZOHO_PEOPLE_CREATE_SHIFT_MAPPING` | Create shift mapping | Map a shift to one employee using the V3 multipart contract. |
| `ZOHO_PEOPLE_CREATE_TIME_LOG` | Create time log | Create a legacy time log; supplying new project or job names also creates those resources. |
| `ZOHO_PEOPLE_CREATE_TIMESHEET` | Create timesheet | Create a legacy timesheet from time logs and optionally submit it for approval. |
| `ZOHO_PEOPLE_CREATE_VARIABLE` | Create variable | Create a V3 Zoho People variable. |
| `ZOHO_PEOPLE_CREATE_VARIABLE_GROUP` | Create variable group | Create a V3 variable group. |
| `ZOHO_PEOPLE_DELETE_ATTENDANCE_ENTRIES` | Delete attendance entries | Delete one V3 attendance entry by ID or a provider-supported filtered set of entries. |
| `ZOHO_PEOPLE_DELETE_ATTENDANCE_REGULARIZATIONS` | Delete attendance regularizations | Delete one explicitly supplied attendance regularization record. |
| `ZOHO_PEOPLE_DELETE_COMPENSATORY_REQUEST` | Delete compensatory request | Delete a V3 compensatory-off request by record ID. |
| `ZOHO_PEOPLE_DELETE_EMPLOYEE_PERFORMANCE_ITEMS` | Delete employee performance items | Permanently remove selected tagged KRAs, competencies, or skills from an employee. |
| `ZOHO_PEOPLE_DELETE_FILES` | Delete files | Permanently delete up to 100 explicitly supplied Zoho People file IDs. |
| `ZOHO_PEOPLE_DELETE_JOB_SCHEDULE` | Delete job schedule | Delete one legacy job schedule. |
| `ZOHO_PEOPLE_DELETE_LEAVE_GRANT` | Delete leave grant | Delete a V3 leave grant request by record ID. |
| `ZOHO_PEOPLE_DELETE_LEAVE_REQUEST` | Delete leave request | Delete one V3 leave request by record ID. |
| `ZOHO_PEOPLE_DELETE_LEAVE_SETTING` | Delete leave setting | Delete a V3 holiday, pay-period policy, or work calendar by ID. |
| `ZOHO_PEOPLE_DELETE_LEGACY_TIME_TRACKER_CLIENT` | Delete legacy time-tracker client | Delete a client using the legacy time-tracker contract. |
| `ZOHO_PEOPLE_DELETE_LEGACY_TIME_TRACKER_RESOURCE` | Delete legacy time-tracker resource | Delete legacy projects or jobs using the selected documented contract. |
| `ZOHO_PEOPLE_DELETE_ON_DUTY_REQUEST` | Delete on-duty request | Delete explicitly supplied on-duty requests. |
| `ZOHO_PEOPLE_DELETE_PERFORMANCE_LIBRARY_ITEMS` | Delete performance library items | Request deletion of selected performance library records. Zoho's success response is an acknowledgement and does not verify that each record was removed. |
| `ZOHO_PEOPLE_DELETE_SHIFT_MAPPING` | Delete shift mapping | Delete or end one V3 shift mapping with documented date and attendance options. |
| `ZOHO_PEOPLE_DELETE_TIME_LOG` | Delete time log | Delete one legacy time log. |
| `ZOHO_PEOPLE_DELETE_TIMER_COMMENT` | Delete timer comment | Delete one legacy time-tracker comment. |
| `ZOHO_PEOPLE_DELETE_TIMESHEET` | Delete timesheet | Delete up to 1,000 comma-separated legacy timesheet IDs; fails loudly if Zoho skips any ID after partially deleting others. |
| `ZOHO_PEOPLE_DELETE_TIME_TRACKER_RESOURCES` | Delete time-tracker resources | Delete the explicitly supplied V3 client, project, or job IDs. |
| `ZOHO_PEOPLE_DELETE_VARIABLE` | Delete variable | Delete one V3 variable by numeric ID or API name. |
| `ZOHO_PEOPLE_DELETE_VARIABLE_GROUP` | Delete variable group | Delete one V3 variable group by group ID or API name. |
| `ZOHO_PEOPLE_DOWNLOAD_FILE` | Download file | Download one Zoho People V3 file and return a file reference. |
| `ZOHO_PEOPLE_DOWNLOAD_TIME_TRACKER_ATTACHMENT` | Download time-tracker attachment | Download one attachment from a documented time-tracker entity and return a file reference. |
| `ZOHO_PEOPLE_ENROLL_LMS_LEARNERS` | Enroll LMS learners | Create externally visible learner enrollments in a course or a specific blended-learning batch. |
| `ZOHO_PEOPLE_GET_ATTENDANCE_ENTRY` | Get attendance entry | Fetch one V3 attendance entry by entry ID. |
| `ZOHO_PEOPLE_GET_ATTENDANCE_REGULARIZATION_FIELDS` | Get attendance regularization fields | Return configured fields for attendance regularization requests. |
| `ZOHO_PEOPLE_GET_COMPENSATORY_REQUEST` | Get compensatory request | Return one specific V3 compensatory-off request by record ID. |
| `ZOHO_PEOPLE_GET_FILE` | Get file | View one Zoho People V3 file and return a file reference. |
| `ZOHO_PEOPLE_GET_FILE_SHARING_OPTIONS` | Get file sharing options | Return allowed folders or organization-file share targets. |
| `ZOHO_PEOPLE_GET_FORM_FIELDS` | Get form fields | Get the field components and label names needed to read or write records in a Zoho People form. |
| `ZOHO_PEOPLE_GET_FORM_RECORD` | Get form record | Fetch one form record, a section-wise record, or records from a saved employee view. |
| `ZOHO_PEOPLE_GET_HOLIDAY` | Get holiday | Fetch one V3 holiday by holiday ID. |
| `ZOHO_PEOPLE_GET_HOURLY_PERMISSION_OPTIONS` | Get hourly permission options | Return applicable permission types, balance, or configured details for an hourly-permission request. |
| `ZOHO_PEOPLE_GET_HR_PROCESS_RECORD` | Get HR process record | Fetch one V3 HR process record by its documented record ID. |
| `ZOHO_PEOPLE_GET_LEAVE_GRANT` | Get leave grant | Fetch one V3 leave grant request by record ID. |
| `ZOHO_PEOPLE_GET_LEAVE_REPORT` | Get leave report | Return one page of a selected V3 or documented legacy leave report. |
| `ZOHO_PEOPLE_GET_LEAVE_REQUEST` | Get leave request | Fetch one V3 leave request by record ID. |
| `ZOHO_PEOPLE_GET_LEAVE_SETTING` | Get leave setting | Fetch one V3 pay-period policy or work calendar by ID. |
| `ZOHO_PEOPLE_GET_LEGACY_TIME_TRACKER_RESOURCE` | Get legacy time-tracker resource | Fetch one legacy client, project, or job by ID. |
| `ZOHO_PEOPLE_GET_LMS_SETTINGS` | Get LMS settings | Return organization-level Zoho People LMS settings. |
| `ZOHO_PEOPLE_GET_MY_COMPENSATION` | Get my compensation | Return compensation details for the connected employee. |
| `ZOHO_PEOPLE_GET_ON_DUTY_DETAILS` | Get on-duty details | Fetch details for one on-duty request. |
| `ZOHO_PEOPLE_GET_ORGANIZATION` | Get organization | Return the connected Zoho People organization's details. |
| `ZOHO_PEOPLE_GET_PAY_PERIOD_SETTINGS` | Get pay-period settings | Return legacy payroll pay-period settings. |
| `ZOHO_PEOPLE_GET_RUNNING_TIMER` | Get running timer | Return the connected user's currently running time-tracker timer. |
| `ZOHO_PEOPLE_GET_SHIFT_MAPPING` | Get shift mapping | Fetch one V3 shift mapping by mapping ID. |
| `ZOHO_PEOPLE_GET_SHIFT_SCHEDULE` | Get shift schedule | Return V3 shift schedules for an employee and date range. |
| `ZOHO_PEOPLE_GET_SUGGESTED_LMS_COURSE_COUNT` | Get suggested LMS course count | Return the number of LMS courses suggested to the connected learner. |
| `ZOHO_PEOPLE_GET_TIME_LOG` | Get time log | Fetch one legacy time log with optional timer and comment counts. |
| `ZOHO_PEOPLE_GET_TIMESHEET` | Get timesheet | Fetch one legacy timesheet by ID. |
| `ZOHO_PEOPLE_GET_TIME_TRACKER_REPORTS_AND_SETTINGS` | Get time-tracker reports and settings | Return a payroll report page, pay-period details, or general time-tracker settings. |
| `ZOHO_PEOPLE_GET_TIME_TRACKER_RESOURCE` | Get time-tracker resource | Fetch one V3 client, project, or job by ID with resource-specific include options. |
| `ZOHO_PEOPLE_GET_VARIABLE` | Get variable | Fetch one V3 variable by numeric ID or API name. |
| `ZOHO_PEOPLE_GET_VARIABLE_GROUP` | Get variable group | Fetch one V3 variable group by group ID or API name. |
| `ZOHO_PEOPLE_LIST_ATTENDANCE_ENTRIES` | List attendance entries | Return one V3 page of attendance entries with employee, date, and modification filters. |
| `ZOHO_PEOPLE_LIST_ATTENDANCE_REGULARIZATION_REASONS` | List attendance regularization reasons | Return configured reasons available for attendance regularization. |
| `ZOHO_PEOPLE_LIST_ATTENDANCE_REGULARIZATION_RECORDS` | List attendance regularization records | Return one page of attendance regularization records using documented filters. |
| `ZOHO_PEOPLE_LIST_COMPENSATION_REFERENCE_DATA` | List compensation reference data | Return compensation components, packages, currencies, reasons, or settings. |
| `ZOHO_PEOPLE_LIST_COMPENSATION_REVISIONS` | List compensation revisions | Return one page of compensation revisions with date and status filters. |
| `ZOHO_PEOPLE_LIST_COMPENSATORY_REQUESTS` | List compensatory requests | Return one V3 page of compensatory-off requests with employee, date, approval, and status filters. |
| `ZOHO_PEOPLE_LIST_EMPLOYEE_PERFORMANCE_ITEMS` | List employee performance items | Return one page of an employee's KRAs, competencies, or skills. |
| `ZOHO_PEOPLE_LIST_EMPLOYEE_SALARIES` | List employee salaries | Return one page of employee salary records for team or all visibility. |
| `ZOHO_PEOPLE_LIST_FILE_ACKNOWLEDGEMENTS` | List file acknowledgements | Return one acknowledgement-details page or user acknowledgement statuses. |
| `ZOHO_PEOPLE_LIST_FILE_FOLDERS` | List file folders | Return all Zoho People V3 file folders matching an optional name. |
| `ZOHO_PEOPLE_LIST_FILES` | List files | Return one page from a documented Zoho People V3 file view. |
| `ZOHO_PEOPLE_LIST_FORM_RECORDS` | List form records | Return one page of records from a named Zoho People form. |
| `ZOHO_PEOPLE_LIST_FORMS` | List forms | List forms and their identifiers, link names, views, visibility, and permissions in Zoho People. |
| `ZOHO_PEOPLE_LIST_HOLIDAYS` | List holidays | Return one V3 page of holidays. |
| `ZOHO_PEOPLE_LIST_HOURLY_PERMISSION_REQUESTS` | List hourly permission requests | Return one page of hourly-permission requests or approvals for the connected user's role. |
| `ZOHO_PEOPLE_LIST_JOB_SCHEDULES` | List job schedules | Return one legacy page of job schedules by user and date range. |
| `ZOHO_PEOPLE_LIST_LEAVE_GRANTS` | List leave grants | Return one V3 page of leave grant requests with employee, date, approval, and sort filters. |
| `ZOHO_PEOPLE_LIST_LEAVE_REQUESTS` | List leave requests | Return one V3 page of leave requests with employee, date, type, approval, and status filters. |
| `ZOHO_PEOPLE_LIST_LEAVE_SETTINGS` | List leave settings | List V3 pay-period policies or work calendars. |
| `ZOHO_PEOPLE_LIST_LEGACY_HOLIDAYS` | List legacy V2 holidays | Return holidays from the V2 all-holidays API using its employee, location, shift, and upcoming filters. |
| `ZOHO_PEOPLE_LIST_LEGACY_TIME_TRACKER_RESOURCES` | List legacy time-tracker resources | Return one legacy page of clients, projects, or jobs with legacy filters. |
| `ZOHO_PEOPLE_LIST_LMS_BATCH_SESSIONS` | List LMS batch sessions | Fetch one page of sessions from a blended-learning LMS batch. |
| `ZOHO_PEOPLE_LIST_LMS_CATEGORIES` | List LMS categories | Return one page of Zoho People LMS course categories. |
| `ZOHO_PEOPLE_LIST_LMS_COURSES` | List LMS courses | Return one page of all LMS courses or the connected user's courses with documented filters. |
| `ZOHO_PEOPLE_LIST_LMS_MODULES` | List LMS modules | Fetch one page of modules from a self-paced course or a fixed blended-learning batch route. |
| `ZOHO_PEOPLE_LIST_LMS_ROOMS` | List LMS rooms | Return one page of up to 25 rooms available for LMS sessions. |
| `ZOHO_PEOPLE_LIST_LMS_TRAINERS` | List LMS trainers | Return one page of LMS trainers with employee-status and sort filters. |
| `ZOHO_PEOPLE_LIST_ON_DUTY_REQUESTS` | List on-duty requests | Return one page of on-duty requests or approvals for the connected user's role. |
| `ZOHO_PEOPLE_LIST_ON_DUTY_TYPES` | List on-duty types | Return configured on-duty request types. |
| `ZOHO_PEOPLE_LIST_PERFORMANCE_LIBRARY_ITEMS` | List performance library items | Return one page of competencies, KRAs, skills, or review questions. |
| `ZOHO_PEOPLE_LIST_RELATED_FORM_RECORDS` | List related form records | Return one page of records related through a parent module and lookup field. |
| `ZOHO_PEOPLE_LIST_SHIFT_MAPPINGS` | List shift mappings | Return one V3 page of employee shift mappings. |
| `ZOHO_PEOPLE_LIST_TIME_LOGS` | List time logs | Return one legacy page of time logs with employee, project, job, date, billing, and approval filters. |
| `ZOHO_PEOPLE_LIST_TIMESHEETS` | List timesheets | Return one legacy timesheet page for a required user with documented status and date filters. |
| `ZOHO_PEOPLE_LIST_TIME_TRACKER_RESOURCES` | List time-tracker resources | Return one V3 page of clients, projects, or jobs with resource-specific filters. |
| `ZOHO_PEOPLE_LIST_UNTAGGED_PERFORMANCE_ITEMS` | List untagged performance items | Return one page of KRAs or competencies not tagged to selected employees. |
| `ZOHO_PEOPLE_LIST_VARIABLE_GROUPS` | List variable groups | Return one page of variable groups using the V3 index selector. |
| `ZOHO_PEOPLE_LIST_VARIABLES` | List variables | Return one page of variables using the V3 index selector. |
| `ZOHO_PEOPLE_LIST_VIEWS` | List views | Return the default and custom Zoho People views available to the connected user. |
| `ZOHO_PEOPLE_LIST_WORK_ITEMS` | List work items | Return one legacy page of work items for an employee or job. |
| `ZOHO_PEOPLE_MARK_LMS_SESSION_ATTENDANCE` | Mark LMS session attendance | Record Present or Absent for one learner in a completed LMS session; this externally visible attendance mutation is not a read operation. |
| `ZOHO_PEOPLE_PUBLISH_LMS_RESOURCE` | Publish LMS course or batch | Publish a self-paced course or blended-learning batch. This changes external learner visibility and can irreversibly notify applicable users. |
| `ZOHO_PEOPLE_REMOVE_LMS_COURSE_LEARNER` | Remove LMS course learner | Remove one learner enrollment from a Zoho People LMS course. |
| `ZOHO_PEOPLE_SEARCH_FORM_RECORDS` | Search form records | Return one page of employee form records matching a field, operator, and value. |
| `ZOHO_PEOPLE_SET_FILE_ACKNOWLEDGEMENT` | Set file acknowledgement | Acknowledge a Zoho People V3 policy file or revoke its acknowledgement. |
| `ZOHO_PEOPLE_START_TIMER` | Start timer | Start a legacy timer for a documented time-tracker item. |
| `ZOHO_PEOPLE_TAG_EMPLOYEE_PERFORMANCE_ITEMS` | Tag employee performance items | Tag up to 20 existing KRAs, competencies, or skills to one employee. |
| `ZOHO_PEOPLE_UPDATE_ATTENDANCE_ENTRY` | Update attendance entry | Edit one V3 attendance entry by entry ID. |
| `ZOHO_PEOPLE_UPDATE_COMPENSATORY_REQUEST` | Update compensatory request | Edit a V3 compensatory-off request by record ID. |
| `ZOHO_PEOPLE_UPDATE_CURRENCIES` | Update currencies | Update one named compensation currency or multiple currencies. |
| `ZOHO_PEOPLE_UPDATE_EMPLOYEE_PERFORMANCE_ITEMS` | Update employee performance items | Update an employee's tagged KRAs, competencies, or skills. |
| `ZOHO_PEOPLE_UPDATE_EMPLOYEE_SALARY` | Update employee salary | Update an employee salary record. |
| `ZOHO_PEOPLE_UPDATE_FILE` | Update file | Update a V3 file's metadata or content and optionally send email or feed notifications. |
| `ZOHO_PEOPLE_UPDATE_FILE_FOLDER` | Update file folder | Rename or move a Zoho People V3 file folder. |
| `ZOHO_PEOPLE_UPDATE_FORM_RECORD` | Update form record | Update field values and optional tabular rows on an existing Zoho People form record. |
| `ZOHO_PEOPLE_UPDATE_JOB_SCHEDULE` | Update job schedule | Edit or publish a legacy job schedule using the selected operation. |
| `ZOHO_PEOPLE_UPDATE_LEAVE_GRANT` | Update leave grant | Edit a V3 leave grant request by record ID. |
| `ZOHO_PEOPLE_UPDATE_LEAVE_SETTING` | Update leave setting | Update a V3 holiday, pay-period policy, or work calendar by ID using a closed typed contract. |
| `ZOHO_PEOPLE_UPDATE_LEGACY_TIME_TRACKER_CLIENT` | Update legacy time-tracker client | Update a client using the legacy time-tracker contract. |
| `ZOHO_PEOPLE_UPDATE_LEGACY_TIME_TRACKER_STATUS` | Update legacy time-tracker status | Change a legacy project or job status. |
| `ZOHO_PEOPLE_UPDATE_LMS_SESSION` | Update LMS session | Update fields on an existing blended-learning LMS session. |
| `ZOHO_PEOPLE_UPDATE_PERFORMANCE_LIBRARY_ITEMS` | Update performance library items | Update up to 20 competencies, KRAs, skills, or review questions. |
| `ZOHO_PEOPLE_UPDATE_TIME_LOG` | Update time log | Edit one legacy time log. |
| `ZOHO_PEOPLE_UPDATE_TIMESHEET` | Update timesheet | Edit a legacy timesheet or replace its attachment. This action can irreversibly submit it for approval or permanently remove its attachment. |
| `ZOHO_PEOPLE_UPDATE_TIME_TRACKER_STATUS` | Update time-tracker status | Change the status of one V3 project or job. |
| `ZOHO_PEOPLE_UPDATE_VARIABLE` | Update variable | Update one V3 variable by numeric ID or API name. |
| `ZOHO_PEOPLE_UPDATE_VARIABLE_GROUP` | Update variable group | Update one V3 variable group by group ID or API name. |
| `ZOHO_PEOPLE_UPGRADE_EMPLOYEE_SKILLS` | Upgrade employee skills | Upgrade a skill for selected employees, optionally attaching a certificate. |
| `ZOHO_PEOPLE_UPLOAD_FILE` | Upload file | Upload and optionally share a V3 file, notify people, or require acknowledgement by a deadline. |
| `ZOHO_PEOPLE_UPLOAD_TIME_ATTENDANCE_FILE` | Upload time and attendance file | Upload an attachment for a documented time, attendance, or leave resource. |
| `ZOHO_PEOPLE_UPSERT_LEGACY_FILE_FOLDER` | Create or update legacy file folder | Create or rename a legacy Zoho People file folder using its documented GET mutation. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
```python
pip install composio composio_openai openai
```

```typescript
npm install @composio/core @composio/openai openai
```

#### Path 1, Step 2: Create a Composio session

Initialize Composio with the OpenAI Responses provider and create a session scoped to Zoho People
```python
import json
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
client = OpenAI()

session = composio.create(user_id="your-user-id", toolkits=["zoho_people"])
tools = session.tools()
```

```typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["zoho_people"] });
const tools = await session.tools();
```

#### Path 1, Step 3: Run Zoho People tools with your agent

Send a request, execute the Zoho People tool calls through the session, and print the final answer
```python
response = client.responses.create(
    model="gpt-5.6-sol",
    tools=tools,
    input=[{"role": "user", "content": "List employees currently on leave this week in Zoho People"}],
)

while True:
    tool_calls = [o for o in response.output if o.type == "function_call"]
    if not tool_calls:
        break
    results = composio.provider.handle_tool_calls(response=response, session=session)
    response = client.responses.create(
        model="gpt-5.6-sol",
        tools=tools,
        previous_response_id=response.id,
        input=[
            {"type": "function_call_output", "call_id": call.call_id, "output": json.dumps(results[i])}
            for i, call in enumerate(tool_calls)
        ],
    )

print(response.output_text)
```

```typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "List employees currently on leave this week in Zoho People" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK and your agent framework
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
```

#### Path 2, Step 2: Create a session with MCP enabled

Create a session scoped to Zoho People and read its MCP URL and headers
```python
from composio import Composio

composio = Composio()
session = composio.create(user_id="your-user-id", toolkits=["zoho_people"], mcp=True)
```

```typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["zoho_people"],
  mcp: true,
});
```

#### Path 2, Step 3: Connect your agent to the MCP server

Pass the session's MCP URL and headers to your agent and run a Zoho People request
```python
import asyncio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions, AssistantMessage, TextBlock

options = ClaudeAgentOptions(
    mcp_servers={
        "composio": {
            "type": "http",
            "url": session.mcp.url,
            "headers": session.mcp.headers,
        }
    },
    system_prompt="You are a helpful assistant with access to Zoho People tools.",
    tools=[],
    allowed_tools=["mcp__composio__*"],
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query("List employees currently on leave this week in Zoho People")
        async for message in client.receive_response():
            if isinstance(message, AssistantMessage):
                for block in message.content:
                    if isinstance(block, TextBlock):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "List employees currently on leave this week in Zoho People",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
```

## Why Use Composio?

### 1. AI Native Zoho People Integration

- Supports both Zoho People MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for reading, writing, and querying your Zoho People data

### 2. Managed Auth

- Connect your own Zoho People OAuth credentials securely through Composio
- Central place to manage, scope, and revoke Zoho People access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Zoho People
- Scoped, least privilege access to employee, leave, attendance, and timesheet data
- Full audit trail of agent actions to support HR review and compliance

## Use Zoho People with any AI Agent Framework

Choose a framework you want to connect Zoho People with:

- [ChatGPT](https://composio.dev/toolkits/zoho_people/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/zoho_people/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/zoho_people/framework/hermes-agent)
- [Atomic Agent](https://composio.dev/toolkits/zoho_people/framework/atomic-agent)

## Related Toolkits

- [Ashby](https://composio.dev/toolkits/ashby) - Ashby is an applicant tracking system that handles job postings, candidate management, and hiring analytics.
- [7shifts](https://composio.dev/toolkits/7shifts) - 7shifts is a restaurant team management platform for scheduling, time clocks, payroll, and team communication. It helps operators keep labor, shifts, and staff workflows organized in one place.
- [AI Ark](https://composio.dev/toolkits/ai_ark) - AI Ark is a people and company intelligence platform with search, enrichment, and recruiting APIs. It helps teams find accurate contact data and discover hiring insights faster.
- [Async interview](https://composio.dev/toolkits/async_interview) - Async interview is an on-demand video interview platform for streamlined hiring. Candidates record responses on their schedule, so employers can review anytime.
- [Bamboohr](https://composio.dev/toolkits/bamboohr) - BambooHR is a cloud-based HR management platform for small and mid-sized businesses. It streamlines employee data, HR workflows, and reporting in one easy interface.
- [Breathe HR](https://composio.dev/toolkits/breathehr) - Breathe HR is cloud-based HR software for SMEs to manage employee data, absences, and performance. It simplifies HR admin, making it easy to keep employee records accurate and up to date.
- [Breezy Hr](https://composio.dev/toolkits/breezy_hr) - Breezy HR is a recruiting and applicant tracking platform for managing jobs, candidates, pipelines, and hiring teams. It helps teams move faster from job posting to offer without losing track of applicants.
- [Connecteam](https://composio.dev/toolkits/connecteam) - Connecteam is a workforce management platform for deskless teams, streamlining operations, HR, and team communication. It helps businesses save time by automating scheduling, time tracking, and staff engagement tasks.
- [ContactOut](https://composio.dev/toolkits/contactout) - ContactOut is a professional profile enrichment and contact discovery API. Find and verify email addresses to power recruiting, sales, and outreach.
- [Coresignal](https://composio.dev/toolkits/coresignal) - Coresignal is a real-time public web data platform for employee, company, and professional profile intelligence. It helps teams access fresh workforce data for research, recruiting, sales, and market analysis.
- [Deel](https://composio.dev/toolkits/deel) - Deel is a global payroll and compliance platform for hiring international contractors and employees. It helps businesses pay global teams and manage local employment requirements.
- [Deputy](https://composio.dev/toolkits/deputy) - Deputy is a workforce management platform for scheduling, employees, timesheets, leave, and workplace locations. It helps teams simplify staff planning, time tracking, and daily workforce operations.
- [Dice MCP](https://composio.dev/toolkits/dice_mcp) - Dice MCP is an MCP server for searching Dice's tech-job database by role, company, location, and employment type. It helps agents find relevant tech roles fast with conversational filters.
- [Greenhouse](https://composio.dev/toolkits/greenhouse) - Greenhouse is applicant tracking and recruiting software for managing jobs, candidates, interviews, and hiring workflows. It helps recruiting teams move faster with structured pipelines, collaboration tools, and hiring data in one place.
- [Gusto](https://composio.dev/toolkits/gusto) - Gusto is a payroll, benefits, and HR platform for small and medium businesses. It helps teams run payroll, manage people, and stay compliant with less busywork.
- [HiBob](https://composio.dev/toolkits/hibob) - HiBob is a human resources platform for managing people data, time off, attendance, and workforce planning. It gives HR teams one place to organize employee information and daily people operations.
- [Hireflix](https://composio.dev/toolkits/hireflix) - Hireflix is a one-way video interview platform for hiring teams. It helps teams manage positions, candidate interviews, templates, and branded hiring workflows in one place.
- [HR Partner](https://composio.dev/toolkits/hr_partner) - HR Partner is a human resources platform for managing employee records, leave, recruitment, performance, timesheets, and expenses. Use it to centralize HR workflows, automate manual HR tasks, and keep employee data organized.
- [Job Search (Rapid API)](https://composio.dev/toolkits/job_search) - Job Search (Rapid API) is a unified service that searches approved job-listing sources via RapidAPI hosts. Use it to aggregate and query listings across providers with a single API.
- [Lever](https://composio.dev/toolkits/lever) - Lever is an applicant tracking system that blends sourcing, CRM, and analytics for recruiting. It helps companies scale hiring with collaborative workflows and actionable insights.

## Frequently Asked Questions

### Do I need my own developer credentials to use Zoho People with Composio?

Yes, Zoho People requires you to configure your own OAuth credentials. Once set up, Composio handles token storage, refresh, and lifecycle management for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
