> AI agents: this is one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt # Linking Deel as a source Canonical URL: https://posthog.com/docs/data-pipelines/sources/deel > **Cloud region:** This page uses US Cloud hosts. For an EU Cloud project, use `https://eu.posthog.com` instead of `https://us.posthog.com` or `https://app.posthog.com` (app host for links). ## On this page - [Adding a data source](#adding-a-data-source) - [Available tables](#available-tables) - [Required scopes](#required-scopes) - [Configuration](#configuration) - [Supported tables](#supported-tables) **Beta release** This source is currently in **beta**. It works end to end, but you may still hit rough edges. [Let us know](https://us.posthog.com/#panel=support%3Asupport%3Adata_warehouse%3A%3Atrue) if you do. ![](https://res.cloudinary.com/dmukukwp6/image/upload/texture_tan_9608fcca70) ![](https://res.cloudinary.com/dmukukwp6/image/upload/texture_tan_dark_a92b0e022d) Let AI connect your sources for you Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog. `npx @posthog/wizard warehouse` ![PostHog Wizard hedgehog](https://res.cloudinary.com/dmukukwp6/image/upload/wizard_3f8bb7a240.png) ![](https://res.cloudinary.com/dmukukwp6/image/upload/wizard_3f8bb7a240.png)Let AI connect your sources for you The Deel connector automatically pulls your Deel workforce and payroll data into the PostHog data warehouse. ## Adding a data source 1. Go to the [sources tab](https://app.posthog.com/data-management/sources) of the data pipeline section in PostHog. 2. Click **\+ New source** and then click **Link** next to Deel. 3. You need a Deel API token. In your Deel admin console, go to **Settings** and create an organization API token. Enable the read scope for each dataset you want to sync (see [required scopes](#required-scopes) below). 4. Back in PostHog, enter the token in the **API token** field and click **Next**. 5. Select the tables you want to sync, set the sync method and frequency, then click **Import**. Once the syncs are complete, you can start using Deel data in PostHog. **Use organization tokens** Use an **organization API token** rather than a personal API token. Personal tokens expire when the user leaves the organization, which causes syncs to fail. ## Available tables | Table | Description | Sync method | | --- | --- | --- | | `people` | Employee and contractor records | Full refresh | | `contracts` | Contract details for workers | Full refresh | | `invoices` | Invoice records | Full refresh | | `invoice_adjustments` | Adjustments made to invoices | Full refresh | | `it_seats` | IT seat assignments for workers | Full refresh | | `it_clearance_requests` | Device clearance request records | Full refresh | | `time_off_policies` | Time-off policy configurations | Full refresh | | `equity_awards` | Equity award records | Full refresh | **Full refresh** tables sync all records on each run. Deel's API doesn't expose updated-since filters for these resources. ## Required scopes Deel API tokens are scoped per dataset. Your token needs the read permission for each table you want to sync. If a scope is missing, that specific table fails with a permissions error while other tables continue to sync normally. | Table | Required scope | | --- | --- | | `people` | `people:read` | | `contracts` | `contracts:read` | | `invoices` | `invoices:read` | | `invoice_adjustments` | `invoice_adjustments:read` | | `it_seats` | `it-seats:read` | | `it_clearance_requests` | `it-service-requests:read` | | `time_off_policies` | `time-off:read` | | `equity_awards` | `equities:read` | ## Configuration | Option | Type | Required | | --- | --- | --- | | `API token` | password | Yes | ## Supported tables | Table | Description | Sync method | Incremental field | Primary key | | --- | --- | --- | --- | --- | | `people` | A worker in the organization — an employee or contractor managed in Deel. | Full refresh | — | — | | `contracts` | A work agreement between the organization and a worker in Deel. | Full refresh | — | — | | `invoices` | An invoice issued for a contract or payroll cycle in Deel. | Full refresh | — | — | | `invoice_adjustments` | An adjustment (bonus, deduction, expense, etc.) applied to a Deel invoice. | Full refresh | — | — | | `timesheets` | A time entry submitted against a Deel contract, used to bill hourly and pay-as-you-go work. | Full refresh | — | — | | `payments` | A payment made to Deel, covering the invoices settled in one transaction. | Full refresh | — | — | | `payment_breakdowns` | One contract's share of a payment, split into work, bonuses, expenses and fees. | Full refresh | — | — | | `legal_entities` | A legal entity in the organization that contracts and invoices are issued under. | Full refresh | — | — | | `cost_centers` | A cost center defined on a legal entity, used to book worker costs. | Full refresh | — | — | | `time_offs` | A time-off request made by a worker, with the days it covers. | Full refresh | — | — | | `time_off_events` | A lifecycle event on a worker's time-off policy, such as a birth or adoption that triggers leave. | Full refresh | — | — | | `departments` | A department in the organization's structure, used to group workers on people rows. | Full refresh | — | — | | `teams` | A team within the organization, used to group workers on people rows. | Full refresh | — | — | | `groups` | A group in the organization, used to organize workers and assign managers. | Full refresh | — | — | | `onboarding_tracker` | The onboarding state of a worker joining the organization. | Full refresh | — | — | | `offboarding_tracker` | The offboarding state of a worker leaving the organization. | Full refresh | — | — | | `payroll_cycles` | A payroll cycle run for a legal entity, and whether a gross-to-net report exists for it. | Full refresh | — | — | | `payroll_reports` | A global payroll event for a legal entity, with the period it covers and its status. | Full refresh | — | — | | `payroll_gross_to_net` | The gross-to-net cost breakdown for one contract in a payroll cycle. | Full refresh | — | — | | `countries` | A country Deel supports, and what it supports there — the lookup behind country codes on contracts and people. | Full refresh | — | — | | `currencies` | A currency Deel supports — the lookup behind currency codes on contracts, invoices and payments. | Full refresh | — | — | | `job_titles` | A job title Deel recognizes — the lookup behind job title ids on contracts and people. | Full refresh | — | — | | `seniorities` | A seniority level Deel recognizes — the lookup behind seniority ids on contracts. | Full refresh | — | — | | `it_seats` | A seat in the organization's Deel IT seat subscription, and the worker holding it. | Full refresh | — | — | | `it_clearance_requests` | A request the organization raised to retire a device for resale value or certified data erasure. | Full refresh | — | — | | `time_off_policies` | A time-off policy configured for the organization, with its allowances and tracking rules. | Full refresh | — | — | | `equity_awards` | An equity award granted by the organization, as ingested from Shareworks. | Full refresh | — | — |