Deel

Connect your AI agents to Deel.

Authentication: OAuth or API token. See Magic Link for the runtime auth flow, or Application 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.