Skip to main content
Connectors

Copper connector

Set up the Copper connector in Kaivo: authentication, configuration, the 4 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 Copper 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 CRM data instead of moving it.

What is the Copper connector

Sync your Copper CRM data into BigQuery with Kaivo to report on pipeline, accounts, and activity alongside the rest of your data.

CategoryCRM
AuthenticationAPI key
SetupSelf-service

Getting started with the Copper connector

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

Authenticate with your API Key.

FieldDescription
API Key

Your Copper API key.

Configuring the Copper connector

When you set up the connector, you provide:

FieldDescription
User email

Your Copper account email address.

Tables and columns synced from Copper

Kaivo syncs 4 tables from Copper 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.
address__citySTRINGCity of the company address
address__countrySTRINGCountry of the company address
address__postal_codeSTRINGPostal code of the company address
address__stateSTRINGState of the company address
address__streetSTRINGStreet address of the company
assignee_idINT64ID of the assignee for the company
contact_type_idINT64ID representing the contact type
date_createdINT64Date when the company record was created
date_modifiedINT64Date when the company record was last modified
detailsSTRINGAdditional details about the company
email_domainSTRINGEmail domain associated with the company
idINT64Unique identifier for the company
interaction_countINT64Count of interactions with the company
nameSTRINGName of the company
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: companies__custom_fields

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

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

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.
categorySTRINGCategory of the social media profile
urlSTRINGURL of the social media profile
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

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

Subtable: companies__websites

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.
categorySTRINGCategory of the website
urlSTRINGURL of the website
_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.
assignee_idFLOAT64The unique identifier of the user assigned to this opportunity.
close_dateSTRINGThe expected or actual closing date of the opportunity.
company_idSTRINGThe unique identifier of the company associated with this opportunity.
company_nameSTRINGThe name of the company associated with this opportunity.
customer_source_idSTRINGThe unique identifier of the source through which the customer was acquired.
date_createdINT64The date and time when the opportunity was created.
date_modifiedINT64The date and time when the opportunity was last modified.
detailsSTRINGAdditional details or notes related to the opportunity.
idINT64The unique identifier of the opportunity.
loss_reason_idSTRINGThe unique identifier of the reason for losing the opportunity.
monetary_valueINT64The potential or actual monetary value associated with the opportunity.
nameSTRINGThe name or title of the opportunity.
pipeline_idSTRINGThe unique identifier of the pipeline to which the opportunity belongs.
pipeline_stage_idSTRINGThe unique identifier of the stage of the pipeline the opportunity is currently in.
primary_contact_idSTRINGThe unique identifier of the primary contact associated with the opportunity.
prioritySTRINGThe priority level assigned to the opportunity.
statusSTRINGThe current status of the opportunity (e.g., open, closed-won, closed-lost).
win_probabilityFLOAT64The probability of winning the opportunity expressed as a percentage.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: opportunities__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.
valueSTRINGA tag or label associated with the opportunity.
_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.
address__citySTRINGThe city where the person resides.
address__countrySTRINGThe country where the person resides.
address__postal_codeSTRINGThe postal code of the person's address.
address__stateSTRINGThe state or region where the person resides.
address__streetSTRINGThe street address of the person.
assignee_idINT64ID of the assigned user or team.
company_idINT64ID of the company to which the person belongs.
company_nameSTRINGThe name of the company the person is associated with.
contact_type_idINT64ID representing the type of contact (e.g., client, prospect).
date_createdINT64The date when the person record was created.
date_last_contactedINT64The date of the last contact or interaction with the person.
date_lead_createdINT64The date when the person was identified as a lead.
date_modifiedINT64The date when the person record was last updated.
detailsJSONAdditional details or notes about the person.
first_nameSTRINGThe first name of the person.
idINT64Unique identifier for the person record.
interaction_countINT64The total number of interactions with the person.
last_nameSTRINGThe last name of the person.
middle_nameSTRINGThe middle name of the person.
nameSTRINGThe full name of the person.
prefixSTRINGA title or honorific preceding the person's name (e.g., Mr., Dr., etc.).
suffixSTRINGA title or honorific following the person's name (e.g., Jr., III, etc.).
titleSTRINGThe job title or role of the person.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: people__custom_fields

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

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.
categorySTRINGThe category or type of email address (e.g., work, personal, etc.).
emailSTRINGThe email address of the person.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: people__leads_converted_from

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

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.
categorySTRINGThe category or type of phone number (e.g., mobile, office, etc.).
numberSTRINGThe phone number of the person.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: people__socials

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: people__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: people__websites

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.
categorySTRINGThe category or type of website URL (e.g., personal, company, etc.).
urlSTRINGThe URL of a website associated with the person.
_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.
assignee_idINT64The unique identifier of the user assigned to the project.
date_createdINT64The date when the project was created.
date_modifiedINT64The date when the project was last modified.
detailsSTRINGAdditional details or description of the project.
idINT64The unique identifier of the project.
nameSTRINGThe name or title of the project.
related_resourceSTRINGReference to any related resource linked to the project.
statusSTRINGThe current status of the project.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: projects__custom_fields

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__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.

How the Copper sync works

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

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

Common use cases for Copper data

Pipeline reporting

Track opportunities to see pipeline value, stage movement, and win rates.

Account view

Join people with companies to understand your accounts and where activity sits.

Project tracking

Use projects to follow work tied to your customers and deals.

Sales context

Bring Copper data into BigQuery to combine pipeline with revenue and marketing data.

Use Copper data in your AI and BI tools

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

Was this helpful?

Still need help? Share an idea