Visma Raet YouForce logoJumpCloud logo

Identity and access management

YouForce to JumpCloud integration: users in JumpCloud from the Youforce IAM API

With an integration between Visma YouForce and JumpCloud, every employee from YouForce becomes a user in JumpCloud, with department, job title and manager, and is suspended when the last employment ends. KoppelHet merges persons and employments from the Youforce IAM API into one list that JumpCloud's Custom API import reads.

What the integration does

Organisations that use YouForce for HR and payroll and JumpCloud as their directory often get an export from YouForce that IT loads into JumpCloud with a script. If the script breaks or the export changes, new employees do not come in and leavers stay active.

  1. In Visma Connect we create an application for KoppelHet with only the read scope for basic data of the IAM API.
  2. KoppelHet fetches persons, employments and role assignments and builds one record per person with department, job title and manager.
  3. In JumpCloud we set up the Custom API import on KoppelHet's address, with mapping and status rule.
  4. A scheduled import fetches the list; new employees become users and changes are updated.
  5. When the last employment ends, the status rule suspends the user.
Visma Raet YouForce → KoppelHet → JumpCloudSOURCEVisma Raet YouForceTARGETJumpCloudKoppelHetmapping · logging · monitoringVisma Raet YouForce → KoppelHet → JumpCloudSOURCEVisma Raet YouForceTARGETJumpCloudKoppelHetmapping · logging · monitoring
Out: User with name, work email and employee number · Department, job title and cost centre · Manager from the role assignment · Status based on the last employment

What to watch for with Visma Raet YouForce and JumpCloud

  • JumpCloud's Custom API import expects one endpoint that returns all users with their full data. The Youforce IAM API supplies persons and employments through separate endpoints. KoppelHet merges them, so department and job title reach the right person in JumpCloud.
  • JumpCloud can fetch a token with client credentials itself, just as Visma Connect issues. Still, KoppelHet does not connect JumpCloud directly to YouForce; the manager has to be derived from the role assignment, and the import cannot do that itself.
  • Someone with two employments appears twice in YouForce, each with its own department. JumpCloud has one department per user. KoppelHet picks the main employment for department and job title, and keeps the user active until the last employment has ended.
  • YouForce no longer returns a person whose end date lies outside the configured historicalDays. JumpCloud would then hear nothing more about that person. KoppelHet keeps track of who came from YouForce and keeps offering a leaver as suspended, so the rule does not reactivate them by accident.
  • YouForce allows sixty calls per second, 2,500 per minute and 30,000 per day per domain and tenant. KoppelHet only requests changes since the previous round with latestSync; JumpCloud's import does not touch YouForce at all.
  • The business email is required for the JumpCloud import, but is not always in YouForce for a new employee. KoppelHet then determines it with the naming rule. Writing the address back to YouForce is possible with a separate write scope and can follow later as an extension.
  • After suspension and return, a user in JumpCloud gets back the same access as before. For that, reactivation on update has to be on in the import. For a returning employee in YouForce under the same person number we switch that option on, so no second user is created.

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

Does JumpCloud see BSN or address data from YouForce?

No. They require a separate scope KoppelHet does not request, and the address for JumpCloud only contains the fields from the mapping.

What if someone works with another team for a while?

In the basic set-up the department of the main employment stays. Groups per temporary assignment can follow later as an extension.

Technical details for IT

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

  • YouForce through the Youforce IAM API (api.youforce.com/IAM), token from Visma Connect (connect.visma.com/connect/token, client_credentials, expires_in 3600) with scope Youforce-IAM:Get_Basic. GET /v1.0/persons and /v1.0/employments with take (1 to 1000), skip or nextLink and from/to on latestSync; historicalDays per subscription. Limits 60 per second, 2,500 per minute and 30,000 per day per domain and tenant, above that 429.
  • JumpCloud: Custom API import with Bearer Token or API Key on the KoppelHet address, JSON only, required mapping Company email and Username, State through EXPR with manageUserState, option Allow reactivation of users on update, scheduled import (off by default) hourly, daily or custom with summary email.

Which fields are transferred

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

Field in Visma Raet YouForceField in JumpCloudNotes
PersoonsnummeremployeeIdentifierKey between both systems
Zakelijk e-mailadresCompany email en UsernameRequired in JumpCloud
Roepnaam, voorvoegsel en achternaamfirstname en lastname
Functie van het hoofddienstverbandjobTitle
Afdeling van het hoofddienstverbanddepartment
Leidinggevende-rol op de afdelingmanager
Kostenplaats met het grootste aandeelcostCenter
Einddatum laatste dienstverbandState via manageUserState

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.