Personio logoHubSpot logo

Accounts in applications

Personio to HubSpot integration: HubSpot access that follows team and departure in Personio

With an integration between Personio and HubSpot, a new colleague in a sales, marketing or service team in Personio automatically gets a HubSpot user in the matching HubSpot team, with the permission set for their position. Access ends on the last working day from Personio, and approved absence shows as out of office in the HubSpot profile.

What the integration does

Employers with Personio for HR and HubSpot for sales and support often add new colleagues to HubSpot through a form, and the team gets forgotten on an internal move. Round robin also sends leads to salespeople who are on holiday.

  1. HR creates the employee in Personio with department, team, position and office.
  2. Personio reports the change and KoppelHet creates the HubSpot user in the HubSpot team that matches the Personio team.
  3. Permission set and seat follow the position; the time zone follows the office.
  4. Approved absence becomes an out-of-office period in the HubSpot profile, without the type of leave.
  5. After the last working day in Personio the HubSpot user is removed, once the supervisor has handed over the contacts.
Personio → KoppelHet → HubSpotSOURCEPersonioTARGETHubSpotKoppelHetmapping · logging · monitoringPersonio → KoppelHet → HubSpotSOURCEPersonioTARGETHubSpotKoppelHetmapping · logging · monitoring
Out: HubSpot user with name and work email address · Team and department as HubSpot team with parent team · Permission set and seat based on the position · Out of office without a reason · Last working day

What to watch for with Personio and HubSpot

  • Besides departments Personio also has teams, in one tree of organisational units. HubSpot works with teams and sub-teams. KoppelHet makes the Personio team the primary HubSpot team and places it under the department, so lead distribution works at team level.
  • On a termination Personio records both the termination date and the last working day. Someone placed on garden leave often stops working weeks before the contract ends. KoppelHet closes HubSpot on the last working day, so a departing salesperson does not keep access to customer data.
  • Approved absence from Personio becomes an out-of-office period in HubSpot. The type of absence, such as sickness or parental leave, is not passed on. HubSpot only sees that someone is away, and colleagues see that before passing on a customer.
  • Personio employees have an office, not a time zone. KoppelHet keeps a time zone per office and sets it in HubSpot before the working hours, because HubSpot only accepts working hours once the time zone is known.
  • Personio only releases the fields an administrator has opened for the API. For HubSpot, name, email, organisation, position, office, supervisor and absence are enough. Salary and personal data stay closed.
  • Personio resends a notification for up to three days if it did not arrive right away. KoppelHet processes a repeated notification only once, so no second HubSpot user or duplicate out-of-office period appears.

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 HubSpot see why someone is absent?

No. The integration only puts the start and end of the absence in HubSpot. The type of leave stays in Personio.

Which absences are passed on?

You choose that per absence type in Personio. Often holidays and long leave are passed on, and short appointments are not.

What if someone changes team in Personio?

The HubSpot user then moves to the new team. The permission set only changes if the position changes too.

Technical details for IT

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

  • Personio is read through the v2 APIs: persons and employments (position, org_units, office, supervisor, termination with termination_date and last_working_day), org-units with include_parent_chain and absence-periods. Webhooks (including person.updated) are signed with HMAC-SHA256 and redelivered for up to three days. Authentication with client credentials.
  • HubSpot is written through the user provisioning API (/settings/users/2026-09), the Teams API with parentTeamId and the Users API (hs_job_title, hs_standard_time_zone, hs_working_hours, hs_out_of_office_hours). Out-of-office periods must not overlap in HubSpot and must be in ascending order.

Which fields are transferred

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

Field in PersonioField in HubSpotNotes
person.idKoppeltabel naar de HubSpot-gebruiker
first_name / preferred_namefirstName
last_namelastName
emailemail
org_units (type team)primaryTeamIdThe department above becomes the parent team
position.titlehs_job_title en roleIdPermission set through a table per position
officehs_standard_time_zoneThrough a table per office
supervisorOntvanger van de overdrachtslijst
absence_periods (goedgekeurd)hs_out_of_office_hours
termination.last_working_dayVerwijderen van de gebruiker

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.