FaStudyTube logo

Training and certificates

Factorial to StudyTube integration: teams and team leads from Factorial, earned certificates back as training

With an integration between Factorial and StudyTube, every employee in Factorial automatically gets a StudyTube account in the same teams as in Factorial, with the team leads as team managers. When they earn a certificate in StudyTube, it then appears as a completed external training on them in Factorial.

What the integration does

Organisations that use Factorial for HR and StudyTube as learning platform maintain teams twice and only see certificates in StudyTube. The training overview in Factorial therefore misses everything employees achieve online in the academy.

  1. Factorial reports a change; KoppelHet fetches the employee and their teams.
  2. The teams from Factorial become teams in StudyTube, from the top layer down.
  3. The employee joins all their teams; the team leads become team managers.
  4. Every day KoppelHet fetches new certificates and records them as completed external training in Factorial.
  5. On termination KoppelHet removes the account after the end date; if the termination is reversed, it comes back.
Factorial → KoppelHet → StudyTubeSOURCEFactorialFactorialTARGETStudyTubeKoppelHetmapping · logging · monitoringFactorial → KoppelHet → StudyTubeSOURCEFactorialFactorialTARGETStudyTubeKoppelHetmapping · logging · monitoring
Out: User with name, work email and job · Teams from the nested teams in Factorial · Team managers from the team leads
Back: Earned certificates with completion date as external training

What to watch for with Factorial and StudyTube

  • Teams in Factorial can be nested, with a parent team and a depth per team. StudyTube only creates a child team under a team that already exists. KoppelHet therefore sorts the teams by depth and sends them layer by layer, with the Factorial ID as external_id.
  • An employee can be a member of several teams in Factorial, and per team one or more members are lead. KoppelHet puts the employee in all those teams in StudyTube and makes the Factorial leads team managers per team, so every lead only sees their own team's progress.
  • Factorial has separate notifications for a termination and for reversing it. If a termination is reversed after the account was already removed, KoppelHet reactivates the same StudyTube account on the Factorial ID, instead of creating a new account.
  • Factorial retries a failed webhook up to twenty times in 48 hours and then disables the subscription. Notifications have no unique ID per delivery. KoppelHet therefore processes them on the employee ID, so a repeated notification does not cause a double team change, and compares everything once more every day.
  • Factorial has external trainings with a provider. KoppelHet creates one external training per StudyTube certificate type with StudyTube as provider, and registers every employee who earns the certificate as a completed participant with the date from StudyTube.
  • A participant in Factorial belongs to a session, and Factorial can send a notification on adding. KoppelHet adds employees to a self-paced session without notification, so nobody gets an invitation for a certificate they already have.
  • StudyTube lists certificates with a filter on creation date. KoppelHet remembers up to which date it has processed certificates, so a certificate only reaches Factorial once, even if the daily run fails once.

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

Do we need the Factorial training module?

Only for certificates back. Accounts and teams in StudyTube also work without that module.

Does the PDF certificate also go to Factorial?

Not in the first version: name and date do, the file does not. Sending the PDF as an attachment can follow later as an extension.

What happens to teams that only exist in StudyTube?

KoppelHet leaves them alone. Only teams with a Factorial ID as external_id follow Factorial.

Technical details for IT

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

  • Factorial API (version 2026-10-01) with OAuth 2.0: webhooks for employees (create with contracts, updates, terminates, unterminates), GET /resources/teams/teams (employee_ids, lead_ids, parent_team_id, depth), employees and contract versions. Webhooks up to 20 attempts in 48 hours, then disabled. Back through /resources/trainings/trainings (external, external_provider), sessions (selfpaced), session_access_memberships/bulk_create (notify false), session_attendances/bulk_update (completed) and training_memberships/{id} (training_completed_at).
  • StudyTube Academy API v2 with OAuth 2.0 client credentials (read and write scope): POST /api/v2/users (create, update or reactivate on uid), academy-teams/bulk/upsert up to 500 teams with parent, academy-teams/bulk/membership with keep_existing_teams, academy-teams/{id}/managers/sync, DELETE /api/v2/users/{id} and GET /api/v2/certificates (created_at, name, completion_date, user_id).

Which fields are transferred

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

Field in FactorialField in StudyTubeNotes
employee iduid
first_name en last_namefirst_name en last_name
emailemail
Functie uit de contractversiecompany_role
teams (parent_team_id)Teams met external_id en parent
lead_ids van een teamTeammanagers van dat team
Beëindiging en terugdraaienDELETE na de einddatum, POST /users om te heractiveren
Certificaat nameTraining (external, external_provider StudyTube)Return path to Factorial
Certificaat completion_datetraining_completed_at

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.