Skip to main content
Connectors

HiBob connector

Set up the HiBob connector in Kaivo: authentication, configuration, the 3 BigQuery tables it syncs, and answers to common questions.

Written By Lauri Raivio

Last updated 16 days ago

Kaivo is a fully managed data platform that syncs your HiBob data into a Google BigQuery warehouse and keeps it up to date automatically. There is no pipeline to build and no infrastructure to run, so you can spend your time analysing your HR data instead of moving it.

What is the HiBob connector

Sync your HiBob HR data into BigQuery with Kaivo to report on headcount and people data without exporting spreadsheets.

CategoryHR
AuthenticationUsername and password
SetupSelf-service

Getting started with the HiBob connector

  1. Sign up for Kaivo and create a workspace.
  2. Connect your HiBob account.
  3. Choose which tables to sync.
  4. Wait for the initial sync to finish.
  5. Query your data in BigQuery or your favourite AI or BI tool.

Authenticating HiBob

Connect with your HiBob login. You provide:

FieldDescription
Password

Your HiBob service user token, shown once when the service user is created under Settings → Integrations → Service Users.

Configuring the HiBob connector

When you set up the connector, you provide:

FieldDescription
Username

Your HiBob service user ID, created under Settings → Integrations → Service Users.

Tables and columns synced from HiBob

