> This page is for Workforce.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# Oracle HCM

**Authentication:** OAuth or basic authentication. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow, or [Application credentials](/merge-agent-handler/admin-setup/add-oauth-credentials) to bring your own OAuth app.

## Sample use cases

* List employees with upcoming performance reviews in the next 30 days.
* Pull the headcount by department as of the end of last quarter.
* Find every employee on PTO this Friday for staffing planning.

## Available Tools

#### list_absences

List absence records from Oracle HCM via /absences GET. Returns paginated list of absences. Use limit/offset for pagination and q for search filters like 'PersonNumber="12345"'.

#### get_absence

Get a single absence record by personAbsenceEntryId from Oracle HCM. Returns full absence details including dates, type, and status. Use list_absences to find valid absence IDs.

#### create_absence

Create a new absence record in Oracle HCM via /absences POST. Provide worker_id, absence_type, start_date, end_date. Use list_workers to find valid worker IDs. Returns created absence with ID.

#### update_absence

Update an absence record in Oracle HCM. Provide absence_id (personAbsenceEntryId) and fields to update. Use additional_fields for extra API fields. Use list_absences to find valid IDs.

#### delete_absence

Delete an absence record from Oracle HCM. This permanently removes the absence record. Use list_absences to find valid absence IDs.

#### list_departments

List departments from Oracle HCM via /departments GET. Returns paginated list of departments. Use limit/offset for pagination and q for search filters. Returns items array with hasMore indicator.

#### get_department

Get a single department by OrganizationId from Oracle HCM. Returns full department details. Use list_departments to find valid OrganizationId values.

#### create_department

Create a new department in Oracle HCM via /departments POST.

#### update_department

Update a department in Oracle HCM. Provide department_id (OrganizationId) and fields to update. Use additional_fields for extra API fields. Use list_departments to find valid IDs.

#### delete_department

Delete a department from Oracle HCM. This permanently removes the department. Use list_departments to find valid OrganizationId values.

#### list_organizations

List organizations from Oracle HCM via /organizations GET. Returns paginated list of all organization types. Use limit/offset for pagination and q for search filters.

#### get_organization

Get a single organization by OrganizationId from Oracle HCM. Returns full organization details including classification. Use list_organizations to find valid IDs.

#### create_organization

Create a new organization in Oracle HCM via /organizations POST. Provide name and optionally classification_code, effective_start_date. Use additional_fields for extra API fields.

#### update_organization

Update an organization in Oracle HCM. Provide organization_id (OrganizationId) and fields to update. Use list_organizations to find valid IDs.

#### delete_organization

Delete an organization from Oracle HCM. This permanently removes the organization. Use list_organizations to find valid IDs.

#### list_jobs

List jobs from Oracle HCM via /jobs GET. Returns paginated list of job definitions. Use limit/offset for pagination and q for search filters. Returns items array with hasMore indicator.

#### get_job

Get a single job by JobId from Oracle HCM. Returns full job details including code and family. Use list_jobs to find valid JobId values.

#### create_job

Create a new job in Oracle HCM via /jobs POST. Provide name and optionally job_code, job_family. Use additional_fields for extra API fields. Returns created job with assigned ID.

#### update_job

Update a job in Oracle HCM. Provide job_id (JobId) and fields to update. Use additional_fields for extra API fields. Use list_jobs to find valid JobId values.

#### delete_job

Delete a job from Oracle HCM. This permanently removes the job definition. Use list_jobs to find valid JobId values.

#### list_positions

List positions from Oracle HCM via /positions GET. Returns paginated list of positions with job and department info. Use limit/offset for pagination and q for search filters.

#### get_position

Get a single position by PositionId from Oracle HCM. Returns full position details including associated job, department, and location. Use list_positions to find valid IDs.

#### create_position

Create a new position in Oracle HCM via /positions POST. Provide name and optionally job_id, department_id, location_id. Use list_jobs/list_departments/list_locations to find valid IDs.

#### update_position

Update a position in Oracle HCM. Provide position_id (PositionId) and fields to update. Use additional_fields for extra API fields. Use list_positions to find valid IDs.

#### delete_position

Delete a position from Oracle HCM. This permanently removes the position. Use list_positions to find valid PositionId values.

#### list_locations

List locations from Oracle HCM via /locations GET. Returns paginated list of locations. Locations are read-only reference data. Use limit/offset for pagination and q for search filters.

#### get_location

Get a single location by LocationId from Oracle HCM. Returns full location details including address info. Use list_locations to find valid LocationId values.

#### list_workers

List workers from Oracle HCM via /workers GET.

#### get_worker

Get a single worker by PersonId from Oracle HCM. Returns worker profile including personal info and employment details. Use list_workers to find valid PersonId values.

#### create_worker

Create a new worker in Oracle HCM via /workers POST.

#### update_worker

Update a worker in Oracle HCM. Provide worker_id (PersonId) and fields to update. Use additional_fields for extra API fields. Use list_workers or get_worker to find valid PersonId values.

#### get_worker_assignments

Get work relationships for a worker from Oracle HCM.

#### get_worker_contact_info

Get contact information for a worker from Oracle HCM via the /emps endpoint.