Zoho People MCP server for AI agents and assistants

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.

Zoho People logoZoho People
Oauth2

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.

160 Tools

Try Zoho People now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Zoho People
Try asking
TOOLS

Supported Tools

Every Zoho People action and event your agent gets out of the box.

Add leave balance

Add legacy leave balance for the documented employees and leave types.

Add LMS trainers

Add the supplied employees as Zoho People LMS trainers.

Add timer comment

Add a comment to a legacy time log or timer.

Apply hourly permission

Submit an hourly-permission request.

Approve on-duty request

Approve or reject an on-duty request using the documented decision fields.

Approve timesheet

Approve or reject one legacy timesheet using the documented decision fields.

Bulk cancel leave requests

Cancel the explicitly supplied set of V3 leave request IDs.

Cancel compensatory request

Cancel a V3 compensatory-off request by record ID.

Cancel hourly permission

Cancel an hourly-permission request by record and form ID.

Cancel leave grant

Cancel a V3 leave grant request by record ID.

Cancel leave request

Cancel one V3 leave request by record ID.

Cancel on-duty request

Cancel an on-duty request using the documented record fields.

Create and tag employee KRAs

Create a KRA and tag it to selected employees in one Zoho operation.

Create attendance entries

Create attendance entries using the V3 provider-native batch contract.

Create attendance regularization

Submit an attendance regularization request using the documented legacy contract.

Create compensatory request

Create a V3 compensatory-off request.

Create employee salary

Add a salary record for an employee.

Create file folder

Create a Zoho People V3 file folder.

Create form record

Create a record in a supported Zoho People form or create an employee record.

Create HR process record

Create a V3 HR process record for selected employees using documented process data.

Create job schedule

Create a legacy job schedule and optionally publish it.

Create leave grant

Create a V3 leave grant request.

Create leave request

Create a V3 leave request.

Create leave setting

Create a V3 holiday, pay-period policy, or work calendar using a closed typed contract.

Create legacy time-tracker client

Create a client using the legacy time-tracker contract.

Create LMS batch

Create a batch in a blended-learning Zoho People LMS course.

Create LMS course

Create a Zoho People LMS course using the documented JSON contract.

Create LMS module

Create a module through the documented self-paced course or blended-learning batch route.

Create LMS session

Create a session in a module of a blended-learning LMS batch.

Create on-duty request

Submit an on-duty request using the documented legacy contract.

Create performance library items

Create up to 20 competencies, KRAs, skills, or review questions.

Create shift mapping

Map a shift to one employee using the V3 multipart contract.

Create time log

Create a legacy time log; supplying new project or job names also creates those resources.

Create timesheet

Create a legacy timesheet from time logs and optionally submit it for approval.

Create variable

Create a V3 Zoho People variable.

Create variable group

Create a V3 variable group.

Delete attendance entries

Delete one V3 attendance entry by ID or a provider-supported filtered set of entries.

Delete attendance regularizations

Delete one explicitly supplied attendance regularization record.

Delete compensatory request

Delete a V3 compensatory-off request by record ID.

Delete employee performance items

Permanently remove selected tagged KRAs, competencies, or skills from an employee.

Delete files

Permanently delete up to 100 explicitly supplied Zoho People file IDs.

Delete job schedule

Delete one legacy job schedule.

Delete leave grant

Delete a V3 leave grant request by record ID.

Delete leave request

Delete one V3 leave request by record ID.

Delete leave setting

Delete a V3 holiday, pay-period policy, or work calendar by ID.

Delete legacy time-tracker client

Delete a client using the legacy time-tracker contract.

Delete legacy time-tracker resource

Delete legacy projects or jobs using the selected documented contract.

Delete on-duty request

Delete explicitly supplied on-duty requests.

Delete performance library items

Request deletion of selected performance library records.

Delete shift mapping

Delete or end one V3 shift mapping with documented date and attendance options.

Delete time log

Delete one legacy time log.

Delete timer comment

Delete one legacy time-tracker comment.

Delete timesheet

Delete up to 1,000 comma-separated legacy timesheet IDs; fails loudly if Zoho skips any ID after partially deleting others.

Delete time-tracker resources

Delete the explicitly supplied V3 client, project, or job IDs.

Delete variable

Delete one V3 variable by numeric ID or API name.

Delete variable group

Delete one V3 variable group by group ID or API name.

Download file

Download one Zoho People V3 file and return a file reference.

Download time-tracker attachment

Download one attachment from a documented time-tracker entity and return a file reference.

Enroll LMS learners

Create externally visible learner enrollments in a course or a specific blended-learning batch.

Get attendance entry

Fetch one V3 attendance entry by entry ID.

Get attendance regularization fields

Return configured fields for attendance regularization requests.

Get compensatory request

Return one specific V3 compensatory-off request by record ID.

Get file

View one Zoho People V3 file and return a file reference.

Get file sharing options

Return allowed folders or organization-file share targets.

Get form fields

Get the field components and label names needed to read or write records in a Zoho People form.

Get form record

