# How to integrate SmartHR MCP with Hermes

```json
{
  "title": "How to integrate SmartHR MCP with Hermes",
  "toolkit": "SmartHR",
  "toolkit_slug": "smarthr",
  "framework": "Hermes",
  "framework_slug": "hermes-agent",
  "url": "https://composio.dev/toolkits/smarthr/framework/hermes-agent",
  "markdown_url": "https://composio.dev/toolkits/smarthr/framework/hermes-agent.md",
  "updated_at": "2026-10-24T05:35:36.884Z"
}
```

## Introduction

Hermes is a 24/7 autonomous agent that lives on your computer or server — it remembers what it learns and evolves as your usage grows.
This guide explains the easiest and most robust way to connect your SmartHR account to Hermes. You can do this through either Composio Connect CLI or Composio Connect MCP. For personal use we recommend the CLI, but you won't go wrong with MCP either.

## Also integrate SmartHR with

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

## TL;DR

### What is Composio Connect?
Composio Connect is a consumer offering that lets anyone plug 1,500+ applications directly into their agent harness — including Hermes. It can:
- Search and load tools from relevant toolkits on-demand, reducing context usage.
- Chain multiple tools to accomplish complex workflows via a remote workbench, without excessive back-and-forth with the LLM.
- Manage app authentication end-to-end with zero manual overhead.

## Connect SmartHR to Hermes

### Integrating SmartHR with Hermes
### Using Composio Connect CLI
1. Install the Composio CLI
Run the install script directly, or paste https://composio.dev/hermes into your Hermes chat box to have it installed for you.

```bash
curl -fsSL https://composio.dev/install | bash
```

## What is the SmartHR MCP server, and what's possible with it?

