> This page is for Agent Handler.

> 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.