Skip to content
Book a demoStart free
Connectors

Devin connector

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

Devin connector pricing, tier and credits on kaivo.io

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

Sync your Devin AI sessions, messages, and playbooks into BigQuery with Kaivo to track usage and outcomes across your AI engineering work.

CategoryTech
AuthenticationAPI key
SetupSelf-service
  1. Sign up for Kaivo and create a workspace.
  2. Connect your Devin 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 Token.

Field Description
API Token
Devin API key for authentication (cog_* prefix for service users).

|

When you set up the connector, you provide:

Field Description
Organization ID
Your Devin organization ID (org_* prefix).

| | Start Date |

Any data before this date will not be fetched.

|

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

knowledge_notes (15 columns), List all knowledge notes for the organization.
Column Type Description
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
note_id STRING
folder_id STRING
folder_path STRING
name STRING
body STRING
trigger STRING
is_enabled BOOL
created_at INT64
updated_at INT64
access_type STRING
org_id STRING
macro STRING
pinned_repo STRING
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.
playbooks (12 columns), List all team playbooks for the organization.
Column Type Description
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
playbook_id STRING
title STRING
body STRING
macro STRING
access_type STRING
org_id STRING
created_at INT64
updated_at INT64
created_by STRING
updated_by STRING
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.
secrets (12 columns), List metadata for all secrets in your organization. Does not return secret values.
Column Type Description
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
secret_id STRING
key STRING
note STRING
is_sensitive BOOL
created_by STRING
created_at INT64
secret_type STRING
access_type STRING
updated_at INT64
updated_by STRING
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.
session_messages (7 columns), List all messages in a Devin session conversation.
Column Type Description
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
event_id STRING
source STRING
message STRING
created_at INT64
session_id STRING
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.
sessions (17 columns), List all Devin sessions for your organization.
Column Type Description
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
session_id STRING
url STRING
status STRING
status_detail STRING
title STRING
playbook_id STRING
user_id STRING
org_id STRING
created_at INT64
updated_at INT64
is_archived BOOL
acus_consumed FLOAT64
is_advanced BOOL
parent_session_id STRING
service_user_id STRING
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.
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.
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.
pr_url STRING
pr_state STRING
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.
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.
sessions_insights (24 columns), List all Devin sessions for your organization with aggregate insights (message counts, session size classification, and AI-generated analysis). Analysis fields may be null for sessions where insights have not been generated yet.
Column Type Description
_kaivo_id STRING Primary key that uniquely identifies the row. Auto-generated by Kaivo.
session_id STRING
url STRING
status STRING
status_detail STRING
title STRING
playbook_id STRING
user_id STRING
org_id STRING
created_at INT64
updated_at INT64
is_archived BOOL
acus_consumed FLOAT64
is_advanced BOOL
parent_session_id STRING
service_user_id STRING
num_user_messages INT64
num_devin_messages INT64
session_size STRING
analysis__classification__category STRING
analysis__classification__confidence FLOAT64
analysis__suggested_prompt__original_prompt STRING
analysis__suggested_prompt__suggested_prompt STRING
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.
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: sessions_insights__pull_requests

Section titled “Subtable: sessions_insights__pull_requests”
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.
pr_url STRING
pr_state STRING
_kaivo_extracted_at TIMESTAMP Timestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: sessions_insights__child_session_ids

Section titled “Subtable: sessions_insights__child_session_ids”
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: sessions_insights__analysis__action_items

Section titled “Subtable: sessions_insights__analysis__action_items”
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.

Subtable: sessions_insights__analysis__classification__programming_languages

Section titled “Subtable: sessions_insights__analysis__classification__programming_languages”
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: sessions_insights__analysis__classification__tools_and_frameworks

Section titled “Subtable: sessions_insights__analysis__classification__tools_and_frameworks”
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: sessions_insights__analysis__issues

Section titled “Subtable: sessions_insights__analysis__issues”
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.

Subtable: sessions_insights__analysis__note_usage__bad_usages

Section titled “Subtable: sessions_insights__analysis__note_usage__bad_usages”
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.

Subtable: sessions_insights__analysis__note_usage__good_usages

Section titled “Subtable: sessions_insights__analysis__note_usage__good_usages”
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.

Subtable: sessions_insights__analysis__suggested_prompt__feedback_items

Section titled “Subtable: sessions_insights__analysis__suggested_prompt__feedback_items”
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.

Subtable: sessions_insights__analysis__timeline

Section titled “Subtable: sessions_insights__analysis__timeline”
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.

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

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

It depends on how much history is in your Devin 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 Devin’s schema changes?

Section titled “What happens when Devin’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 Devin, 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 Devin 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 Devin connector in Kaivo and all of its synced data is deleted with it.

Use sessions with status and created_at to track how many tasks Devin runs and how they end.

Join sessions with sessions_insights to see completion and results over time.

Bring session_messages into BigQuery to analyse how work is described and handed off.

Report on playbooks to see which reusable workflows are used most.

Once Devin 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 Devin 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 Devin 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.