The SmartHR MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your SmartHR account. It provides structured and secure access to employee records, departments, payroll data, tax withholding documents, user SAML configurations, webhooks, and batch jobs, so your agent can create employee and organization records, retrieve HR data, manage payroll and tax documents, configure access settings, and handle background job files on your behalf.
- Employee and organization management: Have your agent create and retrieve employee records, add employee dependents, create departments, and define employment types, grades, job categories, and job titles.
- Payroll and payslip administration: Let your agent create payroll groups, add individual or bulk payslips, finalize payroll, retrieve payroll attachments, and remove payroll records when needed.
- Tax document handling: Direct your agent to create tax withholding groups and employee tax withholding slips, then delete those records when they are no longer required.
- Access and event configuration: Instruct your agent to create, enable, disable, or delete user SAML configurations and set up or remove SmartHR webhooks for employee and dependent events.
- Background job and file retrieval: Have your agent check batch job details and download files attached to completed SmartHR background jobs.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `SMARTHR_BULK_CREATE_PAYSLIPS` | Bulk Create Payslips | Create up to 100 sensitive payslip entries in one SmartHR payroll group. The connected API access token must have payroll Update permission and any applicable employee-field Update permissions. |
| `SMARTHR_CREATE_DEPARTMENT` | Create Department | Create a SmartHR department. The connected API access token must have the department resource Update permission. |
| `SMARTHR_CREATE_EMPLOYEE` | Create Employee | Create an employee using the documented SmartHR employee fields. The connected API token must have employee resource and field Update permissions. |
| `SMARTHR_CREATE_EMPLOYEE_CUSTOM_FIELD_TEMPLATE` | Create Employee Custom Field Template | Create an employee custom-field template. The connected API token must have the custom employee field resource Update permission. |
| `SMARTHR_CREATE_EMPLOYEE_CUSTOM_FIELD_TEMPLATE_GROUP` | Create Employee Custom Field Template Group | Create an employee custom-field template group. |
| `SMARTHR_CREATE_EMPLOYEE_DEPENDENT` | Create Employee Dependent | Create a dependent for one employee using the documented family fields. The connected API token must have the required family and employee-field Update permissions. |
| `SMARTHR_CREATE_EMPLOYMENT_TYPE` | Create Employment Type | Create a SmartHR employment type. The connected API access token must have the employment type resource Update permission. |
| `SMARTHR_CREATE_GRADE` | Create Grade | Create a SmartHR grade. The connected API access token must have the grade resource Update permission. |
| `SMARTHR_CREATE_JOB_CATEGORY` | Create Job Category | Create a SmartHR job category. The connected API access token must have the job category resource Update permission. |
| `SMARTHR_CREATE_JOB_TITLE` | Create Job Title | Create a SmartHR job title. The connected API access token must have the job title resource Update permission. |
| `SMARTHR_CREATE_PAYROLL` | Create Payroll | Create a sensitive SmartHR payroll group. The connected API access token must have payroll Update permission. |
| `SMARTHR_CREATE_PAYSLIP` | Create Payslip | Create a sensitive employee payslip in one SmartHR payroll group. The connected API access token must have payslip resource Update permission, and employee-field Update permissions may constrain writable data. |
| `SMARTHR_CREATE_RECRUITMENT_TYPE` | Create Recruitment Type | Create a SmartHR recruitment type. The connected API access token must have the recruitment type resource Update permission. |
| `SMARTHR_CREATE_TAX_WITHHOLDING` | Create Tax Withholding | Create a sensitive SmartHR tax-withholding group in the unconfirmed state. The connected API access token must have tax-withholding-group Update permission. |
| `SMARTHR_CREATE_TAX_WITHHOLDING_SLIP` | Create Tax Withholding Slip | Create a file-backed or field-backed sensitive tax-withholding slip for an employee in one SmartHR tax-withholding group. The connected API access token must have the tax-withholding-slip resource and applicable employee-field Update permissions. |
| `SMARTHR_CREATE_USER_SAML_CONFIGURATION` | Create User SAML Configuration | Create the SAML SSO account configuration for one SmartHR user. The tenant must have SAML SSO enabled, and the connected API access token must have the user resource Update permission. |
| `SMARTHR_CREATE_WEBHOOK` | Create Webhook | Create a SmartHR webhook configuration for future employee and dependent events. Matching events can send data to the configured destination, so confirm the URL, event selections, payload exposure, and secret token before calling. The connected API access token must have the webhook resource Update permission. |
| `SMARTHR_DELETE_EMPLOYEE` | Delete Employee | Permanently delete one employee by SmartHR employee ID. This requires the employee resource Update permission on the connected access token. |
| `SMARTHR_DELETE_EMPLOYEE_CUSTOM_FIELD_TEMPLATE` | Delete Employee Custom Field Template | Delete one employee custom-field template by ID. This permanently deletes all employee values set for the template. SmartHR rejects deletion when the field has a scheduled employee update whose effective date has not arrived. |
| `SMARTHR_DELETE_EMPLOYEE_CUSTOM_FIELD_TEMPLATE_GROUP` | Delete Employee Custom Field Template Group | Delete one employee custom-field template group by ID. This also permanently deletes every custom-field template in the group and all values set for those templates. SmartHR rejects deletion when a group field has a scheduled employee update whose effective date has not arrived. |
| `SMARTHR_DELETE_EMPLOYEE_DEPENDENT` | Delete Employee Dependent | Permanently delete one dependent and their sensitive family data from an employee record. This cannot be undone. |
| `SMARTHR_DELETE_EMPLOYMENT_TYPE` | Delete Employment Type | Delete one SmartHR employment type by ID. SmartHR does not allow deletion of a system-standard employment type or one referenced by a scheduled employee update whose effective date has not arrived. The connected API access token must have the employment type resource Update permission. |
| `SMARTHR_DELETE_GRADE` | Delete Grade | Delete one SmartHR grade by ID. A grade referenced by a scheduled employee update whose effective date has not arrived cannot be deleted. The connected API access token must have the grade resource Update permission. |
| `SMARTHR_DELETE_JOB_CATEGORY` | Delete Job Category | Delete one SmartHR job category by ID. A job category referenced by a scheduled employee update whose effective date has not arrived cannot be deleted. The connected API access token must have the job category resource Update permission. |
| `SMARTHR_DELETE_JOB_TITLE` | Delete Job Title | Delete one SmartHR job title by ID. A job title referenced by a scheduled employee update whose effective date has not arrived cannot be deleted. The connected API access token must have the job title resource Update permission. |
| `SMARTHR_DELETE_PAYROLL` | Delete Payroll | Permanently delete one sensitive SmartHR payroll group by ID. The connected API access token must have the payroll resource Update permission. |
| `SMARTHR_DELETE_PAYSLIP` | Delete Payslip | Permanently delete one sensitive SmartHR payslip from its payroll group. The connected API access token must have the payslip resource Update permission, and employee fields may also require Update permission. |
| `SMARTHR_DELETE_RECRUITMENT_TYPE` | Delete Recruitment Type | Delete one SmartHR recruitment type by ID. A recruitment type referenced by a scheduled employee update whose effective date has not arrived cannot be deleted. The connected API access token must have the recruitment type resource Update permission. |
| `SMARTHR_DELETE_TAX_WITHHOLDING` | Delete Tax Withholding | Permanently delete one sensitive SmartHR tax-withholding group by ID. The connected API access token must have the tax-withholding-group resource Update permission. |
| `SMARTHR_DELETE_TAX_WITHHOLDING_SLIP` | Delete Tax Withholding Slip | Permanently delete one sensitive SmartHR tax-withholding slip from its tax-withholding group. The connected API access token must have the tax-withholding-slip resource Update permission, and employee fields may also require Update permission. |
| `SMARTHR_DELETE_USER_SAML_CONFIGURATION` | Delete User SAML Configuration | Delete the SAML SSO account configuration for one SmartHR user. The tenant must have SAML SSO enabled, and the connected API access token must have the user resource Update permission. |
| `SMARTHR_DELETE_WEBHOOK` | Delete Webhook | Permanently delete one SmartHR webhook configuration by ID. The connected API access token must have the webhook resource Update permission. |
| `SMARTHR_DISABLE_USER_SAML_CONFIGURATION` | Disable User SAML Configuration | Disable the SAML SSO account configuration for one SmartHR user. The tenant must have the SAML/SSO option enabled, and the connected API access token must have the user resource Update permission. |
| `SMARTHR_DISCONTINUE_DEPARTMENT` | Discontinue Department | Irreversibly discontinue one SmartHR department as of its final active date. The date must be in the past. SmartHR rejects discontinuation when a scheduled employee update references this department or a descendant; the connected access token must have department Update permission. |
| `SMARTHR_DOWNLOAD_BATCH_JOB_ATTACHMENT` | Download Batch Job Attachment | Download the binary file for a SmartHR batch-job attachment. SmartHR deletes the provider attachment five minutes after it is retrieved, so use the returned offloaded file reference for subsequent work. |
| `SMARTHR_ENABLE_USER_SAML_CONFIGURATION` | Enable User SAML Configuration | Enable the SAML SSO account configuration for one SmartHR user. The tenant must have the SAML/SSO option enabled, and the connected API access token must have the user resource Update permission. |
| `SMARTHR_FINALIZE_PAYROLL` | Finalize Payroll | Finalize one sensitive SmartHR payroll group. The connected API access token must have the payroll-group resource Update permission. |
| `SMARTHR_GET_BATCH_JOB` | Get Batch Job | Get one SmartHR background batch job by ID, optionally embedding its attachments. The access token needs the corresponding resource Reference permission. |
| `SMARTHR_GET_DEPARTMENT` | Get Department | Get one SmartHR department by its department ID. |
| `SMARTHR_GET_EMPLOYEE` | Get Employee | Get one employee by SmartHR employee ID, with optional comma-separated field selection. The access token needs employee Reference permission, and returned attributes may be limited by employee-field Reference permissions. |
| `SMARTHR_GET_EMPLOYEE_CUSTOM_FIELD_TEMPLATE` | Get Employee Custom Field Template | Get one employee custom-field template by ID. Set embed to group to include the custom field group that contains the template. |
| `SMARTHR_GET_EMPLOYEE_CUSTOM_FIELD_TEMPLATE_GROUP` | Get Employee Custom Field Template Group | Get one employee custom-field template group by ID. Set embed to templates to include the custom field templates belonging to the group. |
| `SMARTHR_GET_EMPLOYEE_DEPENDENT` | Get Employee Dependent | Get one dependent belonging to an employee. |
| `SMARTHR_GET_EMPLOYEE_INPUT_FORM` | Get Employee Input Form | Get one SmartHR employee information-collection form by ID, preserving its nested field groups, fields, and embedded custom-field definitions. |
| `SMARTHR_GET_EMPLOYMENT_TYPE` | Get Employment Type | Get one SmartHR employment type by its employment type ID. |
| `SMARTHR_GET_GRADE` | Get Grade | Get one SmartHR grade by its grade ID. |
| `SMARTHR_GET_JOB_CATEGORY` | Get Job Category | Get one SmartHR job category by its job category ID. |
| `SMARTHR_GET_JOB_TITLE` | Get Job Title | Get one SmartHR job title by its job title ID. |
| `SMARTHR_GET_MAIL_FORMAT` | Get Mail Format | Get one SmartHR mail format by ID, optionally embedding the employee information-collection forms that use it. |
| `SMARTHR_GET_PAYMENT_PERIOD` | Get Payment Period | Get one SmartHR payroll payment period by its payment period ID. |
| `SMARTHR_GET_PAYROLL` | Get Payroll | Get one sensitive SmartHR payroll group by ID. The access token needs payroll Reference permission, and returned data may contain sensitive financial information. |
| `SMARTHR_GET_PAYSLIP` | Get Payslip | Get one highly sensitive SmartHR payslip from a payroll group. The access token needs payslip Reference permission, and returned employee fields may be permission-filtered. |
| `SMARTHR_GET_RECRUITMENT_TYPE` | Get Recruitment Type | Get one SmartHR recruitment type by its recruitment type ID. |
| `SMARTHR_GET_TAX_WITHHOLDING` | Get Tax Withholding | Get one highly sensitive SmartHR tax-withholding group by ID. The access token needs tax-withholding-group Reference permission. |
| `SMARTHR_GET_TAX_WITHHOLDING_SLIP` | Get Tax Withholding Slip | Get one highly sensitive SmartHR tax-withholding slip from a tax-withholding group. The access token needs tax-withholding-slip Reference permission, and employee fields may be permission-filtered. |
| `SMARTHR_GET_USER` | Get User | Get one SmartHR user account by user ID with an optional related object embedded in the response. |
| `SMARTHR_GET_USER_SAML_CONFIGURATION` | Get User SAML Configuration | Get the SAML SSO account configuration for one SmartHR user. This endpoint requires the tenant's SAML/SSO option to be enabled. |
| `SMARTHR_GET_WEBHOOK` | Get Webhook | Get one SmartHR webhook configuration by webhook ID. |
| `SMARTHR_INVITE_EMPLOYEE` | Invite Employee | Send the documented SmartHR invitation to one employee's configured email address. Repeating the action resends the invitation unless the employee has already accepted it; the inviter must be an administrator. |
| `SMARTHR_LIST_BANK_ACCOUNT_SETTINGS` | List Bank Account Settings | List one page of SmartHR bank-account setting definitions. This does not return employee bank-account values. |
| `SMARTHR_LIST_BATCH_JOBS` | List Batch Jobs | List one page of SmartHR background batch jobs. Optionally embed attachment metadata for each job. |
| `SMARTHR_LIST_BUSINESS_ESTABLISHMENTS` | List Business Establishments | List one page of SmartHR business establishments, optionally embedding the social insurance representative, labor insurance representative, or company. |
| `SMARTHR_LIST_COMPANIES` | List Companies | List one page of SmartHR companies with an optional embedded owner. |
| `SMARTHR_LIST_DEPARTMENTS` | List Departments | List one page of SmartHR departments using the documented code and sort filters. Returns hierarchy and company details when present. |
| `SMARTHR_LIST_DEPENDENT_CUSTOM_FIELD_TEMPLATES` | List Dependent Custom Field Templates | List one page of SmartHR custom-field templates for employee dependents. |
| `SMARTHR_LIST_DEPENDENT_RELATIONS` | List Dependent Relations | List one page of configured SmartHR dependent relationship types. |
| `SMARTHR_LIST_EMPLOYEE_CUSTOM_FIELD_TEMPLATE_GROUPS` | List Employee Custom Field Template Groups | List one page of employee custom-field template groups. Set embed to templates to include the custom fields belonging to each group. |
| `SMARTHR_LIST_EMPLOYEE_CUSTOM_FIELD_TEMPLATES` | List Employee Custom Field Templates | List one page of SmartHR employee custom-field templates. Set embed to group to include each template's custom-field group. |
| `SMARTHR_LIST_EMPLOYEE_DEPENDENTS` | List Employee Dependents | List one page of sensitive family and dependent records for a SmartHR employee. The access token needs dependent Reference permission, and returned fields may be limited by employee-field Reference permissions. |
| `SMARTHR_LIST_EMPLOYEE_INPUT_FORMS` | List Employee Input Forms | List one page of SmartHR employee information-collection forms with their nested field definitions. Set embed to mail_format to include linked mail formats. |
| `SMARTHR_LIST_EMPLOYEE_MATERNITY_CHILDCARE_LEAVES` | List Employee Maternity and Childcare Leaves | List one page of sensitive maternity and childcare leave records for a SmartHR employee. The access token needs leave-record Reference permission. |
| `SMARTHR_LIST_EMPLOYEES` | List Employees | List one page of employees matching SmartHR's documented employee filters. Employee records contain sensitive HR data; use fields to request only the attributes needed. |
| `SMARTHR_LIST_EMPLOYMENT_TYPES` | List Employment Types | List one page of SmartHR employment types. |
| `SMARTHR_LIST_GRADES` | List Grades | List one page of SmartHR grades. |
| `SMARTHR_LIST_JOB_CATEGORIES` | List Job Categories | List one page of SmartHR job categories. |
| `SMARTHR_LIST_JOB_TITLES` | List Job Titles | List one page of SmartHR job titles using the documented sort option. |
| `SMARTHR_LIST_MAIL_FORMATS` | List Mail Formats | List one page of SmartHR mail formats. Set embed to crew_input_forms to include the employee input forms linked to each format. |
| `SMARTHR_LIST_PAYMENT_PERIODS` | List Payment Periods | List one page of SmartHR payroll payment periods. |
| `SMARTHR_LIST_PAYROLLS` | List Payrolls | List one page of sensitive SmartHR payroll groups using payment-date and payment-type filters. The access token needs payroll Reference permission. |
| `SMARTHR_LIST_PAYSLIPS` | List Payslips | List one page of highly sensitive SmartHR payslips in a payroll group. The access token needs payslip Reference permission, and employee fields may be permission-filtered. |
| `SMARTHR_LIST_RECRUITMENT_TYPES` | List Recruitment Types | List one page of SmartHR recruitment types. |
| `SMARTHR_LIST_TAX_WITHHOLDINGS` | List Tax Withholdings | List one page of sensitive SmartHR tax-withholding groups. The access token needs tax-withholding-group Reference permission. |
| `SMARTHR_LIST_TAX_WITHHOLDING_SLIPS` | List Tax Withholding Slips | List one page of sensitive tax-withholding slips in a SmartHR tax-withholding group. The access token needs tax-withholding-slip Reference permission, and employee fields may be permission-filtered. |
| `SMARTHR_LIST_USERS` | List Users | List one page of SmartHR user accounts with the documented sort and embed options, invitation status, role, and email-delivery status. |
| `SMARTHR_LIST_WEBHOOKS` | List Webhooks | List one page of SmartHR webhook configurations. |
| `SMARTHR_PARTIALLY_UPDATE_DEPARTMENT` | Partially Update Department | Partially update a SmartHR department by ID. The connected API access token must have the department resource Update permission. |
| `SMARTHR_PARTIALLY_UPDATE_EMPLOYEE_CUSTOM_FIELD_TEMPLATE` | Partially Update Employee Custom Field Template | Partially update an employee custom-field template. Elements apply only to enum templates. When a future-dated employee update is pending for the template, SmartHR permits updating only the hint. |
| `SMARTHR_PARTIALLY_UPDATE_EMPLOYMENT_TYPE` | Partially Update Employment Type | Partially update a SmartHR employment type by ID. SmartHR does not allow renaming a system preset employment type or updating an employment type used by a pending future-dated employee update. The connected API access token must have the employment type resource Update permission. |
| `SMARTHR_PARTIALLY_UPDATE_PAYROLL` | Partially Update Payroll | Partially update the administrator-facing and employee-facing names of a sensitive SmartHR payroll group by ID. Both names are required by SmartHR. The connected API access token must have the payroll resource Update permission. |
| `SMARTHR_PARTIALLY_UPDATE_USER_SAML_CONFIGURATION` | Partially Update User SAML Configuration | Partially update the SAML SSO account configuration for one SmartHR user. The tenant must have SAML SSO enabled, and the connected API access token must have the user resource Update permission. |
| `SMARTHR_PARTIALLY_UPDATE_WEBHOOK` | Partially Update Webhook | Partially update a SmartHR webhook by ID. Changing its destination or event selections can redirect future employee and dependent data externally, so confirm them before calling. The connected API access token must have the webhook resource Update permission. |
| `SMARTHR_PUBLISH_PAYROLL` | Publish Payroll | Irreversibly publish one sensitive SmartHR payroll group immediately or at a scheduled time within one month, optionally notifying employees. The connected API access token must have payroll Update permission. |
| `SMARTHR_REMOVE_EMPLOYEE_DEPARTMENTS` | Remove Employee Departments | Remove all department assignments from one employee using the documented SmartHR endpoint. This requires the employee resource and field Update permissions assigned to the connected access token. |
| `SMARTHR_REOPEN_PAYROLL` | Reopen Payroll | Reopen one sensitive SmartHR payroll group. Reopening a published payroll may also unpublish it. The connected API access token must have payroll Update permission. |
| `SMARTHR_REPLACE_DEPARTMENT` | Replace Department | Replace a SmartHR department through PUT. Omitted optional attributes are deleted; use the partial-update action to preserve attributes that are not being changed. Departments with pending employee updates in their hierarchy cannot be updated. |
| `SMARTHR_REPLACE_EMPLOYEE_CUSTOM_FIELD_TEMPLATE` | Replace Employee Custom Field Template | Replace an employee custom-field template through the documented PUT operation. Omitted optional attributes are deleted; use the PATCH action to preserve attributes that are not being changed. Existing dropdown elements omitted from elements are also deleted. |
| `SMARTHR_REPLACE_EMPLOYEE_CUSTOM_FIELD_TEMPLATE_GROUP` | Replace Employee Custom Field Template Group | Replace an employee custom-field template group through the documented PUT operation. Omitted optional attributes are deleted; use the PATCH action to preserve attributes that are not being changed. |
| `SMARTHR_REPLACE_EMPLOYMENT_TYPE` | Replace Employment Type | Replace a SmartHR employment type through PUT. Attributes omitted from the PUT contract are deleted; use the partial-update action to preserve them. System-standard employment types and employment types used by pending employee updates cannot be changed. |
| `SMARTHR_REPLACE_GRADE` | Replace Grade | Replace a SmartHR grade by ID using full PUT semantics. The PUT contract allows name and rank to be omitted. Grades used by pending future-dated employee updates cannot be changed. The connected API access token must have the grade resource Update permission. |
| `SMARTHR_REPLACE_JOB_CATEGORY` | Replace Job Category | Replace a SmartHR job category by ID using full PUT semantics. The PUT contract allows name to be omitted. Job categories used by pending future-dated employee updates cannot be changed. The connected API access token must have the job category resource Update permission. |
| `SMARTHR_REPLACE_JOB_TITLE` | Replace Job Title | Replace a SmartHR job title by ID using full PUT semantics. The PUT contract allows name and rank to be omitted. Job titles used by pending future-dated employee updates cannot be changed. The connected API access token must have the job title resource Update permission. |
| `SMARTHR_REPLACE_RECRUITMENT_TYPE` | Replace Recruitment Type | Replace a SmartHR recruitment type by ID using full PUT semantics. Name is required for the complete replacement. Recruitment types used by pending future-dated employee updates cannot be changed. The connected API access token must have the recruitment type resource Update permission. |
| `SMARTHR_REPLACE_TAX_WITHHOLDING` | Replace Tax Withholding | Replace a sensitive SmartHR tax-withholding group by ID using full PUT semantics. Name, status, and year are all required for the complete replacement. Finalized tax withholdings cannot be updated. The connected API access token must have the tax-withholding-group resource Update permission. |
| `SMARTHR_REPLACE_WEBHOOK` | Replace Webhook | Replace a SmartHR webhook through PUT. Omitted optional attributes are deleted; use the partial-update action to preserve attributes that are not being changed. Changing its destination or event selections can redirect future employee and dependent data externally, so confirm them before calling. |
| `SMARTHR_START_DEPENDENT_IMPORT_JOB` | Start Dependent Import Job | Start an asynchronous SmartHR dependent-data import from a Base64-encoded CSV or Excel file. This creates a background job that processes sensitive family HR data; the connected API access token must have the corresponding resource and employee-field Update permissions. |
| `SMARTHR_START_EMPLOYEE_EXPORT_JOB` | Start Employee Export Job | Start a SmartHR background job that exports employee information using an existing custom download format. A successful 201 response only confirms that the asynchronous job was registered; use the batch-job actions to monitor it and retrieve any resulting attachment. The connected access token must have the required resource and employee-field Update permissions. |
| `SMARTHR_START_EMPLOYEE_IMPORT_JOB` | Start Employee Import Job | Start a SmartHR background job that inserts or updates employees from a sensitive base64-encoded CSV or Excel file. The connected API access token must have the required resource and employee-field Update permissions. |
| `SMARTHR_UPDATE_EMPLOYEE` | Update Employee | Update the supplied documented fields of one employee by SmartHR employee ID. |
| `SMARTHR_UPDATE_EMPLOYEE_CUSTOM_FIELD_TEMPLATE_GROUP` | Update Employee Custom Field Template Group | Update one or more supplied fields of an employee custom-field template group. |
| `SMARTHR_UPDATE_EMPLOYEE_DEPENDENT` | Update Employee Dependent | Update the supplied fields of one dependent belonging to an employee. |
| `SMARTHR_UPDATE_GRADE` | Update Grade | Update the supplied fields of a SmartHR grade by ID. Grades used by pending future-dated employee updates cannot be changed. The connected API access token must have the grade resource Update permission. |
| `SMARTHR_UPDATE_JOB_CATEGORY` | Update Job Category | Update the supplied fields of a SmartHR job category by ID. Job categories used by pending future-dated employee updates cannot be changed. The connected API access token must have the job category resource Update permission. |
| `SMARTHR_UPDATE_JOB_TITLE` | Update Job Title | Update the supplied fields of a SmartHR job title by ID. Job titles used by pending future-dated employee updates cannot be changed. The connected API access token must have the job title resource Update permission. |
| `SMARTHR_UPDATE_RECRUITMENT_TYPE` | Update Recruitment Type | Update a SmartHR recruitment type by ID. Recruitment types used by pending future-dated employee updates cannot be changed. The connected API access token must have the recruitment type resource Update permission. |
| `SMARTHR_UPDATE_TAX_WITHHOLDING` | Update Tax Withholding | Update the supplied fields of a sensitive SmartHR tax-withholding group by ID. SmartHR does not allow updates after the group is fixed. The connected API access token must have the tax-withholding-group resource Update permission. |
| `SMARTHR_UPDATE_TAX_WITHHOLDING_SLIP` | Update Tax Withholding Slip | Update a sensitive SmartHR tax-withholding slip. The full body is required: structured updates require the complete identity, payer, tax-year, and payment body, and sparse field updates are rejected by SmartHR. Confirmed slips cannot be updated, and switching between file-backed and field-backed data requires deleting and recreating the slip. The connected API access token must have the tax-withholding-slip resource Update permission. |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

