Skip to main content
Connectors

Insightful connector

Set up the Insightful connector in Kaivo: authentication, configuration, the 8 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 Insightful 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 Insightful connector

Sync your Insightful workforce analytics into BigQuery with Kaivo to analyse productivity, time, and projects across your team.

CategoryHR
AuthenticationAPI key
SetupSelf-service

Getting started with the Insightful connector

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

Authenticate with your API Token.

FieldDescription
API Token

Your API token for accessing the Insightful API. Generate it by logging in as an Admin to your organization's account, navigating to the API page, and creating a new token. Note that this token will only be shown once, so store it securely.

Configuring the Insightful connector

When you set up the connector, you provide:

FieldDescription
Start Date

Any data before this date will not be fetched.

Tables and columns synced from Insightful

Kaivo syncs 8 tables from Insightful 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.
idSTRING
nameSTRING
_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.
typeSTRING
created_atFLOAT64
idSTRING
is_activeBOOL
model_nameSTRING
organization_idSTRING
settings__scope_inheritanceBOOL
settings__thresholdFLOAT64
sum_syncFLOAT64
updated_atFLOAT64
_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.
created_atFLOAT64
emailSTRING
idSTRING
model_nameSTRING
nameSTRING
updated_atFLOAT64
_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.
typeSTRING
archivedBOOL
billableBOOL
created_atFLOAT64
creator_idSTRING
idSTRING
model_nameSTRING
nameSTRING
organization_idSTRING
payroll__x__bill_rateFLOAT64
screenshot_settings__screenshot_enabledBOOL
updated_atFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: projects__agent_statuses

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: projects__employees

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: projects__labels

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: projects__priorities

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.

Subtable: projects__statuses

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.

Subtable: projects__teams

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: projects__ticket_types

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.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
created_atFLOAT64
earliest_clock_inFLOAT64
idSTRING
late_thresholdFLOAT64
latest_clock_outFLOAT64
model_nameSTRING
notify_intersectionFLOAT64
organization_idSTRING
toleranceFLOAT64
updated_atFLOAT64
_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.
typeSTRING
descriptionSTRING
created_atFLOAT64
defaultBOOL
idSTRING
model_nameSTRING
nameSTRING
organization_idSTRING
settings__typeSTRING
settings__break_time__typeSTRING
settings__breaksFLOAT64
settings__clockerBOOL
settings__days__fridayBOOL
settings__days__mondayBOOL
settings__days__saturdayBOOL
settings__days__sundayBOOL
settings__days__thursdayBOOL
settings__days__tuesdayBOOL
settings__days__wednesdayBOOL
settings__iconBOOL
settings__idleFLOAT64
settings__idle_screenshotsBOOL
settings__privileges__appsBOOL
settings__privileges__manual_timeBOOL
settings__privileges__manual_time_createBOOL
settings__privileges__offlineBOOL
settings__privileges__pmBOOL
settings__privileges__productivityBOOL
settings__privileges__screenshotsBOOL
settings__privileges__shift_schedulingBOOL
settings__screenshotsFLOAT64
settings__security__time_syncBOOL
settings__timerBOOL
settings__track_outside_scheduled_shiftBOOL
updated_atFLOAT64
_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.
colorSTRING
created_atFLOAT64
idSTRING
model_nameSTRING
nameSTRING
organization_idSTRING
updated_atFLOAT64
_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.
descriptionSTRING
defaultBOOL
idSTRING
ignore_neutralBOOL
ignore_productiveBOOL
ignore_unproductiveBOOL
ignore_unreviewedBOOL
model_nameSTRING
nameSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: team__employees

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.

Subtable: team__projects

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.

How the Insightful sync works

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

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

Common use cases for Insightful data

Time and activity

Use employee and projects to track time spent across work.

App usage

Use app-category to understand how work time is spent.

Team view

Join team with projects to compare activity across the team.

Use Insightful data in your AI and BI tools

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

Was this helpful?

Still need help? Share an idea