Skip to content
Book a demoStart free
Connectors

NinjaOne connector

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

NinjaOne connector pricing, tier and credits on kaivo.io

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

Sync your NinjaOne RMM data into BigQuery with Kaivo to inventory devices and audit IT activity across your organisations.

CategoryTech
AuthenticationAPI key
SetupSelf-service

Getting started with the NinjaOne connector

Section titled “Getting started with the NinjaOne connector”
  1. Sign up for Kaivo and create a workspace.
  2. Connect your NinjaOne 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.

Authenticate with your API Key.

Field Description
API Key
Generate an API token from the NinjaOne admin portal under Administration > API.

|

When you set up the connector, you provide:

Field Description
Start Date
Any data before this date will not be fetched.

|

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

activities (20 columns)
Column Type Description
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
type STRING
activity_result STRING
activity_time FLOAT64
activity_type STRING
data__message__code STRING
data__message__params__app_user_email STRING
data__message__params__app_user_id STRING
data__message__params__app_user_name STRING
data__message__params__ip STRING
data__message__params__mfa STRING
data__message__params__new_user_email STRING
data__message__params__new_user_id STRING
data__message__params__new_user_name STRING
id FLOAT64
message STRING
status STRING
status_code STRING
user_id FLOAT64
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.
automation_scripts (8 columns)
Column Type Description
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
active BOOL
created_on FLOAT64
id FLOAT64
language STRING
name STRING
updated_on FLOAT64
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: automation_scripts__architecture

Section titled “Subtable: automation_scripts__architecture”
Column Type Description
_kaivo_parent_id STRING Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
value STRING
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: automation_scripts__operating_systems

Section titled “Subtable: automation_scripts__operating_systems”
Column Type Description
_kaivo_parent_id STRING Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
value STRING
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: automation_scripts__script_parameters

Section titled “Subtable: automation_scripts__script_parameters”
Column Type Description
_kaivo_parent_id STRING Foreign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
value JSON
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.
groups (8 columns)
Column Type Description
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
description STRING
created FLOAT64
id FLOAT64
name STRING
shared BOOL
updated FLOAT64
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.
locations (5 columns)
Column Type Description
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
id FLOAT64
name STRING
organization_id FLOAT64
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.
organizations (6 columns)
Column Type Description
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
description STRING
id FLOAT64
name STRING
node_approval_mode STRING
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.
policies (8 columns)
Column Type Description
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
description STRING
id FLOAT64
name STRING
node_class STRING
node_class_default BOOL
updated FLOAT64
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.
roles (8 columns)
Column Type Description
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
chassis_type STRING
created FLOAT64
custom BOOL
id FLOAT64
name STRING
node_class STRING
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.
software_products (7 columns)
Column Type Description
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
active BOOL
id STRING
installable BOOL
product_name STRING
vendor_name STRING
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.

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

How long does the initial sync take for NinjaOne?

Section titled “How long does the initial sync take for NinjaOne?”

It depends on how much history is in your NinjaOne 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.

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 NinjaOne’s schema changes?

Section titled “What happens when NinjaOne’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 NinjaOne, 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?

Section titled “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 NinjaOne 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 NinjaOne connector in Kaivo and all of its synced data is deleted with it.

Use organizations and groups to report on the devices you manage.

Use activities to track management actions over time.

Join software_products with policies to review configuration across devices.

Once NinjaOne 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 NinjaOne data.

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

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

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

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

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

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

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

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

  • Adform: Sync Adform to BigQuery.
  • Amplitude: Sync Amplitude to BigQuery.
  • Auth0: Sync Auth0 to BigQuery.
  • Convex: Sync Convex to BigQuery.
  • GitHub: Sync GitHub to BigQuery.
  • GitLab: Sync GitLab to BigQuery.