Fetch one form record, a section-wise record, or records from a saved employee view.

Get holiday

Fetch one V3 holiday by holiday ID.

Get hourly permission options

Return applicable permission types, balance, or configured details for an hourly-permission request.

Get HR process record

Fetch one V3 HR process record by its documented record ID.

Get leave grant

Fetch one V3 leave grant request by record ID.

Get leave report

Return one page of a selected V3 or documented legacy leave report.

Get leave request

Fetch one V3 leave request by record ID.

Get leave setting

Fetch one V3 pay-period policy or work calendar by ID.

Get legacy time-tracker resource

Fetch one legacy client, project, or job by ID.

Get LMS settings

Return organization-level Zoho People LMS settings.

Get my compensation

Return compensation details for the connected employee.

Get on-duty details

Fetch details for one on-duty request.

Get organization

Return the connected Zoho People organization's details.

Get pay-period settings

Return legacy payroll pay-period settings.

Get running timer

Return the connected user's currently running time-tracker timer.

Get shift mapping

Fetch one V3 shift mapping by mapping ID.

Get shift schedule

Return V3 shift schedules for an employee and date range.

Get suggested LMS course count

Return the number of LMS courses suggested to the connected learner.

Get time log

Fetch one legacy time log with optional timer and comment counts.

Get timesheet

Fetch one legacy timesheet by ID.

Get time-tracker reports and settings

Return a payroll report page, pay-period details, or general time-tracker settings.

Get time-tracker resource

Fetch one V3 client, project, or job by ID with resource-specific include options.

Get variable

Fetch one V3 variable by numeric ID or API name.

Get variable group

Fetch one V3 variable group by group ID or API name.

List attendance entries

Return one V3 page of attendance entries with employee, date, and modification filters.

List attendance regularization reasons

Return configured reasons available for attendance regularization.

List attendance regularization records

Return one page of attendance regularization records using documented filters.

List compensation reference data

Return compensation components, packages, currencies, reasons, or settings.

List compensation revisions

Return one page of compensation revisions with date and status filters.

List compensatory requests

Return one V3 page of compensatory-off requests with employee, date, approval, and status filters.

List employee performance items

Return one page of an employee's KRAs, competencies, or skills.

List employee salaries

Return one page of employee salary records for team or all visibility.

List file acknowledgements

Return one acknowledgement-details page or user acknowledgement statuses.

List file folders

Return all Zoho People V3 file folders matching an optional name.

List files

Return one page from a documented Zoho People V3 file view.

List form records

Return one page of records from a named Zoho People form.

List forms

List forms and their identifiers, link names, views, visibility, and permissions in Zoho People.

List holidays

Return one V3 page of holidays.

List hourly permission requests

Return one page of hourly-permission requests or approvals for the connected user's role.

List job schedules

Return one legacy page of job schedules by user and date range.

List leave grants

Return one V3 page of leave grant requests with employee, date, approval, and sort filters.

List leave requests

Return one V3 page of leave requests with employee, date, type, approval, and status filters.

List leave settings

List V3 pay-period policies or work calendars.

List legacy V2 holidays

Return holidays from the V2 all-holidays API using its employee, location, shift, and upcoming filters.

List legacy time-tracker resources

Return one legacy page of clients, projects, or jobs with legacy filters.

List LMS batch sessions

Fetch one page of sessions from a blended-learning LMS batch.

List LMS categories

Return one page of Zoho People LMS course categories.

List LMS courses

Return one page of all LMS courses or the connected user's courses with documented filters.

List LMS modules

Fetch one page of modules from a self-paced course or a fixed blended-learning batch route.

List LMS rooms

Return one page of up to 25 rooms available for LMS sessions.

List LMS trainers

Return one page of LMS trainers with employee-status and sort filters.

List on-duty requests

Return one page of on-duty requests or approvals for the connected user's role.

List on-duty types

Return configured on-duty request types.

List performance library items

Return one page of competencies, KRAs, skills, or review questions.

List related form records

Return one page of records related through a parent module and lookup field.

List shift mappings

Return one V3 page of employee shift mappings.

List time logs

Return one legacy page of time logs with employee, project, job, date, billing, and approval filters.

List timesheets

Return one legacy timesheet page for a required user with documented status and date filters.

List time-tracker resources

Return one V3 page of clients, projects, or jobs with resource-specific filters.

List untagged performance items

Return one page of KRAs or competencies not tagged to selected employees.

List variable groups

Return one page of variable groups using the V3 index selector.

List variables

Return one page of variables using the V3 index selector.

List views

Return the default and custom Zoho People views available to the connected user.

List work items

Return one legacy page of work items for an employee or job.

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.

Publish LMS course or batch

Publish a self-paced course or blended-learning batch.

Remove LMS course learner

Remove one learner enrollment from a Zoho People LMS course.

Search form records

Return one page of employee form records matching a field, operator, and value.

Set file acknowledgement

Acknowledge a Zoho People V3 policy file or revoke its acknowledgement.

Start timer

Start a legacy timer for a documented time-tracker item.

