HRIS · Beta
ClayHR
API integration
Ship HRIS features without building the integration. Full ClayHR API access via Proxy, normalized data through Unified APIs, and 130+ MCP-ready tools for AI agents — all extensible to your exact use case.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with ClayHR
Common scenarios for SaaS companies building ClayHR integrations for their customers.
Automate employee provisioning and deprovisioning
IT and identity management SaaS platforms can sync employee records from ClayHR to automatically provision accounts, devices, and app access for new hires — and revoke everything instantly on termination. This is especially critical for ClayHR's government and public sector customers with strict security requirements.
Sync org structure for approval routing
Expense management, procurement, and time-tracking platforms can pull department hierarchies and manager mappings from ClayHR to automatically route approvals to the correct people without manual configuration by the end user's HR team.
Drive targeted employee engagement programs
Employee engagement and survey platforms can import the full company directory with group and department data from ClayHR to launch targeted pulse surveys, segment analytics by team, and facilitate peer reviews using accurate reporting relationships.
Automate compliance and training assignments
Learning management platforms can sync employee titles, departments, and group memberships from ClayHR to auto-assign role-specific mandatory training — a high-value workflow for ClayHR's education and government clients where compliance tracking is non-negotiable.
Keep payroll and benefits platforms in sync
Payroll and benefits SaaS products can read employee profiles, compensation data, and group assignments from ClayHR to ensure accurate payroll runs and benefits enrollment without manual CSV imports.
What You Can Build
Ship these features with Truto + ClayHR
Concrete product features your team can ship faster by leveraging Truto’s ClayHR integration instead of building from scratch.
Real-time employee directory sync
Automatically import and keep up-to-date the full ClayHR employee directory — including names, emails, job titles, start dates, employment status, and manager relationships — using the Unified HRIS Employees API.
Department and team hierarchy mapping
Pull departments, teams, locations, and their parent-child relationships from ClayHR via the Unified HRIS Groups API to reconstruct the org chart natively in your product.
Onboarding and offboarding event detection
Poll for employee status changes in ClayHR to trigger automated downstream workflows — like provisioning a laptop when status changes to Hired or locking SSO access on Terminated.
Manager-based approval chains
Use manager associations from ClayHR employee records combined with group data to automatically build multi-level approval workflows without any manual setup from end users.
Group-based access and policy rules
Assign spending limits, feature permissions, or security policies in your product based on which ClayHR group or department an employee belongs to, updated automatically on every sync.
Custom field passthrough for specialized data
Surface ClayHR's heavily-used custom fields — like security clearance levels or safety certifications — in your product by mapping them through Truto's unified data model.
SuperAI
ClayHR AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_clay_hr_users
Retrieve all users details.
get_single_clay_hr_user_by_id
Retrieve user details. Required: id.
create_a_clay_hr_user
Create user. Required: firstName, email.
clay_hr_users_upsert
Create or Update user. Creates a user, or updates the user if a match is found. The same call can also save addresses, education, employment history, contacts, compensation, custom field values and rep… Required: email, firstName.
clay_hr_users_search
Retrieve a user or list of users.
clay_hr_users_list_resources
Retrieve users.
clay_hr_users_get_basic
Retrieve user basic information. Required: userID.
clay_hr_users_get_financial_status
Retrieve user financial status.
clay_hr_users_get_permissions
Retrieve user permissions and menu configurations.
clay_hr_users_list_basic
Retrieve basic user details.
clay_hr_users_add_reports_to
Add reports to. Required: userID.
clay_hr_users_save_custom_field_values
Save Custom Field values.
update_a_clay_hr_user_by_id
Update user. Required: id.
clay_hr_users_upload_picture
Upload user profile. Required: file, userid.
list_all_clay_hr_orgunits
Retrieve org units.
create_a_clay_hr_orgunit
Create new org unit. Required: name, description.
list_all_clay_hr_customfields
Get Custom Fields.
get_single_clay_hr_customfield_by_id
Retrieve a single custom field definition by its ID. Required: id.
list_all_clay_hr_jobprofiles
Retrieve job profiles. Required: status.
create_a_clay_hr_pto_balance
Add PTO balance. Required: userId, ptoPolicyId, balance.
clay_hr_timesheets_clock_in
Clock in. Allows to clock in.
clay_hr_timesheets_clock_out
Clock out. Allows user to clock out.
delete_a_clay_hr_timesheet_by_id
Delete a timesheet. Deletes a timesheet by Timesheet ID. Required: id.
clay_hr_timesheets_list_my_allocations
Retrieve my active allocations. Retrieve list of active allocations of user.
clay_hr_timesheets_list_timecards
Retrieve timecards by Timesheet ID. Retrieve a list of timecards. Required: startDate, endDate.
clay_hr_timesheets_list_preferences
Retrieve my timesheet preferences. Retrieve list of timesheet preferences based in cid.
list_all_clay_hr_timesheets
Retrieve timesheets by User ID. Retrieve a list of timesheets.
get_single_clay_hr_timesheet_by_id
Retrieve a timesheet by timesheet ID. Required: id.
clay_hr_timesheets_get_details
Retrieve timesheet details by Timesheet ID. Required: timeSheetId.
clay_hr_timesheets_save
Create/Update a timesheet. Creates a new timesheet and update existing timesheet. Required: date, projectId, elapsedTime.
clay_hr_timesheets_update_status
Update timesheet status by Timesheet ID. Update the timesheet status (submit, approve, reject) corresponding to supplied Timesheet ID. Required: timesheetId, status.
clay_hr_candidates_create_from_resume
Create a candidate from pdf resume. Required: file.
create_a_clay_hr_candidate
Create new candidate.
list_all_clay_hr_candidates
Retrieve candidates.
clay_hr_candidates_list_basic
Retrieve candidates with basic details.
get_single_clay_hr_candidate_by_id
Retrieve the candidate detail by recruitid. Required: id.
create_a_clay_hr_expense_item
Create expense item. Required: amount, currencyCode, date, remarks, userId, expenseItemId, expenseTypeId.
delete_a_clay_hr_expense_item_by_id
Delete expense item. Required: id.
update_a_clay_hr_expense_item_by_id
Edit expense item. Required: amount, currencyCode, date, remarks, userId, id, expenseTypeId.
create_a_clay_hr_expense_report
Create expense report. Required: name.
get_single_clay_hr_expense_report_by_id
Retrieve expense report details. Retrieve the details of expense report. Required: id.
delete_a_clay_hr_expense_report_by_id
Delete expense report. Required: id.
list_all_clay_hr_expense_reports
Retrieve expense reports. Retrieve expense reports with User ID.
clay_hr_expense_reports_submit
Submit expense report. Required: expenseReportId, status.
create_a_clay_hr_performance_review
Create Performance Review. Required: userId, templateId.
clay_hr_performance_reviews_list_completed
Retrieve Completed Performance Reviews. Required: targetUserId.
list_all_clay_hr_performance_reviews
Retrieve Performance Reviews.
clay_hr_performance_reviews_bulk_launch
Launch Performance Reviews In Bulk.
create_a_clay_hr_skill
Create a new skill. Required: description, skillCode.
list_all_clay_hr_skills
Retrieve skills.
create_a_clay_hr_project
Create Project. Create a new project. Required: projectName, projectDesc, shortCode, startDate.
list_all_clay_hr_projects
List Projects. Returns a list of projects.
get_single_clay_hr_project_by_id
Retrieve Project. Retrieve the details of the Project by ID. Required: id.
create_a_clay_hr_compensation
Create compensation for user. Required: value, compensationType, userId, currencyCode, period, effectivedate, status.
list_all_clay_hr_compensations
Retrieve user financial record. Required: userID.
update_a_clay_hr_compensation_by_id
Update financial record of User. Required: id, value, compensationType, userId, currencyCode, period, status.
create_a_clay_hr_announcement
Create Announcement. Required: title, description.
get_single_clay_hr_announcement_by_id
Retrieve Announcement. Required: id.
update_a_clay_hr_announcement_by_id
Update Announcement. Required: id, title, desciption, status.
clay_hr_announcements_list_attachments
Retrieve Announcement Attachments. Required: annId.
create_a_clay_hr_goal
Create a new goal.
list_all_clay_hr_goals
Get all goals.
clay_hr_goals_list_by_user
Get goals by User Id.
create_a_clay_hr_leaf
Create a new leave.
clay_hr_leaves_list_who_else_off
Fetches who else is off leave list on the basis of start and end dates. Required: startDate.
clay_hr_leaves_list_for_approval
Get leaves for approval/rejection by filering on basis of Role.
clay_hr_leaves_list_user_pto_policies
Get PTO policies by User Id.
clay_hr_leaves_get_remaining_hours
Get remaining hours credit for leave policy. Required: leaveDate, leaveId, leaveUserId, ptoPolicyId.
clay_hr_leaves_process
Process the leave of a user by leave id. Required: leaveId, status.
create_a_clay_hr_leave_request
Create a new leave.
list_all_clay_hr_leave_requests
Get leave requests within a date range. Get leave request within a data range by using one of the following Authentication (access token) Techniques either by Authorization or by x-api-key and userId. Required: endDate, startDate.
delete_a_clay_hr_dependent_by_id
Delete dependent by contact ID. Required: id.
delete_a_clay_hr_user_address_by_id
Delete User Address. Required: id.
create_a_clay_hr_user_address
Save User Address. Required: userID.
delete_a_clay_hr_user_education_by_id
Delete User Education. Required: id.
create_a_clay_hr_user_education
Save User Education. Required: userID.
delete_a_clay_hr_user_employment_by_id
Deletes User Employment. Required: id.
create_a_clay_hr_user_employment
Save User Employment. Required: userID.
clay_hr_attachments_list_for_user
Fetch User Specific Attachments. This will help you fetch User Specific Attachments. Required: targetUserId.
clay_hr_attachments_list_document_library
Retrieve attachments within document library.
clay_hr_attachments_download
Retrieve document as byte array. Required: fileName.
clay_hr_attachments_upload
Upload multiple files. Required: objectType, objectId, file.
get_single_clay_hr_position_by_id
Retrieve position. Required: id.
list_all_clay_hr_positions
Retrieve positions.
create_a_clay_hr_position
Save Position. Required: name, count, status, accessLevel, dateOpen, dateClose, positionUID, funnelId.
list_all_clay_hr_project_allocations
List Allocations. Returns all user allocations for the project. Required: projectId.
create_a_clay_hr_project_allocation
Allocate Project. Assigns the project to the user based on the project ID and user ID and returns the userProjectId, which is the ID of the assignment. Required: projectId, userId.
list_all_clay_hr_currencies
Retrieve currencies.
clay_hr_auth_get_token
Get Access Token for Authentication. Get Access Token for Authentication using x-api-key and userId.
clay_hr_pto_policies_list_mine
Retrieve your PTO Policies.
list_all_clay_hr_pto_policies
Retrieve list of PTO policies.
list_all_clay_hr_expense_types
Retrieve expense types.
list_all_clay_hr_invoices
Retrieve invoices by Project ID. Required: projectId.
list_all_clay_hr_objectives
Retrieve objectives. Retrieve objectives by user ID or specific objective by objective ID.
list_all_clay_hr_paystubs
Retrieve my pay stubs.
list_all_clay_hr_performance_review_assignments
Retrieve Performance Review Assignments.
list_all_clay_hr_performance_review_templates
Retrieve Performance Review Templates.
list_all_clay_hr_user_skills
Retrieve skills assigned to a user. Required: assignedUserID.
clay_hr_tests_list_assigned
Retrieve list of assigned tests.
clay_hr_tests_get_details
Retrieve test details. Required: dynamicFormId.
list_all_clay_hr_tests
Retrieve the test by Status. Retrieve the test by Status (Active, Archived, Draft). Required: status.
list_all_clay_hr_activity_types
Retrieve list of activity types based on cid.
list_all_clay_hr_custom_groups
Get Custom Groups by Object ID. Required: objectId, objectType.
get_single_clay_hr_survey_by_id
Get the details of a survey form by form id. Required: id.
list_all_clay_hr_surveys
Get a list of surveys.
get_single_clay_hr_form_by_id
Retrieve form details. Required: id.
list_all_clay_hr_forms
Retrieve forms.
clay_hr_forms_list_my_completed
Retrieve completed forms assigned to me.
get_single_clay_hr_form_response_by_id
Retrieve form response. Required: id, dynamicFormId.
list_all_clay_hr_form_responses
Retrieve form responses. Required: dynamicFormId.
create_a_clay_hr_form_response
Save form repsonse. Required: assignmentId.
list_all_clay_hr_org_relations
Retrieve all active OrgRelations. Retrieve all active OrgRelations for entire organization.
clay_hr_org_relations_list_by_user
Retrieve all the OrgRelations for the given user. Retrieve all the OrgRelations for the given user including Active, Archive and Future OrgRelations. Required: email.
clay_hr_org_relations_save
Saves the OrgRelation for the User. Saves the OrgRelation for the User. Required: orgRelationId, userId, managerUserId, managerEmail, archiveAllOldManagers.
clay_hr_reports_get_content
Get content for report by analytic Id. Required: analyticId.
get_single_clay_hr_report_by_id
Get report. Required: id.
list_all_clay_hr_shifts
Get Shifts.
create_a_clay_hr_shift
Save Shift. Required: userId, startDate, endDate.
get_single_clay_hr_timecard_by_id
Retrieve timecard details based on timecard ID. Retrieve timecard details based on timecard ID with Add Time Cards For Other permission. Required: id.
clay_hr_timecards_list_basic_by_user
Retrieve timecard basic details by User ID. Retrieve timecard basic details based on User ID with Add Time Cards For Other permission. Required: userID.
clay_hr_timecards_list_by_user
Retrieve timecard details by User ID. Retrieve timecard details based on User ID with Add Time Cards For Other permission. Required: userID.
clay_hr_trainings_get_content
Retrieve training content by training ID. Required: trainingId.
list_all_clay_hr_trainings
Retrieve my training assignments.
clay_hr_trainings_update_status
Update training status for user. Required: status, userTrainingId.
list_all_clay_hr_timesheet_approvals
Retrieve timesheet approvals. Retrieve list of timesheet approvals on the basis of permission. Required: startDate, endDate.
list_all_clay_hr_test_assignments
Retrieve the test assignments by dynamicFormId.
create_a_clay_hr_custom_list_entry
Add Custom List Entries. Required: listId.
create_a_clay_hr_survey_response
Create a survey response by assignment id. Required: assignmentId.
create_a_clay_hr_survey_item_response
Create the item's response for a survey. Required: assignmentId, itemId, responseValue.
create_a_clay_hr_form_item_response
Save item response. Required: assignmentId, itemId, responseValue.
Why Truto
Why use Truto’s MCP server for ClayHR
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 1050+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Start with ClayHR in a free sandbox, usually ready within one business day. No boilerplate, no maintenance burden.
Link your customer’s ClayHR account
Use Truto’s frontend SDK to connect your customer’s ClayHR account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call ClayHR
Truto’s Proxy API is a 1-to-1 mapping of the ClayHR API. You call us, we call ClayHR, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate ClayHR’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about ClayHR on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What Unified APIs does Truto support for ClayHR?
Truto supports ClayHR through the Unified HRIS API, which covers Employees and Groups resources. This lets you read employee profiles, manager relationships, departments, teams, and organizational hierarchies through a standardized schema.
Are there pre-built tools available for ClayHR on Truto?
ClayHR does not have pre-built tools yet — they are built on request. If you need specific API operations beyond what the Unified HRIS API provides, reach out to Truto and they will build them for your use case.
How does authentication work for ClayHR integrations?
Truto handles the full authentication flow with ClayHR on your behalf. Your end users connect their ClayHR accounts through Truto's embedded linking experience, so you never have to manage tokens, credentials, or renewal logic directly.
Can I access ClayHR custom fields through Truto?
ClayHR customers rely heavily on custom data tables and fields. Truto's Unified HRIS API supports mapping custom fields, so you can surface data like security clearance levels, certification statuses, or other organization-specific attributes alongside standard employee and group data.
Does Truto handle pagination and rate limits for ClayHR's API?
Yes. Truto abstracts away pagination and rate-limit management for ClayHR's API. You make standard requests to Truto's Unified API and it handles the underlying complexity of fetching complete datasets without hitting ClayHR's rate limits.
What kind of data can I read from ClayHR employees?
Through the Unified HRIS Employees API, you can read core employee profile data including name, email, job title, start date, employment status, and manager associations. This covers the most common needs for provisioning, directory sync, and org chart construction.
From the Blog
ClayHR integration guides
Deep dives, architecture guides, and practical tutorials for building ClayHR integrations.
ClayHR
Get ClayHR integrated into your app
Our team understands what it takes to make a ClayHR integration successful. A short, crisp 30 minute call with folks who understand the problem.