HoorayHR logoSailPoint logo

Identity and access management

HoorayHR to SailPoint integration: HoorayHR as authoritative source in SailPoint

With an integration between HoorayHR and SailPoint, every employee from HoorayHR becomes an identity in SailPoint, with entity, team, job title, team lead as manager and the employment dates. KoppelHet delivers HoorayHR as a complete file to a Delimited File source, so SailPoint grants access at the start and revokes it after departure.

What the integration does

Organisations that record HR in HoorayHR and govern access with SailPoint have no source in SailPoint that knows HoorayHR yet. Identities then come from a manual export, which lacks an end date or a team change from last week.

  1. An admin in HoorayHR creates an API key with read scopes only; SailPoint gets a Delimited File source with an identity profile.
  2. KoppelHet reads all employees, contracts, teams and entities and drops sensitive fields immediately.
  3. KoppelHet writes one row per employee, with the agreed team, the team lead and the dates in a fixed format.
  4. SailPoint aggregates the file and calculates the lifecycle state with a transform.
  5. Roles and access profiles in SailPoint follow team, entity and lifecycle state.
HoorayHR → KoppelHet → SailPointSOURCEHoorayHRTARGETSailPointKoppelHetmapping · logging · monitoringHoorayHR → KoppelHet → SailPointSOURCEHoorayHRTARGETSailPointKoppelHetmapping · logging · monitoring
Out: Account per employee in a Delimited File source · Team as department and all teams as multi-value column · Team lead as manager · Dates and contract status for the lifecycle state

What to watch for with HoorayHR and SailPoint

  • SailPoint has no source for HoorayHR, and HoorayHR lists no integration with an IAM system. KoppelHet delivers the employees as a file to a Delimited File source, which SailPoint can use as an authoritative source.
  • The HoorayHR API has no change-date filter for employees, so the integration always reads the whole list. That fits a Delimited File source, which wants to see all accounts at every aggregation. KoppelHet therefore writes the file completely every round, without its own change logic.
  • An employee can be in several teams in HoorayHR, and a SailPoint transform only uses the first value of a multi-value attribute. KoppelHet puts the agreed team as a single column for the department, and all teams in a separate multi-value column for the roles.
  • SailPoint finds a manager through manager correlation on an account in the same source. In HoorayHR a team has team leads, and a team lead can have rights over themselves. KoppelHet puts the team lead's User Name in the Manager Name column, and for a lead of their own team chooses a fixed other source, so nobody becomes their own manager.
  • SailPoint requires a work email for every identity, but does not check whether it is a business address. The sign-in address in HoorayHR can be a private address for employees without work email. KoppelHet checks the domain and fills in an address according to the naming rule where needed.
  • A contract in HoorayHR has the status future, active or inactive, and an employee has a historical seniority date besides the start date. KoppelHet delivers the start date of the current employment and the contract status as columns, so the transform does not see a returning employee as long-serving.
  • With an inactive subscription or overdue payment HoorayHR rejects every request. KoppelHet then leaves the previous file in place instead of delivering an empty file, so SailPoint does not see all identities as departed.

This integration is also part of joiner, mover, leaver.

How we build and run it

  • The integration runs on the KoppelHet platform, hosted in a data centre in the EU.
  • Every sync and every error is visible in the functional log; on an error your administrator is notified.
  • A change that cannot go through is not half-applied but queued for another attempt.
  • KoppelHet is ISO 27001 certified. Data travels encrypted and stays on the platform no longer than needed.
  • After go-live we manage the integration and adjust it when your process changes.
  • The integration fits next to your existing integration layer. Only the fields in the design are transferred; the platform keeps no register of its own.

Implementation, architecture and compliance

Implementation and price

This is not an app you switch on. We build the integration for your organisation on our platform, with building blocks we reuse on every project. So it is custom work that does not start from scratch.

A consultant prepares the intake and analyses both systems. We then record the mapping and exceptions field by field, test in the test or acceptance environment and go live at a moment you choose. Costs are a one-off amount for the setup and a monthly amount for platform, monitoring and support.

Price indication · Basic

Leave your work email and you see the price indication right away.

We only use your address to follow up on your question about this integration.

Frequently asked questions

Can SailPoint not call HoorayHR itself?

HoorayHR's API key acts as an admin and also sees BSN and bank details. We prefer to keep that key at KoppelHet, which only passes on the necessary fields.

Which team becomes the department?

We agree that during the intake, for example the team with a fixed name code or the first team from a fixed list.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • HoorayHR through api.hoorayhr.io with a personal API key (pk_…, admin role) as Bearer token: GET /users (filter only on id; fields id, firstName, nickName, formattedLastName, email, jobTitle, entityId, teams, companyStartDate, companyEndDate, seniorityDate), /contracts (status ACTIVE, FUTURE, INACTIVE), /teams-information (teamLeadersIds, teamMembersIds) and /entities. A 403 with INACTIVE_COMPANY or PAYMENT_OVERDUE stops the round.
  • SailPoint Identity Security Cloud with a Delimited File source as authoritative source (multi-value attributes supported). Required identity attributes uid (unique across all profiles), email (not validated) and lastname; Manager Name with manager correlation; Lifecycle State through a transform on the dates and the contract status.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in HoorayHRField in SailPointNotes
id (HoorayHR)uid (User Name)
email of naamgevingsregelemail (Work Email)Never emailPrivate
formattedLastNamelastname
nickName of firstNamefirstname
Afgesproken teamIdentity attribute afdeling
Alle teamsMeerwaardige kolom voor rollen
Teamleider van het afgesproken teamManager Name
entityId (naam uit entities)Identity attribute entiteit
companyStartDate, companyEndDate en contractstatusLifecycle State (via transform)

Related

Which systems do you want to connect?

Tell us which systems you use and what should happen automatically. Together we define the smallest working solution, with a clear design and a quote before building.