BambooHR logoStudyTube logo

Training and certificates

BambooHR to StudyTube integration: divisions and departments as teams, certificates and external training back in BambooHR

With an integration between BambooHR and StudyTube, every employee from BambooHR automatically gets a StudyTube account in the team of their division and department, with a licence if their employment status calls for it. Earned certificates and attended external training from StudyTube come back as training records in BambooHR, with the cost for external training.

What the integration does

Employers with BambooHR as HR system and StudyTube as academy load new colleagues into StudyTube with an export and adjust teams by hand. Certificates and the cost of external courses are only in StudyTube, while HR keeps the training overview per employee in BambooHR.

  1. BambooHR reports a new employee or a change in one of the monitored fields.
  2. KoppelHet sets up divisions and departments as teams in StudyTube, with the division on top.
  3. The employee gets an account in their department team, with a licence if their employment status is designated for it; the supervisor becomes team manager.
  4. A transfer with a future date only goes to StudyTube on that date.
  5. Every day new certificates and attended external training arrive as training records in BambooHR.
BambooHR → KoppelHet → StudyTubeSOURCEBambooHRTARGETStudyTubeKoppelHetmapping · logging · monitoringBambooHR → KoppelHet → StudyTubeSOURCEBambooHRTARGETStudyTubeKoppelHetmapping · logging · monitoring
Out: User with name, work email, job title and employee number · Teams from division and department · Team manager from the supervisor · Licence based on the employment status
Back: Certificates as training records with date · Attended external training with cost excluding VAT

What to watch for with BambooHR and StudyTube

  • Besides the department, BambooHR has a division, both with history in the Job Information table. KoppelHet builds two layers of teams in StudyTube from that, division above department, and sends the divisions first, because StudyTube only accepts a child team under an existing team.
  • A row in Job Information has its own date, which can also lie in the future. KoppelHet only moves the employee to their new team in StudyTube on that date, so until then they keep seeing the training of their current department.
  • In BambooHR every employee has an employment status, such as Full-Time, Part-Time or Contractor. Per status we agree whether StudyTube assigns a content licence; that way a contractor still gets the mandatory safety training, but does not cost a licence for the whole library.
  • For each request for external training, StudyTube keeps the price, the total excluding VAT and whether the person attended. KoppelHet puts an attended training with that amount into BambooHR as a training record with cost, and then marks the request as synced in StudyTube, so it does not come in twice.
  • A training record in BambooHR always belongs to a training type. KoppelHet creates a type once for each StudyTube course with a certificate; HR can then make that type mandatory in BambooHR or let it expire after a number of months.
  • An end date in the past makes StudyTube remove a user immediately. KoppelHet therefore does not pass the terminationDate from BambooHR as contract end, but removes the account itself after the period you choose, with StudyTube's backup switched on.
  • BambooHR only sends webhooks for the fields you choose to monitor. KoppelHet only monitors name, work email, job title, division, department, supervisor and status, so a pay change does not trigger an unnecessary update in StudyTube.

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

Why not the certifications table in BambooHR?

That is possible too. A training record has the advantage that BambooHR tracks mandatory and recurring training per type. We choose it with HR at the start.

Does pay data go to StudyTube?

No. StudyTube receives name, work email, job title, employee number and team. The integration's BambooHR user cannot see pay.

Can training costs also go to the accounts later?

That can be added later as an extension. In this integration the cost is only on the training record in BambooHR.

Technical details for IT

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

  • BambooHR through event-based webhooks with monitor fields, signed with HMAC SHA-256, and the changed-employees endpoint as a safety net. Job Information (date, division, department, jobTitle, reportsTo) and employmentStatus as dated tables. Back through the Training API - POST /api/v1/training/type and POST /api/v1/training/record/employee/{employeeId} with type and completed required and cost as currency and amount.
  • StudyTube Academy API v2 with OAuth 2.0 client credentials and the write scope. POST /api/v2/users on uid with employee_number, company_role and assign_licence; academy-teams/bulk/upsert up to 500 teams; DELETE /api/v2/users/{id} with skip_backup off. Back through GET /api/v2/certificates (completion_date, synced, created_at) and GET /api/v2/user-training-requests (price, booking_price_total_without_vat, attended, is_synced) with POST /user-training-requests/set-synced.

Which fields are transferred

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

Field in BambooHRField in StudyTubeNotes
id (BambooHR)uidFixed key, even if the employee number changes
employeeNumberemployee_number
preferredName of firstName, lastNamefirst_name, last_name
workEmailemail
jobTitlecompany_role
divisionBovenliggend team (external_id)
departmentTeam onder de divisie
employmentStatusassign_licence ja of neeTable per status, for example no licence for Contractor
Certificaat (name, completion_date) terugTraining record (type, completed)
Trainingsaanvraag (booking_price_total_without_vat, attended) terugTraining record cost (currency, amount)

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.