Skip to main content
Connectors

Box connector

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

Written By Lauri Raivio

Last updated 15 days ago

Kaivo is a fully managed data platform that syncs your Box 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 data from Box instead of moving it.

What is the Box connector

Sync your Box content and activity data into BigQuery with Kaivo to audit access, monitor activity, and track storage across your account.

CategoryFiles & Databases
AuthenticationAPI key
SetupSelf-service

Getting started with the Box connector

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

Authenticate with your Box credentials. You provide:

FieldDescription
OAuth Client ID

Client ID of your Box Custom App (Server Authentication / Client Credentials Grant), found under the app's Configuration tab in the Box Developer Console.

OAuth Client Secret

Client secret of the same Box Custom App, found under its Configuration tab in the Box Developer Console (viewing it requires 2FA on your Box account).

Configuring the Box connector

When you set up the connector, you provide:

FieldDescription
User ID

Numeric ID of the Box user to sync as — the app authenticates as this user (sent as box_subject_id). Find it in the Admin Console under Users; it is not your Client ID. The app needs "Generate User Access Tokens" enabled and must be authorized in the Admin Console.

Tables and columns synced from Box

Kaivo syncs 15 tables from Box 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.
typeSTRING
accessible_by__typeSTRING
accessible_by__idSTRING
accessible_by__loginSTRING
accessible_by__nameSTRING
additional_details__typeSTRING
additional_details__metadata__typeSTRING
additional_details__metadata__operation_paramsSTRING
additional_details__access_token_identifierSTRING
additional_details__collab_idSTRING
additional_details__collection__collection_idFLOAT64
additional_details__collection__collection_nameSTRING
additional_details__collection__user__emailSTRING
additional_details__collection__user__idFLOAT64
additional_details__collection__user__nameSTRING
additional_details__collection_item__collection_idFLOAT64
additional_details__collection_item__collection_nameSTRING
additional_details__collection_item__item__fileFLOAT64
additional_details__collection_item__user__emailSTRING
additional_details__collection_item__user__idFLOAT64
additional_details__collection_item__user__nameSTRING
additional_details__comment_idFLOAT64
additional_details__ekm_idSTRING
additional_details__invitation_messageSTRING
additional_details__is_performed_by_adminBOOL
additional_details__messageSTRING
additional_details__original_item_idSTRING
additional_details__original_item_nameSTRING
additional_details__original_item_typeSTRING
additional_details__roleSTRING
additional_details__service_idSTRING
additional_details__service_nameSTRING
additional_details__shared_link_settings__new_can_downloadBOOL
additional_details__shared_link_settings__new_can_editBOOL
additional_details__shared_link_settings__new_can_previewBOOL
additional_details__shared_link_settings__new_is_expiration_date_setBOOL
additional_details__shared_link_settings__new_is_password_protectedBOOL
additional_details__shared_link_settings__new_visibility_statusSTRING
additional_details__shared_link_idSTRING
additional_details__sign_request__ready_sign_link__idSTRING
additional_details__sign_request__redirection__declined_redirect_urlSTRING
additional_details__sign_request__redirection__redirect_urlSTRING
additional_details__sign_request__requestor__typeSTRING
additional_details__sign_request__requestor__idSTRING
additional_details__sign_request__requestor__loginSTRING
additional_details__sign_request__requestor__nameSTRING
additional_details__sign_request__requestor_ip_addressSTRING
additional_details__sign_request__sender_message__messageSTRING
additional_details__sign_request__sender_message__subjectSTRING
additional_details__sign_request__sign_request_idSTRING
additional_details__sign_request__sign_request_short_idSTRING
additional_details__sign_request__signer__typeSTRING
additional_details__sign_request__signer__idSTRING
additional_details__sign_request__signer__loginSTRING
additional_details__sign_request__signer__nameSTRING
additional_details__sign_request__signer_ip_addressSTRING
additional_details__sign_request__statusSTRING
additional_details__sizeFLOAT64
additional_details__task__created_by__idFLOAT64
additional_details__task__created_by__loginSTRING
additional_details__task__due_atSTRING
additional_details__task__idFLOAT64
additional_details__task__messageSTRING
additional_details__task_assignment__assigned_to__idFLOAT64
additional_details__task_assignment__assigned_to__loginSTRING
additional_details__task_assignment__messageSTRING
additional_details__task_assignment__statusSTRING
additional_details__version_idSTRING
created_atSTRING
created_by__typeSTRING
created_by__idSTRING
created_by__loginSTRING
created_by__nameSTRING
event_idSTRING
event_typeSTRING
ip_addressSTRING
source__typeSTRING
source__file_idSTRING
source__file_nameSTRING
source__folder_idSTRING
source__folder_nameSTRING
source__idSTRING
source__item_idSTRING
source__item_nameSTRING
source__item_typeSTRING
source__loginSTRING
source__nameSTRING
source__owned_by__typeSTRING
source__owned_by__idSTRING
source__owned_by__loginSTRING
source__owned_by__nameSTRING
source__parent__typeSTRING
source__parent__idSTRING
source__parent__nameSTRING
source__user_emailSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: admin_logs__additional_details__sign_request__files

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
idSTRING
nameSTRING
parent__typeSTRING
parent__idSTRING
_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
etagSTRING
file_version__typeSTRING
file_version__idSTRING
file_version__sha1STRING
idSTRING
nameSTRING
sequence_idSTRING
sha1STRING
_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
collection_typeSTRING
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
additional_details__original_item_idSTRING
additional_details__original_item_nameSTRING
additional_details__original_item_typeSTRING
created_atSTRING
created_by__typeSTRING
created_by__idSTRING
created_by__loginSTRING
created_by__nameSTRING
event_idSTRING
event_typeSTRING
recorded_atSTRING
session_idSTRING
source__typeSTRING
source__descriptionSTRING
source__assigned_atSTRING
source__assigned_by__typeSTRING
source__assigned_by__idSTRING
source__assigned_by__loginSTRING
source__assigned_by__nameSTRING
source__assigned_to__typeSTRING
source__assigned_to__idSTRING
source__assigned_to__loginSTRING
source__assigned_to__nameSTRING
source__content_created_atSTRING
source__content_modified_atSTRING
source__created_atSTRING
source__created_by__typeSTRING
source__created_by__idSTRING
source__created_by__loginSTRING
source__created_by__nameSTRING
source__etagSTRING
source__file_version__typeSTRING
source__file_version__idSTRING
source__file_version__sha1STRING
source__idSTRING
source__invite_emailSTRING
source__is_reply_commentBOOL
source__item__typeSTRING
source__item__etagSTRING
source__item__file_version__typeSTRING
source__item__file_version__idSTRING
source__item__file_version__sha1STRING
source__item__idSTRING
source__item__nameSTRING
source__item__sequence_idSTRING
source__item__sha1STRING
source__item_statusSTRING
source__messageSTRING
source__modified_atSTRING
source__modified_by__typeSTRING
source__modified_by__idSTRING
source__modified_by__loginSTRING
source__modified_by__nameSTRING
source__nameSTRING
source__owned_by__typeSTRING
source__owned_by__idSTRING
source__owned_by__loginSTRING
source__owned_by__nameSTRING
source__parent__typeSTRING
source__parent__etagSTRING
source__parent__idSTRING
source__parent__nameSTRING
source__parent__sequence_idSTRING
source__path_collection__total_countFLOAT64
source__purged_atSTRING
source__resolution_stateSTRING
source__roleSTRING
source__sequence_idSTRING
source__sha1STRING
source__sizeFLOAT64
source__statusSTRING
source__syncedBOOL
source__trashed_atSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: events__source__path_collection__entries

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
etagSTRING
idSTRING
nameSTRING
sequence_idSTRING
_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_atSTRING
created_by__typeSTRING
created_by__idSTRING
created_by__loginSTRING
created_by__nameSTRING
idSTRING
invite_emailSTRING
is_access_onlyBOOL
item__typeSTRING
item__etagSTRING
item__file_version__typeSTRING
item__file_version__idSTRING
item__file_version__sha1STRING
item__idSTRING
item__nameSTRING
item__sequence_idSTRING
item__sha1STRING
modified_atSTRING
roleSTRING
statusSTRING
_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_atSTRING
created_by__typeSTRING
created_by__idSTRING
created_by__loginSTRING
created_by__nameSTRING
idSTRING
is_reply_commentBOOL
messageSTRING
_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
assigned_atSTRING
assigned_to__typeSTRING
assigned_to__idSTRING
assigned_to__loginSTRING
assigned_to__nameSTRING
idSTRING
item__typeSTRING
item__etagSTRING
item__file_version__typeSTRING
item__file_version__idSTRING
item__file_version__sha1STRING
item__idSTRING
item__nameSTRING
item__sequence_idSTRING
item__sha1STRING
messageSTRING
resolution_stateSTRING
statusSTRING
_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
etagSTRING
file_version__typeSTRING
file_version__idSTRING
file_version__sha1STRING
idSTRING
nameSTRING
sequence_idSTRING
sha1STRING
_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_atSTRING
created_by__typeSTRING
created_by__idSTRING
created_by__loginSTRING
created_by__nameSTRING
idSTRING
invite_emailSTRING
is_access_onlyBOOL
item__typeSTRING
item__etagSTRING
item__idSTRING
item__nameSTRING
item__sequence_idSTRING
modified_atSTRING
roleSTRING
statusSTRING
_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
etagSTRING
idSTRING
nameSTRING
sequence_idSTRING
_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
etagSTRING
file_version__typeSTRING
file_version__idSTRING
file_version__sha1STRING
idSTRING
nameSTRING
sequence_idSTRING
sha1STRING
_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
are_reminders_enabledBOOL
are_text_signatures_enabledBOOL
idSTRING
is_document_preparation_neededBOOL
is_phone_verification_required_to_viewBOOL
nameSTRING
parent_folder__typeSTRING
parent_folder__etagSTRING
parent_folder__idSTRING
parent_folder__nameSTRING
parent_folder__sequence_idSTRING
sign_files__is_ready_for_downloadBOOL
statusSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: sign_request__prefill_tags

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

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
etagSTRING
file_version__typeSTRING
file_version__idSTRING
file_version__sha1STRING
idSTRING
nameSTRING
sequence_idSTRING
sha1STRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: sign_request__signers

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.
emailSTRING
has_viewed_documentBOOL
is_in_personBOOL
login_requiredBOOL
orderFLOAT64
roleSTRING
suppress_notificationsBOOL
verification_phone_numberSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: sign_request__signers__inputs

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

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
etagSTRING
file_version__typeSTRING
file_version__idSTRING
file_version__sha1STRING
idSTRING
nameSTRING
sequence_idSTRING
sha1STRING
_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
are_email_settings_lockedBOOL
are_fields_lockedBOOL
are_files_lockedBOOL
are_options_lockedBOOL
are_recipients_lockedBOOL
days_validFLOAT64
email_messageSTRING
email_subjectSTRING
idSTRING
nameSTRING
parent_folder__typeSTRING
parent_folder__etagSTRING
parent_folder__idSTRING
parent_folder__nameSTRING
parent_folder__sequence_idSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: sign_templates__additional_info__non_editable

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

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.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: sign_templates__additional_info__required__signers__list

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

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.
emailSTRING
is_in_personBOOL
labelSTRING
orderFLOAT64
public_idSTRING
roleSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: sign_templates__signers__inputs

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

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
etagSTRING
file_version__typeSTRING
file_version__idSTRING
file_version__sha1STRING
idSTRING
nameSTRING
sequence_idSTRING
sha1STRING
_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
etagSTRING
file_version__typeSTRING
file_version__idSTRING
file_version__sha1STRING
idSTRING
nameSTRING
sequence_idSTRING
sha1STRING
_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
addressSTRING
avatar_urlSTRING
created_atSTRING
idSTRING
job_titleSTRING
languageSTRING
loginSTRING
max_upload_sizeFLOAT64
modified_atSTRING
nameSTRING
phoneSTRING
space_amountFLOAT64
space_usedFLOAT64
statusSTRING
timezoneSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

How the Box sync works

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

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

Common use cases for Box data

Access and sharing audit

Use file_collaborations and folder_collaborations to review who has access, their role, and any external invite_email.

Activity monitoring

Bring events and admin_logs into BigQuery to track logins, downloads, and changes over time.

Storage usage

Use the users table's space_used and space_amount to see how storage is consumed across your account.

Task and comment tracking

Use file_tasks and file_comments to follow review and approval activity.

Use Box data in your AI and BI tools

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

Was this helpful?

Still need help? Share an idea