Kaivo syncs 3 tables from HiBob into a dedicated dataset in your BigQuery warehouse. Click any table to see its columns and types.

ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
about__avatarSTRING
about__food_preferencesSTRING
about__hobbiesSTRING
about__superpowersSTRING
company_idSTRING
display_nameSTRING
emailSTRING
employee__last_day_of_workSTRING
employee__veteran_statusSTRING
first_nameSTRING
full_nameSTRING
home__private_emailSTRING
idSTRING
internal__lifecycle_statusSTRING
internal__statusSTRING
internal__termination_dateSTRING
internal__termination_reasonSTRING
personal__honorificSTRING
personal__nationalitySTRING
personal__pronounsSTRING
personal__short_birth_dateSTRING
surnameSTRING
work__active_effective_dateSTRING
work__custom__field_1698036945383STRING
work__days_of_previous_serviceSTRING
work__departmentSTRING
work__employee_id_in_companySTRING
work__is_managerSTRING
work__managerSTRING
work__original_start_dateSTRING
work__short_start_dateSTRING
work__siteSTRING
work__site_idSTRING
work__start_dateSTRING
work__tenure_duration_yearsSTRING
work__tenure_yearsSTRING
work__titleSTRING
work__work_change_typeSTRING
work__years_of_serviceSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
about__avatarSTRING
avatar_urlSTRING
company_idFLOAT64
cover_image_urlSTRING
creation_date_timeSTRING
display_nameSTRING
emailSTRING
financial__account_nameSTRING
financial__accountnumberSTRING
financial__bank_account_typeSTRING
financial__bank_nameSTRING
financial__custom__field_1692991687729STRING
financial__passport_numberSTRING
first_nameSTRING
full_nameSTRING
home__family_statusSTRING
home__legal_genderSTRING
home__mobile_phoneSTRING
home__number_of_kidsFLOAT64
home__private_emailSTRING
home__private_phoneSTRING
idSTRING
internal__current_active_status_start_dateSTRING
internal__lifecycle_statusSTRING
internal__statusSTRING
payroll__custom__field_1694738605040FLOAT64
payroll__custom__field_1694739058581STRING
payroll__custom__field_1694739102985FLOAT64
payroll__employment__typeSTRING
payroll__employment__active_effective_dateSTRING
payroll__employment__actual_working_pattern__days__fridayFLOAT64
payroll__employment__actual_working_pattern__days__mondayFLOAT64
payroll__employment__actual_working_pattern__days__saturdayFLOAT64
payroll__employment__actual_working_pattern__days__sundayFLOAT64
payroll__employment__actual_working_pattern__days__thursdayFLOAT64
payroll__employment__actual_working_pattern__days__tuesdayFLOAT64
payroll__employment__actual_working_pattern__days__wednesdayFLOAT64
payroll__employment__actual_working_pattern__hours_per_dayFLOAT64
payroll__employment__actual_working_pattern__working_pattern_idFLOAT64
payroll__employment__actual_working_pattern__working_pattern_typeSTRING
payroll__employment__calendar_idFLOAT64
payroll__employment__contractSTRING
payroll__employment__fteFLOAT64
payroll__employment__hours_in_day_not_workedFLOAT64
payroll__employment__salary_pay_typeSTRING
payroll__employment__site_working_pattern__days__fridayFLOAT64
payroll__employment__site_working_pattern__days__mondayFLOAT64
payroll__employment__site_working_pattern__days__saturdayFLOAT64
payroll__employment__site_working_pattern__days__sundayFLOAT64
payroll__employment__site_working_pattern__days__thursdayFLOAT64
payroll__employment__site_working_pattern__days__tuesdayFLOAT64
payroll__employment__site_working_pattern__days__wednesdayFLOAT64
payroll__employment__site_working_pattern__hours_per_dayFLOAT64
payroll__employment__site_working_pattern__working_pattern_idFLOAT64
payroll__employment__site_working_pattern__working_pattern_typeSTRING
payroll__employment__weekly_hoursFLOAT64
payroll__time_since_last_salary_change__humanizeSTRING
payroll__time_since_last_salary_change__period_isoSTRING
payroll__time_since_last_salary_change__sort_factorFLOAT64
surnameSTRING
work__active_effective_dateSTRING
work__days_of_previous_serviceFLOAT64
work__departmentSTRING
work__direct_reportsFLOAT64
work__duration_of_employment__humanizeSTRING
work__duration_of_employment__period_isoSTRING
work__duration_of_employment__sort_factorFLOAT64
work__employee_id_in_companyFLOAT64
work__indirect_reportsFLOAT64
work__is_managerBOOL
work__managerSTRING
work__original_start_dateSTRING
work__reports_to__display_nameSTRING
work__reports_to__emailSTRING
work__reports_to__first_nameSTRING
work__reports_to__idSTRING
work__reports_to__surnameSTRING
work__reports_to_id_in_companyFLOAT64
work__short_start_dateSTRING
work__siteSTRING
work__site_idFLOAT64
work__start_dateSTRING
work__tenure_duration__humanizeSTRING
work__tenure_duration__period_isoSTRING
work__tenure_duration__sort_factorFLOAT64
work__tenure_duration_yearsFLOAT64
work__tenure_yearsFLOAT64
work__titleSTRING
work__years_of_serviceFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: payroll__about__food_preferences

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: payroll__about__hobbies

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: payroll__about__superpowers

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: payroll__identification__custom__field_1697450926907

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: payroll__payroll__actual_payment

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: payroll__payroll__deductions

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: payroll__payroll__employment_type

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
typeSTRING
active_effective_dateSTRING
actual_working_pattern__days__fridayFLOAT64
actual_working_pattern__days__mondayFLOAT64
actual_working_pattern__days__saturdayFLOAT64
actual_working_pattern__days__sundayFLOAT64
actual_working_pattern__days__thursdayFLOAT64
actual_working_pattern__days__tuesdayFLOAT64
actual_working_pattern__days__wednesdayFLOAT64
actual_working_pattern__hours_per_dayFLOAT64
actual_working_pattern__working_pattern_idFLOAT64
actual_working_pattern__working_pattern_typeSTRING
calendar_idFLOAT64
calendar_nameSTRING
can_be_deletedBOOL
change__changed_by_idSTRING
contractSTRING
effective_dateSTRING
fteFLOAT64
hours_in_day_not_workedFLOAT64
idFLOAT64
is_currentBOOL
modification_dateSTRING
salary_pay_typeSTRING
site_working_pattern__days__fridayFLOAT64
site_working_pattern__days__mondayFLOAT64
site_working_pattern__days__saturdayFLOAT64
site_working_pattern__days__sundayFLOAT64
site_working_pattern__days__thursdayFLOAT64
site_working_pattern__days__tuesdayFLOAT64
site_working_pattern__days__wednesdayFLOAT64
site_working_pattern__hours_per_dayFLOAT64
site_working_pattern__working_pattern_idFLOAT64
site_working_pattern__working_pattern_typeSTRING
weekly_hoursFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: payroll__payroll__entitlements

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: payroll__payroll__equity

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: payroll__payroll__salary

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
active_effective_dateSTRING
base__currencySTRING
base__valueFLOAT64
can_be_deletedBOOL
change__changed_by_idSTRING
change__reasonSTRING
effective_dateSTRING
end_effective_dateSTRING
idFLOAT64
is_currentBOOL
modification_dateSTRING
pay_frequencySTRING
pay_periodSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: payroll__payroll__variable_payment

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: payroll__work__custom__field_1698036945383

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
about__avatarSTRING
company_idFLOAT64
display_nameSTRING
emailSTRING
first_nameSTRING
home__private_emailSTRING
idSTRING
surnameSTRING
work__active_effective_dateSTRING
work__days_of_previous_serviceFLOAT64
work__departmentSTRING
work__direct_reportsFLOAT64
work__duration_of_employment__humanizeSTRING
work__duration_of_employment__period_isoSTRING
work__duration_of_employment__sort_factorFLOAT64
work__employee_id_in_companyFLOAT64
work__indirect_reportsFLOAT64
work__is_managerBOOL
work__managerSTRING
work__original_start_dateSTRING
work__reports_to__display_nameSTRING
work__reports_to__emailSTRING
work__reports_to__first_nameSTRING
work__reports_to__idSTRING
work__reports_to__surnameSTRING
work__reports_to_id_in_companyFLOAT64
work__short_start_dateSTRING
work__siteSTRING
work__site_idFLOAT64
work__start_dateSTRING
work__tenure_duration__humanizeSTRING
work__tenure_duration__period_isoSTRING
work__tenure_duration__sort_factorFLOAT64
work__tenure_duration_yearsFLOAT64
work__tenure_yearsFLOAT64
work__titleSTRING
work__years_of_serviceFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: profiles__about__food_preferences

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: profiles__about__hobbies

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: profiles__about__superpowers

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: profiles__work__custom__field_1698036945383

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