Tag employee performance items

Tag up to 20 existing KRAs, competencies, or skills to one employee.

Update attendance entry

Edit one V3 attendance entry by entry ID.

Update compensatory request

Edit a V3 compensatory-off request by record ID.

Update currencies

Update one named compensation currency or multiple currencies.

Update employee performance items

Update an employee's tagged KRAs, competencies, or skills.

Update employee salary

Update an employee salary record.

Update file

Update a V3 file's metadata or content and optionally send email or feed notifications.

Update file folder

Rename or move a Zoho People V3 file folder.

Update form record

Update field values and optional tabular rows on an existing Zoho People form record.

Update job schedule

Edit or publish a legacy job schedule using the selected operation.

Update leave grant

Edit a V3 leave grant request by record ID.

Update leave setting

Update a V3 holiday, pay-period policy, or work calendar by ID using a closed typed contract.

Update legacy time-tracker client

Update a client using the legacy time-tracker contract.

Update legacy time-tracker status

Change a legacy project or job status.

Update LMS session

Update fields on an existing blended-learning LMS session.

Update performance library items

Update up to 20 competencies, KRAs, skills, or review questions.

Update time log

Edit one legacy time log.

Update timesheet

Edit a legacy timesheet or replace its attachment.

Update time-tracker status

Change the status of one V3 project or job.

Update variable

Update one V3 variable by numeric ID or API name.

Update variable group

Update one V3 variable group by group ID or API name.

Upgrade employee skills

Upgrade a skill for selected employees, optionally attaching a certificate.

Upload file

Upload and optionally share a V3 file, notify people, or require acknowledgement by a deadline.

Upload time and attendance file

Upload an attachment for a documented time, attendance, or leave resource.

Create or update legacy file folder

Create or rename a legacy Zoho People file folder using its documented GET mutation.

SETUP GUIDE

Connect Zoho People MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
Install the Composio SDK and your agent framework
2

Create a session with MCP enabled

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

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["zoho_people"],
  mcp: true,
});
Create a session scoped to Zoho People and read its MCP URL and headers
3

Connect your agent to the MCP server

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();
Pass the session's MCP URL and headers to your agent and run a Zoho People request
SETUP GUIDE

Connect Zoho People API Tool with your Agent

1

Install Composio

typescript
npm install @composio/core @composio/openai openai
Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
2

Create a Composio session

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();
Initialize Composio with the OpenAI Responses provider and create a session scoped to Zoho People
3

Run Zoho People tools with your agent

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);
Send a request, execute the Zoho People tool calls through the session, and print the final answer

Why Use Composio?

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

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

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

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

Rolling this out across your team?

Give your team centralized access control across every framework with Composio’s MCP Gateway.

EXPLORE MCP GATEWAY
FAQ

Frequently asked questions

Zoho People requires connections to go through your own OAuth app. You register it once with Zoho People, add its client ID and secret in the Composio dashboard, and from then on everyone connects by signing in to Zoho People as usual. Composio handles the rest of the flow and the token refresh.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Yes. Composio is SOC 2 Type II compliant and is built to keep your Zoho People connection and credentials secure. OAuth tokens and API keys are encrypted, and sensitive customer data is protected at rest and in transit.

Composio also undergoes independent security testing and continuously monitors its systems for security threats. You can review the latest reports and policies in the Composio Trust Center.

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

When you connect a Zoho People account through Composio, every action runs under that account, so anything the agent creates, sends, or changes shows up in Zoho People as done by you. Keep an approval step in your prompt for actions with side effects, such as sending or deleting, and have the agent draft first.

Exactly the ones Zoho People lists on its consent screen when you connect. Review that screen before approving. If you connect a work account, your Zoho People administrator may need to approve the app first, and you can revoke the access inside Zoho People whenever you want.

Yes. Composio supports multiple connected accounts for the same app, and that works in Claude, ChatGPT, or any other assistant you connect through Composio. Give each Zoho People connection a name such as work or personal, and the assistant uses the one you mention in the request. Each account keeps its own credentials and nothing is merged.

Composio refreshes Zoho People tokens automatically, so day to day you do nothing. If you revoke access inside Zoho People, or Zoho People invalidates the session, the connection shows as expired in Composio and the agent stops acting on that account until you reconnect it, which is a single sign-in.

Composio's free Hobby plan includes 100,000 tool calls per month with no credit card, which covers most personal Zoho People use. Paid plans add higher limits and team features. Your Zoho People plan and its API limits still apply as usual.

Built-in connectors usually give one AI access to a limited set of apps. Many people use Composio because it lets their AI connect to more apps than it normally supports, or connect to multiple accounts for the same app (e.g. connect Claude to multiple Zoho People accounts).

With Composio, you connect Zoho People once and then use it across different AI assistants without setting it up separately in each one. Connect your apps to Composio once, then connect Composio to whichever AI you use, whether that's Claude, ChatGPT, Hermes, or your own custom assistant.

Start with Zoho People.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Zoho People tool your agent needs.Free to start.

Start building