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

# Deel

**Authentication:** OAuth or API token. 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 all active EOR contracts for our engineering team.
* Create a time-off request for a contractor next week.
* Show me the legal entities and their working locations.
* Update the work location for a newly relocated employee.

## Available Tools

#### list_contracts

List contracts in the organization. Filter server-side by type, status, team, legal entity, country, currency, or a t...

#### get_contract

Get a single contract by id. Use list_contracts to find valid IDs.

#### create_contract

Create an independent-contractor (IC) contract. Discover required IDs first: list_groups (team_id), list_legal_entiti...

#### terminate_contract

Terminate a non-EOR contract (independent-contractor, PAYG, etc). Use terminate_eor_contract instead for contracts wh...

#### terminate_eor_contract

Initiate offboarding/termination for an EOR (Employer of Record) contract. Use terminate_contract instead for non-EOR...

#### amend_contract

Amend an existing contract's terms (compensation, job title, seniority, scope of work, etc). Only send the fields tha...

#### list_contract_termination_reasons

List contract termination reasons available in this organization. Use for terminate_contract's termination_reason_id.

#### discover_person_custom_fields

List the custom field definitions available on people profiles in this organization (name, type, and whether required...

#### get_person_custom_fields

Get the custom field values set on one person's profile. Use list_people to find the worker id, and discover_person_c...

#### set_person_custom_fields

Set a custom field's value on one person's profile. Use list_people to find the worker id, and discover_person_custom...

#### list_groups

List groups (teams) in the organization. Use this to find team/group IDs for other tools.

#### create_group

Create a group (team).

#### update_group

Rename a group (team). Use list_groups to find valid IDs.

#### delete_group

Archive (delete) a group by id. Use list_groups to find valid IDs.

#### list_legal_entities

List legal entities in the organization. Use this to find legal_entity_id for create_contract.

#### list_job_titles

List job titles available in this organization. Use for create_contract's job_title_id.

#### list_countries

List countries supported by Deel, with ISO codes. Use for create_contract's country_code.

#### list_seniority_levels

List seniority levels available in this organization. Use for create_contract's seniority_id.

#### list_currencies

List supported currencies (ISO 4217 codes). Use for create_contract's compensation_details currency.

#### list_time_off_types

List global time-off category names (e.g. VACATION, SICK_LEAVE) for reference only — these are not valid time_off_typ...

#### list_working_locations

List working locations configured for this organization. Use for update_person_work_location's working_location_id.

#### list_organization_structures

List organization structures (team hierarchies, roles) for this organization.

#### list_people

List people (HRIS profiles) in the organization. Supports search by name, and filtering by team, hiring status, hirin...

#### get_person

Get a single person's HRIS profile by id. Use list_people to find valid IDs.

#### update_person_work_location

Update a person's working location. Use list_people to find the HRIS profile id, and list_working_locations to find a...

#### list_time_off_policies

List the time-off policies available to one HRIS profile (e.g. vacation, sick leave). Use list_people to find the hri...

#### list_time_off_requests

List existing time-off requests for one HRIS profile, with their id, status, and dates. Use list_people to find the h...

#### create_time_off_request

Create a time-off request for a person. Use list_people to find recipient_profile_id, and list_time_off_policies for...

#### update_time_off_request

Update an existing time-off request. Use list_time_off_requests to find the request id first.

#### review_time_off_request

Approve or reject one or more time-off requests in a single call. Use list_time_off_requests to find pending request...

#### delete_time_off_request

Cancel (delete) a time-off request by id. Use list_time_off_requests to find the request id first. This immediately s...

#### list_webhooks

List webhook subscriptions registered for this organization.

#### create_webhook

Create a webhook subscription. Use list_webhook_event_types to find valid event names for the events list.

#### update_webhook

Update a webhook subscription's status (enabled/disabled) or child-org visibility. Use list_webhooks to find valid ID...

#### delete_webhook

Delete a webhook subscription by id. Use list_webhooks to find valid IDs.

#### list_webhook_event_types

List the webhook event types available for subscription. Use for create_webhook's events list.