Skip to content

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 us
ClayHR

Use Cases

Why integrate with ClayHR

Common scenarios for SaaS companies building ClayHR integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

Unified APIs

Unified APIs for ClayHR

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified HRIS API

Employees

Represents an employee in HRIS

View Docs

Groups

Groups represent the groups for an Employee

View Docs

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.

01

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.

02

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.

03

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.

04

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.

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.