> For the complete documentation index, see [llms.txt](https://docs.siit.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.siit.io/integrations/hris/deel.md).

# Deel

<figure><img src="/files/8fr3gTgYT7QU1lvFLN5F" alt=""><figcaption></figcaption></figure>

### What you get

* **Unified global directory** — Deel employees (EOR), direct employees, and contractors all appear in Siit, each with the right worker type.
* **Lifecycle triggers** — Start date, End date, Probation end, and Birthday flow into Siit as workflow triggers.
* **Contract and entity context** — country, legal entity, and contract type are synced so you can route and approve by location or contract.
* **Manager resolution** — Deel's manager assignments power auto‑selected approvals.
* **Contractor‑aware workflows** — differentiate between employees and contractors in every automation (e.g., skip laptop shipping for contractors).

### What syncs from Deel

| Category        | Fields                                                                                            |
| --------------- | ------------------------------------------------------------------------------------------------- |
| Identity        | Full name, preferred name, work email, Deel Worker ID                                             |
| Role            | Job title, seniority                                                                              |
| Org structure   | Manager, team, country, legal entity / Deel entity                                                |
| Employment      | Worker type (EOR Employee, Direct Employee, Contractor), contract status (active, pending, ended) |
| Lifecycle dates | Start date, end date, probation end, date of birth                                                |
| Custom          | Selected custom Deel fields                                                                       |

Work email is the canonical identifier.

### Before you connect

* You'll need a **Deel admin** (Organization Admin or IT Admin) account.
* Make sure work email is set on every worker record in Deel. For EOR employees, this is the corporate email you issue them — not their Deel login.
* Decide whether Deel or your IdP is the source of truth for overlapping fields.

### Connect Deel

1. In Deel, generate an API token:
   * Go to **Organization Settings → Developer → API Keys**.
   * Click **Generate new token**, name it "Siit", and grant the scopes `people:read`, `contracts:read`, `organizations:read`.
   * Copy the token — it's shown only once.
2. In Siit, go to **Settings → Integrations**.
3. Find **Deel** in the HRIS section and click **Connect**.
4. Paste the Deel API token and click **Authorize**.
5. Siit runs an initial import and shows a preview.
6. Review field mapping (including the worker type mapping — confirm how you want EOR vs Direct Employee vs Contractor reflected in Siit's Employment Type field).
7. Click **Finish setup**.

> **Tip** — If you only want employees (not contractors) synced into Siit, apply a filter on Worker Type in the mapping step.

### After the connection

* **Check your People list** — confirm the counts by worker type match Deel's "People" view.
* **Set source of truth** — in **Settings → People → Fields**, pick Deel for country, contract type, and legal entity.
* **Map custom fields** — add any custom Deel fields you want in Siit.
* **Build workflows** — Deel customers often start with offboarding automation driven by contract end date.

### Sync frequency

Deel data refreshes every few hours. Force an immediate refresh from **Settings → Integrations → Deel → Sync now**.

### Common workflows

**Global Day‑1 onboarding.** *Trigger: Start date. Actions: create IdP account, assign apps by team, ship equipment if Worker Type = Employee, send country‑specific welcome.*

**Contractor offboarding.** *Trigger: End date, Condition: Worker Type = Contractor. Actions: revoke app access, notify manager, close Slack access.*

**Entity‑specific approval.** *Condition: Requester's entity = "Siit SAS" → Approver = French HR lead.*

**Pre‑boarding email 2 weeks before start.** *Trigger: Start date − 14 days. Action: email manager with a pre‑boarding checklist specific to the hire's country.*

### Troubleshooting

**Workers missing.** Check the worker's contract status in Deel — only active and upcoming contracts are synced by default. Also confirm work email is set.

**Contractor vs employee mis‑labeled.** Open **Settings → Integrations → Deel → Mapping** and confirm the Worker Type → Employment Type mapping.

**Manager field empty.** In Deel, confirm the worker has a reporting manager under their profile. Siit reads from that field.

**"Unauthorized" error.** The API token was revoked or is missing a scope. Generate a new one with the three scopes listed above and update Siit.

>
