> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Deel

> Connect Deel to your Atako agents — 12 read and 2 write actions.

Let your agents read people, contracts, time off, invoices, timesheets, teams and legal entities in Deel, file time-off requests and log contractor hours for review.

## Connection

* **Authentication**: API key (Organization API token).
* **Required settings**:
  * **Environment** — api in production, api-staging for the API sandbox.

<Note>
  In Deel: More → Developer → Access Tokens → Generate new token → choose "Organization token", then select the scopes: people:read, contracts:read, time-off:read, accounting:read, organizations:read and timesheets:read — plus time-off:write and worker:write to file time-off requests, and timesheets:write to log hours. Generate, then copy the token right away (it is shown only once). For a sandbox token, create it from the API Sandbox tab of the Developer Center and set the environment to api-staging.

  See [Deel's documentation](https://developer.deel.com/api/authentication).
</Note>

## Read actions (12)

| Action | Description |
| - | - |
| `get_contract` | Retrieve the full record of one contract (id from list\_contracts), optionally expanded with cost\_centers and/or custom\_fields. |
| `get_person` | Retrieve one person by hris\_profile\_id (UUID from list\_people): personal and employment details, team, manager, status. |
| `list_contracts` | List contract summaries, cursor-paginated (after\_cursor), with optional filters on type, status, team, legal entity, country, currency, external id or a name search. |
| `list_countries` | List the countries supported by Deel (code, name, EOR availability, visa support, sub-territories). |
| `list_currencies` | List the currencies supported by Deel (ISO code and name). |
| `list_invoices` | List invoices (only paid ones by default; status "all" returns every status), with optional issue-date range, offset or cursor pagination. |
| `list_legal_entities` | List the organization's legal entities, cursor-paginated, with optional country, entity type, global payroll and archived filters. |
| `list_people` | List people (workers) of the organization, paginated by offset/limit, with optional name search, team, hiring status/type and person status filters. Each person's id is the hris\_profile\_id used by get\_person and time-off actions. |
| `list_person_time_off_policies` | List the time-off policies assigned to one person (hris\_profile\_id from list\_people), with their balances and allowed time-off types: gives the policy\_id and time\_off\_type\_id that create\_time\_off\_request needs. |
| `list_teams` | List the teams of the organization (id and name). |
| `list_time_off_requests` | List time-off requests of the whole organization, cursor-paginated (next), with optional status and date-range filters (ISO 8601 date-times). |
| `list_timesheets` | List timesheet entries, offset-paginated, optionally filtered by contract, contract types, statuses, reporter or submission date range (YYYY-MM-DD, date\_to exclusive). |

## Write actions (2)

| Action | Description |
| - | - |
| `create_time_off_request` | File a time-off request for a worker. Arguments: recipient\_profile\_id (string UUID, the hris\_profile\_id from list\_people, required); start\_date and end\_date (strings "YYYY-MM-DD" or ISO 8601 date-time, required); policy\_id OR time\_off\_type\_id (string UUID from list\_person\_time\_off\_policies, one of the two required); contract\_oid (string contract id, optional, for a worker with several contracts); description, reason and other\_type\_description (plain strings, optional; some policies require a description). The request is always created with status REQUESTED: approval stays human. Sent as \{"data": \{...}}. |
| `create_timesheet` | Log hours worked on an hourly contractor contract; the entry goes into Deel's review workflow (never auto-approved). Arguments: contract\_id (string, contract id from list\_contracts, required); quantity (number of work units, typically hours, at least 0.01, required); description (plain string shown on the invoice, required); date\_submitted (string "YYYY-MM-DD", day the work was done, required). Sent as \{"data": \{...}}. |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.