Connect Deel
Import your workers and their current job from Deel, the global HR and payroll platform. You give Oho a read-only token once, and Oho creates your workers and keeps them in step with Deel on the schedule you choose — so people don't have to be added in two places.
This connector is still being rolled out. It imports people from your Deel directory, their current job title, their status, and the legal entity employing them — not full job history yet. If you hit something unexpected, contact support@weareoho.com.
Your Deel people in Oho as workers — each ready for credentials to be added and checked — kept in step with Deel, without maintaining two lists.
Before you start
You'll need:
- Your people already recorded in Deel, with the details you want in Oho — their names, contact details, and current engagement.
- A Deel login that can create tokens in the Developer Center, or someone who has one, to create the token in Step 1. This is done inside Deel, not in Oho.
Step 1: Get your auth details
A Deel login with access to the Developer Center. You'll finish this step holding one value to paste into Oho: an organisation token.
Deel uses the API token pattern: you create a token in Deel and paste it into Oho. There's no sign-in redirect and nothing for Oho to refresh.
- In Deel, open the Developer Center and create a token.
- Choose an organisation token — not a personal or worker token. Only an organisation token represents the whole org, so only it returns every person in the directory.
- Grant it the
people:readscope. - Copy the token.
Technical detail: auth, scope & pagination
Hand these points to whoever administers Deel — a non-technical admin can skip them.
- Auth. The token is sent as a static
Authorization: Bearer <token>header against Deel's HRIS API. There is no OAuth exchange and no refresh, so the token stays valid until it's revoked or rotated in Deel. - Scope.
people:readis what the directory read needs. A personal or worker token authenticates but returns only that person's scope, which is the usual cause of a sync that finds almost nobody. - Directory. People are read from
GET /rest/peoplewithoffset/limitpagination againsthttps://api.letsdeel.comby default. - Organisation. Each person carries their employing legal entity (
client_legal_entity.name), which becomes the worker's organisation in Oho. - Where secrets live. Oho stores the token encrypted, referenced by a stored secret ref; the browser never handles it after you paste it.
An organisation token grants ongoing read access to worker PII for as long as it's valid. Never post it in email, chat, or a ticket, and revoke it in Deel if the connection is removed or someone with access to it leaves.
Expected outcome: you have an organisation token with the people:read scope copied, ready to paste into Oho.
Step 2: Connect it in Oho
In the left menu under Admin, click Integrations, then start a new integration.

Pick Deel from the list of sources.

Paste your token into API Token, then continue. Leave Base URL as it comes unless Deel has told you to use a different host.
Expected outcome: the Deel connection is accepted in Oho, and it moves you on to field mapping.
Step 3: Map your fields
Oho creates one worker per person in your Deel directory. It recognises a returning worker by their Deel person ID, carried on source.externalId — so a re-sync updates the existing worker in place rather than creating a duplicate.
Deel has its own names for things — hiring statuses such as active and onboarding, and legal entities that become organisations in Oho. The setup screen asks you to line each value up with its Oho equivalent before your first sync. For what each field expects, which are required, and how re-syncs avoid duplicates, see the shared Map your fields reference, and the Deel integration reference for what this connector imports at a glance.
A Deel value you leave unmapped still imports, but Oho can't place it correctly until it's mapped. Unmapped statuses fall back to inactive — only active counts as active by default — so map every status you use in Deel.
Expected outcome: every Deel value the setup screen lists maps to its Oho equivalent, and each worker carries their Deel person ID as the match key.
Step 4: Set the schedule
Choose how often the sync runs, then name it and save.
- Once — a one-off load to get started. You can revoke the token in Deel afterwards if you don't intend to sync again.
- Recurring — Oho re-reads Deel on a schedule, so new starters, role changes, and terminations flow through automatically. The token from Step 1 must stay valid for future runs.

Expected outcome: the connection is saved and scheduled, and appears in your Integrations list.
Step 5: Run & verify your first sync
Run it now with Save & Run, or wait for the first scheduled run. Once it's run, confirm your people are in: they appear under All Workers, and each credential you later add is checked against its official source (see One-off verification).

If the run didn't bring everyone in, check the run history and the Common questions below.
Expected outcome: your people are in Oho under All Workers, ready for credentials to be added and checked.
What happens next
- Your people appear under All Workers, ready for checks.
- To keep those checks current, add a verification source for the credential types you hold — synced credentials then verify at the register automatically.
- If recurring, you don't re-import by hand — change it in Deel and Oho picks it up on the next run.
Common questions
The sync found nothing, or only one person. The most common cause is the wrong token type — a personal or worker token authenticates but only returns its own scope. Create an organisation token with people:read and replace it in the integration's settings.
Everyone imported as inactive. Deel statuses other than active map to inactive unless you say otherwise. Map the statuses you use — onboarding, for example — in Step 3.
Only part of one legal entity imported. If organisation mappings are set, they also act as an allow-list: only workers whose legal entity has a mapping are imported. Add a mapping for the missing entity, or clear the mappings to take everything.
Some workers didn't import. Oho matches returning workers on their Deel person ID (source.externalId). Check the match key and the values you mapped in Step 3.
I don't see Integrations. This is an admin area — if it's not in your menu, ask an admin in your organisation, or contact support@weareoho.com.
Related
- Deel integration — what the Deel connector imports, at a glance
- Add a data source — all the ways to bring data into Oho
- Integrations — every source Oho can connect to