Skip to main content
Connectors

TriNet Zenefits connector

Set up the TriNet Zenefits connector in Kaivo: authentication, configuration, the 11 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 TriNet Zenefits 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 TriNet Zenefits connector

Sync your TriNet Zenefits HR data into BigQuery with Kaivo to report on headcount, time off, and people data without exporting spreadsheets.

CategoryHR
AuthenticationAPI key
SetupSelf-service

Getting started with the TriNet Zenefits connector

  1. Sign up for Kaivo and create a workspace.
  2. Connect your TriNet Zenefits 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 TriNet Zenefits

Authenticate with your API Token.

FieldDescription
API Token

Your Zenefits API access token. In Zenefits, go to Settings > Integration and API Access to generate one.

Tables and columns synced from TriNet Zenefits

Kaivo syncs 11 tables from TriNet Zenefits 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.
idSTRINGUnique identifier for the custom field value
urlSTRINGURL for the custom field value
objectSTRINGObject type of the custom field value
valueSTRINGThe actual value of the custom field
custom_field__ref_objectSTRINGReference to another object
custom_field__objectSTRINGThe type of object
custom_field__urlSTRINGURL for the custom field
person__ref_objectSTRINGReference to another person object
person__objectSTRINGThe type of person object
person__urlSTRINGURL for the person
_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.
idSTRINGUnique identifier for the custom field.
can_manager_view_fieldBOOLIndicates whether a manager is allowed to view this custom field.
custom_field_values__ref_objectSTRINGReference to the object representing the custom field values.
custom_field_values__objectSTRINGType of object representing the custom field values.
custom_field_values__urlSTRINGURL linking to the custom field values.
person_during_onboardingBOOLPerson information during the onboarding process.
nameSTRINGName or label of the custom field.
is_field_completer_personBOOLIndicates whether this field is meant to be completed by a person.
urlSTRINGURL linking to the custom field information.
is_sensitiveBOOLIndicates whether the information in this field is sensitive.
is_field_requiredBOOLIndicates whether this field is required to be filled.
objectSTRINGType of object representing the custom field.
can_person_view_fieldBOOLIndicates whether a person is allowed to view this custom field.
can_person_edit_fieldBOOLIndicates whether a person is allowed to edit this custom field.
company__ref_objectSTRINGReference to the object representing the company.
company__objectSTRINGType of object representing the company.
company__urlSTRINGURL linking to the company information.
company_during_hiringBOOLCompany information during the hiring process.
custom_field_typeSTRINGType of the custom field.
help_urlSTRINGURL linking to additional help related to the custom field.
help_textSTRINGText providing help or guidance related to the custom field.
help_url_mediaSTRINGMedia content such as images or videos providing help or guidance.
media_file_typeJSONType of media file associated with the custom field.
_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.
idSTRINGThe unique identifier for the department
nameSTRINGThe name of the department
labor_group__ref_objectSTRING
labor_group__objectSTRING
labor_group__urlSTRING
people__ref_objectSTRING
people__objectSTRING
people__urlSTRING
company__ref_objectSTRING
company__objectSTRING
company__urlSTRING
urlSTRINGThe URL for accessing more details about the department
objectSTRINGThe type of object, in this case, department
_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.
person__urlSTRINGURL to fetch detailed information about the person
person__objectSTRINGType of object (e.g., person)
person__ref_objectSTRINGReference to the person associated with this employment
hire_dateSTRINGDate on which the employee was hired for this employment
amount_typeSTRINGType of amount associated with employment data (e.g., hourly, monthly)
annual_salarySTRINGThe annual salary of the employee in this employment
comp_typeSTRINGType of compensation for the employment (e.g., salary, hourly wage)
pay_rateSTRINGRate of pay for the employee in this employment
employment_typeSTRINGMain type of employment of the employee (e.g., permanent, temporary)
objectSTRINGType of object (e.g., employment)
is_activeBOOLFlag indicating if the employment record is currently active
is_flsa_exemptSTRINGFlag indicating if the employee is exempt from Fair Labor Standards Act (FLSA)
termination_typeSTRINGType of termination for this employment (e.g., voluntary, involuntary)
termination_dateSTRINGDate on which the employment was terminated
urlSTRINGURL to fetch detailed information about this employment record
idSTRINGUnique identifier for the employment record
working_hours_per_weekSTRINGNumber of working hours per week for the employee
employment_sub_typeSTRINGSubtype of the employment type (e.g., full-time, part-time)
_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.
idSTRINGThe unique identifier of the labor group type.
nameSTRINGThe name of the labor group type.
urlSTRINGThe URL for retrieving more details about the labor group type.
company__ref_objectSTRING
company__objectSTRING
company__urlSTRING
labor_groups__ref_objectSTRING
labor_groups__objectSTRING
labor_groups__urlSTRING
objectSTRINGThe type of object, in this case, labor group type.
_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.
idSTRINGUnique identifier for the labor group
codeSTRINGUnique code assigned to the labor group
nameSTRINGName of the labor group
urlSTRINGURL to fetch labor group details
objectSTRINGObject representing the labor group
labor_group_type__ref_objectSTRINGReference object linked to the labor group type
labor_group_type__objectSTRINGObject representing the labor group type
labor_group_type__urlSTRINGURL to fetch the labor group type details
assigned_members__urlSTRINGURL to fetch assigned members data
assigned_members__next_urlSTRINGURL to fetch the next set of assigned members data
assigned_members__objectSTRINGObject representing the assigned members
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: labor_groups__assigned_members__data

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.
urlSTRINGURL link associated with the member.
is_primaryBOOLIndicates if the member is the primary member of the labor group
objectSTRINGObject metadata.
ref_objectSTRINGReference to another object.
_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.
idSTRINGUnique identifier for the location.
nameSTRINGThe name of the location.
citySTRINGThe city where the location is situated.
labor_group__ref_objectSTRINGReference to another object related to the labor group.
labor_group__objectSTRINGDefines the labor group object.
labor_group__urlSTRINGURL linking to additional information about the labor group.
zipSTRINGThe ZIP or postal code of the location.
people__ref_objectSTRINGReference to another object related to the people at the location.
people__objectSTRINGDefines the people object.
people__urlSTRINGURL linking to additional information about the people at the location.
urlSTRINGURL linking to additional information about the location.
street1STRINGFirst line of the street address for the location.
street2STRINGSecond line of the street address for the location.
objectSTRINGDefines the location object.
phoneSTRINGContact phone number for the location.
stateSTRINGThe state or region where the location is situated.
countrySTRINGThe country where the location is located.
company__ref_objectSTRINGReference to another object related to the company.
company__objectSTRINGDefines the company object.
company__urlSTRINGURL linking to additional information about the company.
_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.
employee_numberSTRINGUnique employee identification number
countrySTRINGCountry where the person is located
labor_groups__ref_objectSTRING
labor_groups__objectSTRING
labor_groups__urlSTRING
is_adminBOOLFlag indicating if the person is an admin user
objectSTRINGRepresents an individual person's data
street1STRINGFirst line of the person's address
company__ref_objectSTRING
company__objectSTRING
company__urlSTRING
department__ref_objectSTRING
department__objectSTRING
department__urlSTRING
subordinates__ref_objectSTRING
subordinates__objectSTRING
subordinates__urlSTRING
location__ref_objectSTRING
location__objectSTRING
location__urlSTRING
work_phoneSTRINGWork phone number of the person
middle_nameSTRINGMiddle name of the person
custom_field_values__ref_objectSTRING
custom_field_values__objectSTRING
custom_field_values__urlSTRING
postal_codeSTRINGPostal code of the person's address
employments__ref_objectSTRING
employments__objectSTRING
employments__urlSTRING
manager__ref_objectSTRING
manager__objectSTRING
manager__urlSTRING
banks__ref_objectSTRING
banks__objectSTRING
banks__urlSTRING
date_of_birthSTRINGDate of birth of the person
statusSTRINGStatus of the person (active, inactive, etc.)
federal_filing_statusSTRINGFederal filing status for tax purposes
genderSTRINGGender of the person
personal_emailSTRINGPersonal email address of the person
personal_phoneSTRINGPersonal phone number of the person
personal_pronounSTRINGPreferred personal pronoun of the person
photo_thumbnail_urlSTRINGURL to the thumbnail version of the person's photo
photo_urlSTRINGURL to the full version of the person's photo
social_security_numberSTRINGSocial security number of the person
is_full_adminBOOLFlag indicating if the person is a full admin user
last_nameSTRINGLast name of the person
first_nameSTRINGFirst name of the person
stateSTRINGState or region where the person is located
titleSTRINGJob title of the person
urlSTRINGURL endpoint for accessing the person's details
street2STRINGSecond line of the person's address
work_emailSTRINGWork email address of the person
preferred_nameSTRINGPreferred name used by the person
idSTRINGUnique identifier for the person
typeSTRINGType of person (employee, contractor, etc.)
citySTRINGCity where the person is located
_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.
is_overnightBOOLFlag indicating if the time duration spans across multiple days.
is_approvedBOOLFlag indicating whether the time duration is approved.
objectSTRINGType of the time duration object.
endTIMESTAMPEnd date and time of the time duration.
person__ref_objectSTRINGReference object for the person.
person__objectSTRINGType of the person object associated with the time duration.
person__urlSTRINGURL to fetch more details about the person.
urlSTRINGURL to access the details of the time duration.
approver__ref_objectSTRINGReference object for the approver.
approver__objectSTRINGType of the approver object.
approver__urlSTRINGURL to fetch more details about the approver.
labor_group_idsSTRINGIDs of labor groups associated with the time duration.
hoursSTRINGThe total number of hours worked during the time duration.
startSTRINGStart date and time of the time duration.
stateSTRINGState of the time duration (e.g., pending, approved, rejected).
approved_datetimeSTRINGThe date and time the time duration was approved.
valid_statusSTRINGStatus indicating the validity of the time duration data.
dateSTRINGThe date for which the time duration is recorded.
activitySTRINGThe type of activity or task performed during the time duration.
idSTRINGUnique identifier for the time duration record.
_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.
statusSTRINGStatus of the vacation request (approved, pending, denied).
vacation_type__urlSTRINGURL linking to the vacation type details.
vacation_type__objectSTRINGIndicator for the object type.
vacation_type__ref_objectSTRINGReference to the vacation type object.
end_dateSTRINGThe end date of the vacation period.
creator__urlSTRINGURL linking to the creator's details.
creator__objectSTRINGIndicator for the object type.
creator__ref_objectSTRINGReference to the creator object.
urlSTRINGURL linking to the vacation request details.
objectSTRINGIndicator for the object type.
start_dateSTRINGThe start date of the vacation period.
hoursSTRINGNumber of hours requested for vacation.
approved_dateSTRINGThe date when the vacation request was approved.
reasonSTRINGReason provided for the vacation request.
person__urlSTRINGURL linking to the person's details.
person__objectSTRINGIndicator for the object type.
person__ref_objectSTRINGReference to the person object.
created_dateSTRINGThe date when the vacation request was created.
deny_reasonSTRINGReason for denying the vacation request.
idSTRINGUnique identifier for the vacation request.
_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.
statusSTRINGStatus of the vacation type
nameSTRINGName of the vacation type
urlSTRINGURL linking to the vacation type details
counts_asSTRINGHow this vacation type counts in the system
company__urlSTRINGURL linking to the company information
company__objectSTRINGCompany object details
company__ref_objectSTRINGReference to the company object
objectSTRINGObject details related to the vacation type
vacation_requests__urlSTRINGURL linking to the vacation requests associated
vacation_requests__objectSTRINGVacation requests object details
vacation_requests__ref_objectSTRINGReference to the vacation requests object
count_asSTRINGHow this vacation type is counted as
idSTRINGUnique identifier for the vacation type
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

How the TriNet Zenefits sync works

After the first load, Kaivo keeps your BigQuery warehouse up to date for you. Where TriNet Zenefits 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 TriNet Zenefits?

It depends on how much history is in your TriNet Zenefits 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 TriNet Zenefits'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 TriNet Zenefits, 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 TriNet Zenefits 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 TriNet Zenefits connector in Kaivo and all of its synced data is deleted with it.

Common use cases for TriNet Zenefits data

Headcount reporting

Use people and employments to track headcount and changes over time.

Time off analysis

Join vacation_requests with vacation_types to see leave trends and coverage.

Org view

Use departments and locations to report on your workforce by team and site.

Use TriNet Zenefits data in your AI and BI tools

Once TriNet Zenefits 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 TriNet Zenefits 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 TriNet Zenefits connector pricing and plan details.

Was this helpful?

Still need help? Share an idea