Merge HRIS integration
Merge HRIS is Merge's unified API for HR, payroll and directory systems: one call shape reads whichever HR system (BambooHR, Workday, Rippling, Gusto, HiBob and others) a Merge Linked Account connects. List and read employees, employments (job title, pay rate, employment type), companies, locations, groups (departments, teams, cost centers), pay groups, benefits and employer benefits, dependents, payroll runs and employee payroll runs (earnings, deductions, taxes), time off requests and balances and timesheet entries; create time off requests and timesheet entries; and tell Merge to ignore an employee. Records are sensitive personal and pay data: names, personal contact details, home addresses, dates of birth, gender, ethnicity, marital status, pay rates and pay statements. Not exposed: bank details, social security numbers (sensitive fields are never requested), raw third-party data, the employee custom_fields map (the HR system's own custom fields, which Merge does not normalize), passthrough requests, employee creation (hidden by Merge), the legacy Teams model (read teams as groups) and Linked Account, key, webhook, field mapping, scope and sync administration. Calls go to Merge's US region only (api.merge.dev): an organization on Merge's EU or APAC tenant cannot connect here. Authentication is a Merge API key (Authorization: Bearer) plus one Linked Account's account token (X-Account-Token), so one connection reads one HR system account.
Say what should happen.
The workflow builds itself.
What you can do with Merge HRIS
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Time off, 3 operations
create_time_offCreate time offPOSTCreates a time off request for an employee in the connected HR system (public beta). Call get_time_off_create_metadata first: required fields vary by system.get_time_offGet time offGETReturns one time off request by Merge id. Personal data, sick leave included: employee, approver, status, request type, amount and units, start and end time and the employee's note.list_time_offList time offGETLists time off requests. Personal data, sick leave included: employee, approver, status, request type, amount and units, start and end time and the employee's note. Filter by employee, approver, status, type or dates.
Timesheet entry, 3 operations
create_timesheet_entryCreate timesheet entryPOSTLogs hours worked by an employee as a timesheet entry in the connected HR system. Call get_timesheet_entry_create_metadata first: required fields vary by system.get_timesheet_entryGet timesheet entryGETReturns one timesheet entry by Merge id: the employee, hours worked, start and end time. Personal data.list_timesheet_entriesList timesheet entriesGETLists timesheet entries: hours worked by an employee with start and end time. Personal data. Filter by employee_id or dates; order_by sorts on start time.
Benefit, 2 operations
get_benefitGet benefitGETReturns one employee benefit enrollment by Merge id. Personal data: employee, provider, employee and company contributions, start and end dates and the employer benefit plan.list_benefitsList benefitsGETLists the benefits employees are enrolled in. Personal data: employee, provider, employee and company contributions, start and end dates and the employer benefit plan. Filter by employee_id.
Company, 2 operations
get_companyGet companyGETReturns one company by Merge id: legal name, display name and Employer Identification Numbers (company tax ids).list_companiesList companiesGETLists the companies in the HR system with legal and display names and Employer Identification Numbers (company tax ids).
Dependent, 2 operations
get_dependentGet dependentGETReturns one dependent of an employee by Merge id. Personal data: name, relationship, date of birth, gender, phone number, home location and student status. Social security numbers are never returned.list_dependentsList dependentsGETLists employees' dependents (children, spouses, partners). Personal data: names, relationship, date of birth, gender, phone number, home location and student status. Filter by employee_id. No social security numbers.
Employee, 2 operations
get_employeeGet employeeGETReturns one employee by Merge id. Personal data: names, work and personal email, mobile phone, date of birth, gender, ethnicity, marital status, home location, manager, employments. Social security numbers are never returned.list_employeesList employeesGETLists employees. Personal data: names, work and personal email, mobile phone, date of birth, gender, ethnicity, marital status, home location, manager, start and termination dates. Filter by status, company, manager, group, email or dates. No SSNs.
Employee payroll run, 2 operations
get_employee_payroll_runGet employee payroll runGETReturns one employee's pay statement by Merge id. Personal pay data: gross and net pay, earnings, deductions and taxes, pay period and check date.list_employee_payroll_runsList employee payroll runsGETLists employees' pay statements. Personal pay data: gross and net pay, earnings, deductions and taxes per employee and payroll run, with period and check dates. Filter by employee_id, payroll_run_id or dates.
Employer benefit, 2 operations
get_employer_benefitGet employer benefitGETReturns one benefit plan the company offers by Merge id: plan type, name, description and deduction code.list_employer_benefitsList employer benefitsGETLists the benefit plans the company offers: plan type, name, description and deduction code. Who is enrolled is read with list_benefits.
Employment, 2 operations
get_employmentGet employmentGETReturns one employment by Merge id. Personal pay data: the employee's job title, pay rate, pay period, frequency and currency, FLSA status, employment type, pay group and effective date.list_employmentsList employmentsGETLists employments (an employee's job positions over time). Personal pay data: job title, pay rate, pay period, frequency and currency, FLSA status, employment type, pay group and effective date. Filter by employee_id.
Group, 2 operations
get_groupGet groupGETReturns one group of employees by Merge id: name, type (TEAM, DEPARTMENT, COST_CENTER, BUSINESS_UNIT or GROUP), parent group and whether it is commonly used as a team.list_groupsList groupsGETLists groups of employees (departments, teams, cost centers, business units...) with name, type, parent group and whether it is commonly used as a team. Filter by names, types or is_commonly_used_as_team.
Location, 2 operations
get_locationGet locationGETReturns one address by Merge id: an office or an employee's home address (personal data), with street, city, state, zip code, country, phone number and type (HOME or WORK).list_locationsList locationsGETLists addresses linked to employees: offices and employees' home addresses (personal data), with street, city, state, zip code, country, phone number and type. Filter by location_type (HOME or WORK).
Pay group, 2 operations
get_pay_groupGet pay groupGETReturns one pay group (a set of employees processed together for payroll) by Merge id, with its name.list_pay_groupsList pay groupsGETLists pay groups: sets of employees processed together for payroll, with their names.
Payroll run, 2 operations
get_payroll_runGet payroll runGETReturns one payroll run (a company pay cycle) by Merge id: state, type, period start and end and check date.list_payroll_runsList payroll runsGETLists payroll runs (company pay cycles) with state, type, period and check date. Filter by run_type or dates. Each employee's pay in a run is read with list_employee_payroll_runs.
Post, 2 operations
get_time_off_create_metadataGet time off create metadataGETReturns the request schema the connected HR system accepts to create a time off request: fields, required ones and integration-specific parameters. Call it before the write.get_timesheet_entry_create_metadataGet timesheet entry create metadataGETReturns the request schema the connected HR system accepts to create a timesheet entry: fields, required ones and integration-specific parameters. Call it before the write.
Time off balance, 2 operations
get_time_off_balanceGet time off balanceGETReturns one employee's time off balance by Merge id: policy type (vacation, sick, personal...), balance and amount used. Personal data.list_time_off_balancesList time off balancesGETLists employees' time off balances per policy type (vacation, sick, personal...): balance and amount used. Personal data. Filter by employee_id or policy_type.
Account detail, 1 operation
get_account_detailsGet account detailsGETReturns the Linked Account behind the connection: integration name and slug, category, status, end user organization and email, and account type.
Available action, 1 operation
get_available_actionsGet available actionsGETReturns the integration behind the Linked Account and, per Common Model, the operations it supports (FETCH, CREATE...), the fields it fills and the parameters a create must send.
Ignore, 1 operation
ignore_employeeIgnore employeePOSTTells Merge to ignore an employee: Merge sets its properties to null and stops updating it in future syncs (for example after a GDPR request). The reason and message are stored for audit.
Sync status, 1 operation
get_sync_statusGet sync statusGETReturns the sync state of each Common Model for the Linked Account: last and next sync start, last result and finish time. Data read through the other tools is as fresh as the last sync.
Type, 1 operation
list_group_typesList group typesGETReturns a list of distinct group type values from the Groups common model.
Use Merge HRIS from Claude Code, Cursor or Codex
Connect Merge HRIS in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Merge HRIS operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Merge HRIS
- Create your workspace
Sign up free. Nothing to install.
- Connect Merge HRIS once
Add your Merge HRIS connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Merge HRIS integration FAQ
What can you do with the Merge HRIS integration?
LiveContext exposes 37 operations on Merge HRIS, covering time off, timesheet entry, benefit and company.
