Skip to main content

Connect IntelliHR

Import your workers and their job history from IntelliHR. You connect Oho to IntelliHR once, and Oho creates your workers and keeps them in step with IntelliHR on the schedule you choose — so people don't have to be added in two places.

Because Oho reads IntelliHR directly, there's no file to build or host: new starters, role changes, and leavers in IntelliHR flow through to Oho on their own.

What you'll end up with

Your whole workforce in Oho — each person a worker, with their credentials added and checked — kept in step with IntelliHR, without maintaining two lists.

Before you start

You'll need:

  • Your workers already recorded in IntelliHR, with the details you want in Oho — names, dates of birth, organisation, job history, and any card or registration numbers.
  • An admin account in IntelliHR, or someone who has one, to generate the connection details in Step 1.
  • Your IntelliHR tenant details, which identify your account (see Step 1).
  • The credential types you plan to verify in Oho, so you can map IntelliHR's qualifications to them in Step 3.

Step 1: Get your auth details

What you'll need for this step

An admin login to IntelliHR. The details below are generated inside IntelliHR, not in Oho — if you don't administer IntelliHR yourself, loop in whoever does.

Oho connects to IntelliHR with an API key plus your tenant details. You generate the key in IntelliHR's admin settings and copy it, along with the tenant details, ready to paste into Oho in Step 2.

  1. Sign in to IntelliHR as an administrator.
  2. Go to IntelliHR's admin settings and find where it issues API keys.
  3. Generate a key. Where IntelliHR lets you, scope it to read-only and to just the people and fields Oho imports.
  4. Copy the key straight away — it's usually shown only once.
  5. Note your tenant details (the identifier for your IntelliHR account) to enter alongside the key.

For the shared version of this pattern across all HR systems, see Get your auth details → API key or token.

Technical detail: API key, scopes & tenant

Hand these points to whoever administers IntelliHR — a non-technical admin can skip them.

  • Where the key is generated. [Eng to confirm the exact menu path in IntelliHR, e.g. Settings → Integrations / API, and the label of the key.]
  • Least-privilege scope. Request the narrowest scope that still lets Oho read workers and job history — ideally read-only. [Eng to confirm the exact scope name(s) IntelliHR exposes.] A key inherits the permissions of the account that created it, so generate it from an account that can see only what should come into Oho.
  • Tenant details. [Eng to confirm exactly what Oho needs — e.g. tenant ID or subdomain — and where the admin finds it in IntelliHR.]
  • Token expiry / rotation. [Eng to confirm whether IntelliHR keys expire, and any allow-list requirement.] The key is stored encrypted in Oho and sent on every request.
Treat the key like a password, and rotate it

An IntelliHR API key grants ongoing access to worker PII for as long as it's valid.

  • Never post it in email, chat, or a ticket, and hand it over only through a channel your organisation trusts.
  • Generate a new key and revoke the old one periodically, and whenever someone with access to it leaves.
  • To rotate without downtime: create the new key, update it in the integration's settings, then revoke the old one in IntelliHR.

Expected outcome: you have an IntelliHR API key and your tenant details 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.

The Integrations page in Oho

Pick IntelliHR from the list of sources.

Choosing IntelliHR as the source

Paste the API key and tenant details from Step 1 into the connection fields and click Next.

Entering the IntelliHR connection details in Oho

Expected outcome: Oho confirms it can reach IntelliHR and moves you on to field mapping.

Step 3: Map your fields

Oho reads your IntelliHR people and their records automatically, but IntelliHR has its own names for things — its own organisations, qualification names, and status codes — so the setup screen asks you to line each one up with its Oho value. For IntelliHR, you map three things:

  • Organisations — your IntelliHR organisations, companies, or business units → your Oho organisations, so each worker lands in the right place.
  • Qualifications — IntelliHR qualification and certification names → Oho credential types, so a qualification in IntelliHR becomes something Oho can verify against the register.
  • Worker Status — IntelliHR's employment-status values → Oho's ACTIVE, INACTIVE, ON_LEAVE, and TERMINATED, so active staff stay in your live reports and leavers drop out.

How Oho recognises a returning worker. For HRIS integrations like IntelliHR, Oho matches on your upstream record ID, carried on source.externalId (the IntelliHR person ID) — not on email. On each sync a match updates the existing person in place; no match creates a new one. You don't set this by hand; Oho reads it from IntelliHR.

For what each field expects, which are required, how credentials tie to a worker, and how re-syncs avoid duplicates, see the shared Map your fields reference.

Map every value, or those rows won't land where you expect

An IntelliHR organisation or qualification you leave unmapped still imports as a record, but Oho can't place it or verify it until it's mapped. If a new organisation or qualification appears in IntelliHR later, Oho flags it so you can map it rather than letting it slip through.

Expected outcome: every IntelliHR organisation, qualification, and status value maps to its Oho equivalent, and each worker carries their IntelliHR 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. Oho has your people after it runs; if you generated a key just for this, you can revoke it in IntelliHR straight away.
  • Recurring — Oho re-reads IntelliHR on a schedule, so new starters and changes there flow through automatically with nothing to re-enter. The API key must stay valid for future runs, so keep it scoped read-only and rotate it as above rather than revoking it.

Setting the sync schedule

Expected outcome: the connection is saved and scheduled, and it 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 listed is checked against its official source straight away (see One-off verification).

The new IntelliHR connection in your Integrations list, run history green

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, with their credentials queued for verification.

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.
  • You don't re-import by hand — change someone in IntelliHR and Oho picks it up on the next scheduled run.

Common questions

The sync found nothing. Check the API key is still valid and the tenant details are correct, and that the account the key was generated from still has access in IntelliHR. An expired or revoked key is the most common cause.

Some workers didn't import. Check your field mapping in Step 3 — an unmapped organisation or status can leave people out of the reports you expect. Confirm the affected people are visible to the account the API key was generated from.

A permission error. The API key inherits the permissions of the IntelliHR account that created it. If Oho is refused access to some people or fields, generate the key from an account with the read access Oho needs.

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.