The SmartHR MCP server provides comprehensive access to SmartHR operations through Composio. Once connected, Hermes can perform all major SmartHR actions on your behalf using natural language commands.

## Complete Code

None listed.

## Conclusion

### Way Forward
With SmartHR connected, Hermes can now act on your behalf whenever it detects a relevant task or you ask it to.
From here, you can extend Hermes further:
- Connect more apps: Calendar, Slack, Notion, Linear, and hundreds of others are available through the same Composio Connect setup. Each new integration compounds what Hermes can do for you.
- Build workflows across tools: Once multiple apps are connected, Hermes can chain actions together — turn an email into a calendar invite, a Slack message into a Linear ticket, or a meeting note into a follow-up draft.
- Let it learn your patterns: The more you use Hermes, the better it gets at anticipating how you'd handle recurring tasks. Give it feedback on drafts and decisions, and it will adapt.
If you run into trouble or want to share what you've built, join the [community](https://discord.com/invite/composio) or check out the [Docs](https://docs.composio.dev?utm_source=toolkits&utm_medium=framework_template&utm_campaign=hermes&utm_content=docs) for deeper configuration options.

## How to build SmartHR MCP Agent with another framework

- [ChatGPT](https://composio.dev/toolkits/smarthr/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/smarthr/framework/claude-cowork)
- [Atomic Agent](https://composio.dev/toolkits/smarthr/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.
- [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.
- [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.
- [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.
- [Personio](https://composio.dev/toolkits/personio) - Personio is an HR platform for managing employee records, attendance, absences, projects, and documents. It centralizes HR data and streamlines workforce administration for teams and HR leaders.
- [Recruitee](https://composio.dev/toolkits/recruitee) - Recruitee is collaborative hiring software that centralizes recruitment tasks for teams. It streamlines sourcing, interviewing, and hiring so you can fill roles faster.
- [Remote retrieval](https://composio.dev/toolkits/remote_retrieval) - Remote retrieval is a logistics automation tool for managing laptop and monitor returns. It streamlines return tracking, saving time and hassle for IT and ops teams.
- [Sap successfactors](https://composio.dev/toolkits/sap_successfactors) - Sap successfactors is a cloud-based human capital management suite for HR, payroll, recruiting, and talent management. It helps organizations centralize employee data and streamline the entire employee lifecycle.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and SmartHR MCP?

With a standalone SmartHR MCP server, the agents and LLMs can only access a fixed set of SmartHR tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from SmartHR and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Hermes?

Yes, you can. Hermes fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right SmartHR tools.

### Can I manage the permissions and scopes for SmartHR while using Tool Router?

Yes, absolutely. You can configure which SmartHR scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your SmartHR data and credentials are handled as safely as possible.

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