How the HiBob sync works

After the first load, Kaivo keeps your BigQuery warehouse up to date for you. Where HiBob supports it, each sync pulls only new and changed records so it stays fast; otherwise it refreshes the whole table. Every record keeps its original ID, so you won't get duplicate rows.

Frequently asked questions

How long does the initial sync take for HiBob?

It depends on how much history is in your HiBob account. Most initial syncs finish within minutes, while large accounts can take a few hours. After that, syncs only fetch new and changed records, so they're much faster.

Can I sync only some tables or columns?

Yes. You pick which tables to sync when you set up the connection and can change the selection later. Tables you don't select are never copied to your warehouse.

What happens when HiBob's schema changes?

New fields are never added automatically. You choose which fields to sync, so data you haven't selected (sensitive personal data, for example) never lands in your warehouse. When a new field appears, it becomes available for you to add. What happens to removed or renamed fields depends on a table's sync mode: full-refresh tables always match what's currently in HiBob, so dropped fields disappear, while incremental tables keep their existing columns and history, so an old field stays and newly added fields fill in over time.

How do I handle GDPR or data deletion requests?

Your data lives in your own Kaivo-managed BigQuery warehouse, so the most direct option is to delete or anonymise specific records right in BigQuery. If you delete data in HiBob instead, full-refresh tables drop it on the next sync, while incremental tables keep it, so you would remove the row in BigQuery or ask us to run a full refresh. To remove everything, delete the HiBob connector in Kaivo and all of its synced data is deleted with it.

Common use cases for HiBob data

Headcount reporting

Use employees and profiles to track headcount and changes over time.

Payroll view

Use payroll to report on pay alongside the rest of your people data.

People analytics

Bring HiBob data into BigQuery to build people reports tailored to your business.

Use HiBob data in your AI and BI tools

Once HiBob data lands in your Kaivo-managed BigQuery warehouse, you can explore it with AI tools or any BI tool that connects to BigQuery. Here's how the most common destinations work with HiBob data.

Claude

Use Kaivo's MCP server to give Claude secure, workspace-scoped access to your data. Setup guide →

Power BI

Microsoft's BI tool with a native BigQuery connector. Supports direct query and scheduled refresh. Setup guide →

Data Studio

Free Google BI tool with native BigQuery support. One-click connection to your Kaivo warehouse; great for SMB teams on Google Workspace. Setup guide →

Tableau

The premium analytics standard, with native BigQuery integration. Setup guide →

Google Sheets

Use Connected Sheets to query BigQuery directly from a spreadsheet, with no SQL. Setup guide →

Excel

Connect via Power Query's BigQuery connector. Setup guide →

Metabase

Open-source BI tool with strong BigQuery support. Setup guide →

See our pricing page for HiBob connector pricing and plan details.

Was this helpful?

Still need help? Share an idea