Skip to main content
Connectors

Fleetio connector

Set up the Fleetio connector in Kaivo: authentication, configuration, the 10 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 Fleetio 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 Fleetio instead of moving it.

What is the Fleetio connector

Sync your Fleetio fleet data into BigQuery with Kaivo to analyse vehicle costs, maintenance, and fuel across your fleet.

CategoryOther
AuthenticationAPI key
SetupSelf-service

Getting started with the Fleetio connector

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

Authenticate with your Fleetio credentials. You provide:

FieldDescription
API Key

Your Fleetio API key. Find it under Account Settings > API & Webhooks in your Fleetio account.

Account Token

Your Fleetio account token. Find it under Account Settings > API & Webhooks in your Fleetio account.

Tables and columns synced from Fleetio

Kaivo syncs 10 tables from Fleetio 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.
comments_countFLOAT64
created_atSTRING
documents_countFLOAT64
emailSTRING
employeeBOOL
first_nameSTRING
middle_nameSTRING
group_idFLOAT64
group_nameSTRING
group_hierarchySTRING
idFLOAT64
images_countFLOAT64
last_nameSTRING
nameSTRING
technicianBOOL
updated_atSTRING
vehicle_operatorBOOL
birth_dateSTRING
street_addressSTRING
street_address_line_2STRING
citySTRING
countrySTRING
employee_numberSTRING
home_phone_numberSTRING
job_titleSTRING
leave_dateSTRING
license_classSTRING
license_plateSTRING
license_numberSTRING
license_stateSTRING
mobile_phone_numberSTRING
other_phone_numberSTRING
postal_codeSTRING
regionSTRING
start_dateSTRING
work_phone_numberSTRING
hourly_labor_rate_centsFLOAT64
default_image_urlSTRING
account_membership_idFLOAT64
_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_atSTRING
expense_entry_type_idFLOAT64
expense_entry_type_nameSTRING
idFLOAT64
notesSTRING
occurred_atSTRING
total_amountFLOAT64
total_amount_centsFLOAT64
updated_atSTRING
vehicle_idFLOAT64
vehicle_nameSTRING
vendor_idFLOAT64
vendor_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.
comments_countFLOAT64
created_atSTRING
dateSTRING
external_idSTRING
fuel_type_idFLOAT64
fuel_type_nameSTRING
kplSTRING
documents_countFLOAT64
fuel_economy_units_for_current_userSTRING
idFLOAT64
images_countFLOAT64
is_sampleBOOL
litersSTRING
meter_entry__created_atSTRING
meter_entry__dateSTRING
meter_entry__idFLOAT64
meter_entry__meterable_idFLOAT64
meter_entry__meterable_typeSTRING
meter_entry__updated_atSTRING
meter_entry__valueSTRING
meter_entry__vehicle_idFLOAT64
meter_entry__voidBOOL
meter_entry__auto_voided_atSTRING
meter_entry__categorySTRING
meter_entry__meter_typeSTRING
meter_entry__typeSTRING
partialBOOL
personalBOOL
price_per_volume_unitSTRING
referenceSTRING
regionSTRING
resetBOOL
uk_gallons_per_hrSTRING
us_gallons_per_hrSTRING
usage_in_hrSTRING
usage_in_kmSTRING
usage_in_miSTRING
liters_per_hrSTRING
lp100kSTRING
mpg_ukSTRING
mpg_usSTRING
total_amountSTRING
total_amount_centsFLOAT64
uk_gallonsSTRING
updated_atSTRING
cost_per_hrSTRING
cost_per_kmSTRING
cost_per_miSTRING
us_gallonsSTRING
vehicle_idFLOAT64
vehicle_nameSTRING
vendor_idFLOAT64
watchers_countFLOAT64
_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.
asset_typeSTRING
nameSTRING
closed_atSTRING
closed_by__idFLOAT64
closed_noteSTRING
comments_countFLOAT64
created_atSTRING
creation_typeSTRING
descriptionSTRING
documents_countFLOAT64
due_dateSTRING
due_meter_valueFLOAT64
due_secondary_meter_valueSTRING
external_idFLOAT64
fault_idFLOAT64
fault__idFLOAT64
idFLOAT64
images_countFLOAT64
numberSTRING
reported_atSTRING
reported_by__idFLOAT64
reported_by__nameSTRING
reported_by__default_image_urlSTRING
due_primary_meter_valueSTRING
overdueBOOL
resolvable_idFLOAT64
resolvable__idFLOAT64
resolvable_typeSTRING
resolved_atSTRING
stateSTRING
submitted_inspection_form_idFLOAT64
submitted_inspection_form__idFLOAT64
summarySTRING
updated_atSTRING
watchers_countFLOAT64
_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.
comments_countFLOAT64
created_atSTRING
default_image_urlSTRING
default_image_url_largeSTRING
default_image_url_mediumSTRING
default_image_url_smallSTRING
descriptionSTRING
documents_countFLOAT64
idFLOAT64
images_countFLOAT64
manufacturer_part_numberSTRING
measurement_unit_idFLOAT64
measurement_unit_nameSTRING
numberSTRING
part_category__idFLOAT64
part_category__tire_categoryBOOL
part_category__account_idFLOAT64
part_category__defaultBOOL
part_category__nameSTRING
part_category__descriptionSTRING
part_category__tires_countSTRING
part_category__created_atSTRING
part_category__updated_atSTRING
part_category_idFLOAT64
part_category_nameSTRING
part_manufacturer_idFLOAT64
part_manufacturer_nameSTRING
unit_costFLOAT64
unit_cost_centsSTRING
average_unit_cost_centsSTRING
upcSTRING
archived_atSTRING
updated_atSTRING
_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.
approved_atSTRING
approved_bySTRING
comments_countFLOAT64
created_atSTRING
created_bySTRING
descriptionSTRING
discountFLOAT64
discount_percentageFLOAT64
discount_typeSTRING
documents_countFLOAT64
idFLOAT64
numberFLOAT64
part_location_idFLOAT64
part_location_nameSTRING
shippingFLOAT64
stateSTRING
subtotalFLOAT64
tax_1FLOAT64
tax_1_percentageSTRING
tax_1_typeSTRING
tax_2FLOAT64
tax_2_percentageSTRING
tax_2_typeSTRING
total_amountFLOAT64
watchers_countSTRING
status_nameSTRING
status_colorSTRING
submitted_for_approval_atSTRING
rejected_atSTRING
purchased_atSTRING
received_partial_atSTRING
received_full_atSTRING
closed_atSTRING
discount_centsSTRING
tax_1_centsSTRING
tax_2_centsSTRING
subtotal_centsSTRING
shipping_centsSTRING
total_amount_centsSTRING
approved_by_idFLOAT64
created_by_idFLOAT64
closed_by_idFLOAT64
purchased_by_idFLOAT64
rejected_by_idFLOAT64
received_partial_by_idFLOAT64
received_full_by_idFLOAT64
purchase_order_status_idFLOAT64
submitted_for_approval_by_idFLOAT64
updated_atSTRING
vendor_idFLOAT64
vendor_nameSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: purchase_orders__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.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
auto_integrate_repair_order_statusSTRING
warranty_credits_centsSTRING
warranty_credits_percentageSTRING
warranty_credits_typeSTRING
labor_subtotal_centsSTRING
parts_subtotal_centsSTRING
subtotal_centsSTRING
discout_centsSTRING
tax_1_centsSTRING
tax_2_centsSTRING
total_amount_centsSTRING
warrant_credits_centsSTRING
comments_countFLOAT64
completed_atSTRING
created_atSTRING
discountFLOAT64
discount_percentageSTRING
fees_centsFLOAT64
discount_typeSTRING
discount_centsSTRING
documents_countFLOAT64
general_notesSTRING
idFLOAT64
images_countFLOAT64
is_sampleBOOL
labor_subtotalFLOAT64
parts_subtotalFLOAT64
referenceSTRING
started_atSTRING
statusSTRING
tax_1FLOAT64
tax_1_percentageSTRING
tax_1_typeSTRING
tax_2FLOAT64
tax_2_percentageSTRING
tax_2_typeSTRING
updated_atSTRING
vehicle_idFLOAT64
vendor_idFLOAT64
vendor_nameSTRING
vmrs_repair_priority_class__codeSTRING
vmrs_repair_priority_class__colorSTRING
vmrs_repair_priority_class__idFLOAT64
vmrs_repair_priority_class__nameSTRING
work_order_idFLOAT64
work_order_numberFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: service_entries__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.
idFLOAT64
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.
dateSTRING
failed_itemsFLOAT64
idFLOAT64
inspection_form__descriptionSTRING
inspection_form__idFLOAT64
inspection_form__titleSTRING
started_atSTRING
starting_latitudeFLOAT64
starting_longitudeFLOAT64
submitted_atSTRING
submitted_latitudeFLOAT64
submitted_longitudeFLOAT64
_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.
comments_countFLOAT64
contact_full_nameSTRING
contact_idFLOAT64
started_atSTRING
ended_atSTRING
contact_image_urlSTRING
created_atSTRING
currentBOOL
custom_fields__checkbox_typeSTRING
custom_fields__department_using_vehicleSTRING
custom_fields__license_expiration_dateSTRING
custom_fields__operator_idSTRING
custom_fields__test_restricted_custom_fieldsSTRING
futureBOOL
starting_meter_entry_valueSTRING
ending_meter_entry_valueSTRING
idFLOAT64
updated_atSTRING
vehicle_idFLOAT64
_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.
account_idFLOAT64
archived_atSTRING
fuel_type_idFLOAT64
fuel_type_nameSTRING
ai_enabledBOOL
assetable_typeSTRING
colorSTRING
comments_countFLOAT64
created_atSTRING
current_location_entry_idFLOAT64
default_image_url_smallSTRING
documents_countFLOAT64
estimated_replacement_mileageSTRING
estimated_resale_price_centsFLOAT64
estimated_service_monthsFLOAT64
fuel_entries_countFLOAT64
fuel_volume_unitsSTRING
group_ancestrySTRING
group_idFLOAT64
group_nameSTRING
idFLOAT64
images_countFLOAT64
in_service_dateSTRING
in_service_meter_valueSTRING
is_sampleBOOL
issues_countFLOAT64
license_plateSTRING
makeSTRING
modelSTRING
nameSTRING
out_of_service_dateSTRING
out_of_service_meter_valueSTRING
ownershipSTRING
primary_meter_dateSTRING
primary_meter_unitSTRING
primary_meter_usage_per_daySTRING
secondary_meter_unitSTRING
secondary_meter_dateSTRING
primary_meter_valueSTRING
registration_expiration_monthFLOAT64
secondary_meter_usage_per_daySTRING
secondary_meter_valueSTRING
service_entries_countFLOAT64
service_reminders_countFLOAT64
system_of_measurementSTRING
trimSTRING
registration_stateSTRING
updated_atSTRING
vehicle_renewal_reminders_countFLOAT64
vehicle_status_colorSTRING
vehicle_status_idFLOAT64
vehicle_status_nameSTRING
vehicle_type_idFLOAT64
vehicle_type_nameSTRING
vinSTRING
work_orders_countFLOAT64
yearFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: vehicles__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.

How the Fleetio sync works

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

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

Common use cases for Fleetio data

Maintenance and issues

Use service_entries and issues to track maintenance cost and vehicle problems over time.

Cost per vehicle

Join expense_entries and fuel_entries with vehicles to find your most expensive assets.

Inspections

Use submitted_inspection_forms to monitor inspection compliance across the fleet.

Use Fleetio data in your AI and BI tools

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

Was this helpful?

Still need help? Share an idea