Skip to main content
Connectors

Zendesk Talk connector

Set up the Zendesk Talk connector in Kaivo: authentication, configuration, the 13 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 Zendesk Talk 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 customer support data instead of moving it.

What is the Zendesk Talk connector

Sync your Zendesk Talk call data into BigQuery with Kaivo to analyse call volume, queues, and agent performance.

CategoryCustomer Service
AuthenticationAPI key
SetupSelf-service

Getting started with the Zendesk Talk connector

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

Authenticate with your Zendesk Talk credentials. You provide:

FieldDescription
Email

The user email for your Zendesk account.

API Token

The value of the API token generated. See the Zendesk API token documentation for more information.

Configuring the Zendesk Talk connector

When you set up the connector, you provide:

FieldDescription
Subdomain

This is your Zendesk subdomain that can be found in your account URL. For example, in https://{MY_SUBDOMAIN}.zendesk.com/, where MY_SUBDOMAIN is the value of your subdomain.

Start Date

Any data before this date will not be fetched.

Subscription Plan/Tier

Your Zendesk subscription plan tier. This controls API rate limiting behavior — higher tiers have higher rate limits. If unsure, leave as the default (Team) for the most conservative rate limiting.

Tables and columns synced from Zendesk Talk

Kaivo syncs 13 tables from Zendesk Talk 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.
average_call_durationINT64
average_callback_wait_timeINT64
average_hold_timeINT64
average_queue_wait_timeINT64
average_time_to_answerINT64
average_wrap_up_timeINT64
current_timestampINT64
max_calls_waitingINT64
max_queue_wait_timeINT64
total_call_durationINT64
total_callback_callsINT64
total_callsINT64
total_calls_abandoned_in_queueINT64
total_calls_outside_business_hoursINT64
total_calls_with_exceeded_queue_wait_timeINT64
total_calls_with_requested_voicemailINT64
total_embeddable_callback_callsINT64
total_hold_timeINT64
total_inbound_callsINT64
total_outbound_callsINT64
total_textback_requestsINT64
total_voicemailsINT64
total_wrap_up_timeINT64
_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.
citySTRING
country_codeSTRING
idINT64
nameSTRING
provider_referenceSTRING
provinceSTRING
stateSTRING
streetSTRING
zipSTRING
_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.
accepted_third_party_conferencesINT64
accepted_transfersINT64
agent_idINT64
agent_stateSTRING
available_timeINT64
avatar_urlSTRING
average_hold_timeINT64
average_talk_timeINT64
average_wrap_up_timeINT64
away_timeINT64
call_statusSTRING
calls_acceptedINT64
calls_deniedINT64
calls_missedINT64
calls_put_on_holdINT64
forwarding_numberSTRING
nameSTRING
online_timeINT64
started_third_party_conferencesINT64
started_transfersINT64
total_call_durationINT64
total_hold_timeINT64
total_talk_timeINT64
total_wrap_up_timeINT64
transfers_only_timeINT64
viaSTRING
_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.
average_accepted_transfersINT64
average_available_timeINT64
average_away_timeINT64
average_calls_acceptedINT64
average_calls_deniedINT64
average_calls_missedINT64
average_calls_put_on_holdINT64
average_hold_timeINT64
average_online_timeINT64
average_started_transfersINT64
average_talk_timeINT64
average_transfers_only_timeINT64
average_wrap_up_timeINT64
current_timestampINT64
total_accepted_transfersINT64
total_calls_acceptedINT64
total_calls_deniedINT64
total_calls_missedINT64
total_calls_put_on_holdINT64
total_hold_timeINT64
total_started_transfersINT64
total_talk_timeINT64
total_wrap_up_timeINT64
_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
agent_idINT64
available_viaSTRING
call_chargeSTRING
call_idINT64
completion_statusSTRING
conference_fromINT64
conference_timeINT64
conference_toINT64
consultation_fromINT64
consultation_timeINT64
consultation_toINT64
created_atSTRING
durationINT64
forwarded_toSTRING
hold_timeINT64
idINT64
minutes_billedINT64
talk_timeINT64
transferred_fromINT64
transferred_toINT64
updated_atTIMESTAMP
user_idINT64
wrap_up_timeINT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: call_legs__quality_issues

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.
agent_idINT64
call_chargeSTRING
call_group_idINT64
call_recording_consentSTRING
call_recording_consent_actionSTRING
call_recording_consent_keypressSTRING
callbackBOOL
callback_sourceSTRING
completion_statusSTRING
consultation_timeINT64
created_atSTRING
customer_requested_voicemailBOOL
default_groupBOOL
directionSTRING
durationINT64
exceeded_queue_timeBOOL
exceeded_queue_wait_timeBOOL
hold_timeINT64
idINT64
ivr_actionSTRING
ivr_destination_group_nameSTRING
ivr_hopsINT64
ivr_routed_toSTRING
ivr_time_spentINT64
minutes_billedINT64
not_recording_timeINT64
outside_business_hoursBOOL
overflowedBOOL
overflowed_toSTRING
phone_numberSTRING
phone_number_idINT64
recording_control_interactionsINT64
recording_timeINT64
talk_timeINT64
ticket_idINT64
time_to_answerINT64
updated_atTIMESTAMP
voicemailBOOL
wait_timeINT64
wrap_up_timeINT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: calls__quality_issues

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.
agents_onlineINT64
average_wait_timeINT64
callbacks_waitingINT64
calls_waitingINT64
current_timestampINT64
embeddable_callbacks_waitingINT64
longest_wait_timeINT64
_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.
idINT64
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.
activeBOOL
audio_nameSTRING
audio_urlSTRING
category_idINT64
defaultBOOL
default_langBOOL
has_sub_settingsBOOL
idSTRING
nameSTRING
pendingBOOL
upload_idINT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: greetings__ivr_ids

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

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.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
defaultBOOL
greeting_idINT64
idINT64
ivr_idINT64
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.
actionSTRING
greetingSTRING
idINT64
ivr_idINT64
ivr_menu_idINT64
keypressSTRING
option_textSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: ivr_routes__overflow_options

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

Subtable: ivrs__menus

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

Subtable: ivrs__menus__routes

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

Subtable: ivrs__menus__routes__overflow_options

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

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

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.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
call_recording_consentSTRING
capabilities__emergency_addressBOOL
capabilities__mmsBOOL
capabilities__smsBOOL
capabilities__voiceBOOL
country_codeSTRING
created_atSTRING
default_group_idINT64
display_numberSTRING
externalBOOL
failover_numberSTRING
idINT64
ivr_idINT64
line_typeSTRING
locationSTRING
nameSTRING
nicknameSTRING
numberSTRING
outbound_enabledBOOL
priorityINT64
recordedBOOL
schedule_idINT64
sms_enabledBOOL
sms_group_idINT64
tokenSTRING
toll_freeBOOL
transcriptionBOOL
voice_enabledBOOL
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: phone_numbers__default_greeting_ids

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

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

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 Zendesk Talk sync works

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

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

Common use cases for Zendesk Talk data

Call volume

Use calls and call_legs to track inbound and outbound volume over time.

Queue performance

Bring current_queue_activity and account_overview together to measure wait and answer rates.

Agent performance

Use agents_activity and agents_overview to compare handling across agents.

Routing analysis

Join ivrs and ivr_routes to see how calls flow through your phone menus.

Use Zendesk Talk data in your AI and BI tools

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

Was this helpful?

Still need help? Share an idea