Zoho People API integration with managed OAuth. Manage employees, departments, designations, attendance, and leave.
Use this skill when users want to read, create, update, or query HR data like employees, departments, designations, and forms in Zoho People.
For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).
Requires network access and valid Maton API key.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Um comando direto ignora o prompt de revisão. Verifique a origem antes de executá-lo.
Zoho People API integration with managed OAuth. Manage employees, departments, designations, attendance, and leave.
Use this skill when users want to read, create, update, or query HR data like employees, departments, designations, and forms in Zoho People.
For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).
Requires network access and valid Maton API key.
Access the Zoho People API with managed OAuth authentication. Manage employees, departments, designations, attendance, leave, and custom HR forms with full CRUD operations.
Quick Start
# List all employees
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/zoho-people/people/api/forms/employee/getRecords?sIndex=1&limit=10')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
Replace {native-api-path} with the actual Zoho People API endpoint path. The gateway proxies requests to people.zoho.com and automatically injects your OAuth token.
Authentication
All requests require the Maton API key in the Authorization header:
Authorization: Bearer $MATON_API_KEY
Environment Variable: Set your API key as MATON_API_KEY:
POST /zoho-people/people/api/forms/json/{formLinkName}/insertRecord
Content-Type: application/x-www-form-urlencoded
inputData={field1:'value1',field2:'value2'}
POST /zoho-people/people/api/forms/json/{formLinkName}/updateRecord
Content-Type: application/x-www-form-urlencoded
inputData={field1:'newValue'}&recordId={recordId}
GET /zoho-people/people/api/forms/leave/getRecords?sIndex={startIndex}&limit={limit}
Add Leave
POST /zoho-people/people/api/forms/json/leave/insertRecord
Content-Type: application/x-www-form-urlencoded
inputData={Employee_ID:'EMP001',Leavetype:'123456',From:'01-Feb-2026',To:'02-Feb-2026'}
import os
import requests
response = requests.get(
'https://gateway.maton.ai/zoho-people/people/api/forms/employee/getRecords',
headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'},
params={'sIndex': 1, 'limit': 10}
)
data = response.json()
Notes
Record IDs are numeric strings (e.g., 943596000000294355)
The Zoho_ID field in responses contains the record ID
Maximum 200 records per GET request
Insert/Update operations use form-urlencoded data with inputData JSON
Date format varies by field and organization settings
Some endpoints (attendance, leave) require additional OAuth scopes. If you receive an INVALID_OAUTHSCOPE error, contact Maton support at support@maton.ai with the specific operations/APIs you need and your use-case
Response structure wraps data in response.result[] array
IMPORTANT: When using curl commands, use curl -g when URLs contain special characters
IMPORTANT: When piping curl output to jq or other commands, environment variables like $MATON_API_KEY may not expand correctly in some shell environments
Error Handling
Status
Meaning
400
Missing Zoho People connection or invalid request
401
Invalid or missing Maton API key, or invalid OAuth scope
429
Rate limited
4xx/5xx
Passthrough error from Zoho People API
Common Error Codes
Code
Description
7011
Invalid form name
7012
Invalid view name
7021
Maximum record limit exceeded (200)
7024
No records found
7042
Invalid search value
7218
Invalid OAuth scope
Troubleshooting: API Key Issues
Check that the MATON_API_KEY environment variable is set:
echo$MATON_API_KEY
Verify the API key is valid by listing connections: