# Omni HR MCP connector

The Omni HR connector brings expense approvals, review cycles, attendance summaries, compensation events and admin forms into Claude, ChatGPT, Cursor and the Elaichi Agent, so your team can ask about them in plain language inside their own access.

Source: https://elaichi.ai/connectors/omnihr/

## Facts

| | |
| --- | --- |
| Application | Omni HR |
| Category | HRIS |
| AI tools | 359 |
| Authentication | Connects with an API key |
| Bring your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once Omni HR is connected

- Which expense approvals are still waiting on me this week?
- Who still has a step open in the current review cycle?
- List celebration events for my team this month.

## Connect Omni HR in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Omni HR.
2. Optionally set Share with, then press Connect.
3. Paste an Omni HR API key. One person generates a token in Omni HR and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Omni HR tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Omni HR MCP connector for Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Omni HR MCP connector for ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Omni HR MCP connector for Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Omni HR to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Omni HR tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Omni HR through Elaichi

### Clear the expense approval queue before month end

Finance. Ask which Omni HR expense approvals and reimbursements are still open, grouped by amount or requester, so nothing sits waiting when the books close.

### See who is due in the current review cycle

HR. Pull every active Omni HR review cycle and check which people and managers still have a step outstanding, without opening each cycle by hand.

### Pull compensation history before payroll runs

Payroll. Download the Omni HR compensation history report, list recent compensation events and confirm pay types and frequencies are right before the run.

### Spot attendance gaps before the week ends

Managers. Ask for Omni HR attendance summaries for your team, or download the timesheets, and follow up on missing days while there is still time to fix them.

### Never miss a work anniversary or birthday

People Ops. List upcoming Omni HR celebration events for the month and turn them into a plan for cards, shout-outs and gifts.

### Set up a new entity in minutes

Operations. Create a new company in Omni HR, or several at once when the group expands, with the right country, currency and bank details already checked against the lists Omni HR keeps.

## Frequently asked questions

### How do I connect Omni HR to Claude?

Two steps. In Elaichi, choose Omni HR and paste the API key from your Omni HR account, since Omni HR connects with an API key and there is no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Sign in with your Elaichi account and Omni HR is available in the conversation.

### Does Omni HR work with ChatGPT and Cursor as well as Claude?

Yes. Once Omni HR is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Omni HR once and every client picks it up.

### What can an AI agent actually do with my Omni HR data?

It can list open expense approvals and reimbursements, show active review cycles, pull attendance summaries and timesheets, report on compensation events and history, list celebration events and read admin form submissions from Omni HR. It can also create companies when a new entity joins the group. Short, concrete asks such as "open expense approvals over 500" get better results than long paragraphs.

### Does connecting Omni HR give the AI access to everything in my workspace?

No. The agent only sees what the Omni HR API key it is working through is allowed to see, and every person signs in to Elaichi as themselves so their calls are their own. Elaichi can narrow that access further with restrictions, and it can never widen it beyond what Omni HR already permits.

### Can my team share one Omni HR connection?

Yes. One person connects Omni HR in Elaichi and shares the connection with a team, and nobody else ever handles the API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person behind every Omni HR request.

### Can I stop an agent from creating or changing things in Omni HR?

Yes. Restrictions in Elaichi work per action, so you can allow reading Omni HR expense approvals and review cycles while blocking the ability to create companies. A restricted action is never advertised to Claude, ChatGPT or Cursor, so no prompt can reach it.

### What happens to an Omni HR connection when someone leaves?

Offboarding that person in Elaichi ends their access to Omni HR through every client at once. A shared Omni HR connection keeps working for everyone else on the team. If you want the connection gone entirely, disconnect it once in Elaichi and it disappears from Claude, ChatGPT, Cursor and the Elaichi Agent together.

### Does the Omni HR MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. Omni HR is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

## All 359 Omni HR tools

Every tool below is callable through https://api.elaichi.ai/mcp once Omni HR is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Omni HR active expense approvals** (List). List active expense approvals, with search and location, department, position and policy filters.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni expense module: the token's user needs that module's role permissions.
- **List all Omni HR active expense reimbursements** (List). List active expense reimbursements, with search, location, position, department, approval-date and policy filters.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni expense module: the token's user needs that module's role permissions.
- **List all Omni HR adhoc pay types** (List). List the one-off (ad hoc) pay types.
Not paginated.
Each record has: id, value.
Omni organization-settings module: the token's user needs that module's role permissions.
- **List all Omni HR admin form submissions** (List). List a form's submissions for administration, filtered by request status, criteria and search (read via POST). Required: form_id.
Paginated: Truto sends page and page_size in the JSON body (up to 30 per page); pass next_cursor for the next page and resend the same filters.
Omni's spec shows a different response wrapper; Truto unwraps the list the way Omni's web app reads it.
Omni forms module: the token's user needs that module's role permissions.
- **Get single Omni HR admin form submission by ID** (Get). Get one form submission with its approval progress.
id comes from admin_form_submissions.list.
Omni forms module: the token's user needs that module's role permissions.
- **List all Omni HR admin forms** (List). List forms for administration, filtered by category, status and a search query (read via POST).
Not paginated.
Omni forms module: the token's user needs that module's role permissions.
- **Get single Omni HR admin form by ID** (Get). Get a form's full admin configuration: details, form data, availability scope and approval rules.
id comes from admin_forms.list.
Omni forms module: the token's user needs that module's role permissions.
- **List all Omni HR all review cycles** (List). List every performance review cycle as a lightweight id, name and org_id list.
Not paginated.
Omni performance module: the token's user needs that module's role permissions.
- **List all Omni HR attendance summaries** (List). Get an attendance summary per employee (total, work and overtime minutes) for the given work schedules, projects and date range. Required: work_schedule_ids, date_range_query, project_ids.
Not paginated.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni attendance module: the token's user needs that module's role permissions.
- **Omni HR attendance timesheets download** (Download). Download attendance timesheets for the given work schedules, projects and date range. Required: work_schedule_ids, date_range_query, project_ids.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Returns a file (binary), not JSON; Omni does not state the file type.
Omni attendance module: the token's user needs that module's role permissions.
- **List all Omni HR bank countries** (List). List countries and whether Omni has bank data for them (show_full_list is required).
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **List all Omni HR banks** (List). List the banks of a country (country_code is required; refresh_cache refreshes the cached list).
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **List all Omni HR celebration events** (List). List employee celebration events between start_date and end_date. Required: start_date, end_date.
Not paginated.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **List all Omni HR companies** (List). List the organization's companies.
Not paginated.
Each record has: id, name, is_deletable.
Omni organization module: the token's user needs that module's role permissions.
- **Create a Omni HR company** (Create). Create a company in the organization structure (companies are referenced by employee job records). Required: name.
Omni organization module: the token's user needs that module's role permissions.
- **Omni HR companies bulk create** (Create). Create companies in bulk; the body is a JSON array of companies.
Returns: id, name, is_deletable, _delete, uid.
Omni organization module: the token's user needs that module's role permissions.
- **List all Omni HR compensation events** (List). List the compensation events (the event reasons used on compensation records).
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **List all Omni HR compensation frequencies** (List). List the compensation frequencies.
Not paginated.
Each record has: id, value.
Omni organization-settings module: the token's user needs that module's role permissions.
- **Omni HR compensation history report download** (Download). Download the compensation history report: one row per employee compensation change (effective date, event reason, amount and currency).
Returns an XLSX file, not JSON.
Omni reports module: the token's user needs that module's role permissions.
- **List all Omni HR compensation types** (List). List the compensation types configured for the organization.
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **List all Omni HR countries** (List). List the countries Omni supports; each entry is a pair of two strings (Omni does not name the elements).
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **List all Omni HR currencies** (List). List the currencies Omni supports; each entry is a pair of two strings (Omni does not name the elements).
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **List all Omni HR custom report data** (List). Generate a custom report from a template and return its rows as JSON (as_of_date sets the as-of date). Required: template_id.
Not paginated.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni reports module: the token's user needs that module's role permissions.
- **List all Omni HR custom report fields** (List). List the fields available to custom reports.
Not paginated.
Each record has: id, name, type, is_mandatory, fields.
Omni reports module: the token's user needs that module's role permissions.
- **List all Omni HR custom report templates** (List). List custom report templates.
Not paginated.
Each record has: id, name, description, selected_fields, filter_by, field_values_to_include, sort_by, report_type and more.
Omni reports module: the token's user needs that module's role permissions.
- **Get single Omni HR custom report template by ID** (Get). Get one custom report template.
id comes from custom_report_templates.list.
Omni reports module: the token's user needs that module's role permissions.
- **Delete a Omni HR custom report template by ID** (Delete). Delete a custom report template.
id comes from custom_report_templates.list.
Omni reports module: the token's user needs that module's role permissions.
- **Omni HR custom report templates duplicate** (Duplicate). Duplicate a custom report template under a new name. Required: template_id, name.
Omni reports module: the token's user needs that module's role permissions.
- **List all Omni HR departments** (List). List the organization's departments.
Not paginated.
Each record has: id, name, is_deletable.
Omni organization module: the token's user needs that module's role permissions.
- **Create a Omni HR department** (Create). Create a department in the organization structure (departments are referenced by employee job records). Required: name.
Omni organization module: the token's user needs that module's role permissions.
- **Omni HR departments bulk create** (Create). Create departments in bulk; the body is a JSON array of departments.
Returns: id, name, is_deletable, _delete, uid.
Omni organization module: the token's user needs that module's role permissions.
- **List all Omni HR dependent types** (List). List the dependent types configured for the organization.
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **List all Omni HR document request types** (List). List the document request types.
Not paginated.
Each record has: id, is_deletable, value, is_editable.
Omni organization-settings module: the token's user needs that module's role permissions.
- **List all Omni HR document types** (List). List the organization document types.
Not paginated.
Each record has: id, is_deletable, value.
Omni organization-settings module: the token's user needs that module's role permissions.
- **Create a Omni HR dynamic organization document** (Create). Generate a document from editor-based content and send it to an employee with a due date for acknowledgement or signature; an optional countersigner can be included. Required: due_date, recipient, name, document_type, content, text_editor.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni organization-documents module: the token's user needs that module's role permissions.
- **Update a Omni HR employee about by ID** (Update). Update an employee's About text (PATCH); id is the employee's user id.
Returns: about.
Omni employee module: the token's user needs that module's role permissions.
- **Omni HR employee about overwrite** (Action). Replace an employee's About text (PUT); user_id is the employee's user id. Required: user_id (the employee's Omni user id).
Omni employee module: the token's user needs that module's role permissions.
- **List all Omni HR employee active review cycles** (List). List an employee's active performance review cycles. Required: user_id (the employee's Omni user id).
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni requires user_id both in the path and as a query parameter; Truto sends the same value in both.
Omni performance module: the token's user needs that module's role permissions.
- **List all Omni HR employee addresses** (List). List an employee's addresses. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **Create a Omni HR employee address** (Create). Add an address for an employee. Required: user_id (the employee's Omni user id).
Omni employee module: the token's user needs that module's role permissions.
- **List all Omni HR employee adhoc pay items** (List). List an employee's one-off (ad hoc) compensation items (show_historical includes past items). Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **Get single Omni HR employee adhoc pay item by ID** (Get). Get one of an employee's one-off pay items by id. Required: user_id (the employee's Omni user id).
id comes from employee_adhoc_pay_items.list.
Omni employee module: the token's user needs that module's role permissions.
- **Create a Omni HR employee adhoc pay item** (Create). Add a one-off pay item for an employee. Required: user_id (the employee's Omni user id), frequency_id, effective_start_date, amount, amount_currency, pay_type_id, amount_type.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **Update a Omni HR employee adhoc pay item by ID** (Update). Partially update one of an employee's one-off pay items (PATCH). Required: user_id (the employee's Omni user id), frequency_id, effective_start_date, amount, amount_currency, pay_type_id, amount_type.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
id comes from employee_adhoc_pay_items.list.
Omni employee module: the token's user needs that module's role permissions.
- **Omni HR employee adhoc pay items overwrite** (Action). Replace one of an employee's one-off pay items (PUT: send the full record); adhoc_item_id is the one-off pay item id. Required: user_id (the employee's Omni user id), adhoc_item_id, frequency_id, effective_start_date, amount, amount_currency, pay_type_id, amount_type.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **Delete a Omni HR employee adhoc pay item by ID** (Delete). Delete one of an employee's one-off pay items. Required: user_id (the employee's Omni user id).
id comes from employee_adhoc_pay_items.list.
Omni employee module: the token's user needs that module's role permissions.
- **List all Omni HR employee bank accounts** (List). List an employee's bank accounts. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **Get single Omni HR employee bank account by ID** (Get). Get one of an employee's bank accounts by id. Required: user_id (the employee's Omni user id).
id comes from employee_bank_accounts.list.
Omni employee module: the token's user needs that module's role permissions.
- **Create a Omni HR employee bank account** (Create). Add a bank account for an employee. Required: user_id (the employee's Omni user id), user.
Omni employee module: the token's user needs that module's role permissions.
- **Update a Omni HR employee bank account by ID** (Update). Partially update one of an employee's bank accounts (PATCH). Required: user_id (the employee's Omni user id), user.
id comes from employee_bank_accounts.list.
Omni employee module: the token's user needs that module's role permissions.
- ...and 309 more tools. Call `tools/list` via the MCP endpoint, or see the full catalog via the API, for the complete set.
