Skip to main content
Connectors

Asana connector

Set up the Asana connector in Kaivo: authentication, configuration, the 16 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 Asana 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 project management data instead of moving it.

What is the Asana connector

Sync your Asana project data into BigQuery with Kaivo to report on tasks, progress, and workload across your workspace.

CategoryProject Management
AuthenticationAPI key
SetupSelf-service

Getting started with the Asana connector

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

Authenticate with your Personal Access Token.

FieldDescription
Personal Access Token

Asana Personal Access Token (generate yours here).

Configuring the Asana connector

When you set up the connector, you provide:

FieldDescription
Organization Export IDs

Globally unique identifiers for the organization exports

Tables and columns synced from Asana

Kaivo syncs 16 tables from Asana 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.
gidSTRING
resource_typeSTRING
created_by__gidSTRING
created_by__resource_typeSTRING
created_by__nameSTRING
currency_codeSTRING
custom_labelSTRING
custom_label_positionSTRING
descriptionSTRING
display_valueSTRING
enabledBOOL
enum_value__gidSTRING
enum_value__resource_typeSTRING
enum_value__colorSTRING
enum_value__enabledBOOL
enum_value__nameSTRING
formatSTRING
has_notifications_enabledBOOL
is_global_to_workspaceBOOL
number_valueFLOAT64
precisionINT64
resource_subtypeSTRING
text_valueSTRING
typeSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: custom_fields__enum_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.
gidSTRING
resource_typeSTRING
colorSTRING
enabledBOOL
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.
user__gidSTRING
user__resource_typeSTRING
user__nameSTRING
resource__gidSTRING
resource__resource_typeSTRING
resource__nameSTRING
typeSTRING
actionSTRING
parent__gidSTRING
parent__resource_typeSTRING
parent__nameSTRING
created_atTIMESTAMP
change__fieldSTRING
change__actionSTRING
change__new_value__gidSTRING
change__new_value__resource_typeSTRING
change__added_value__gidSTRING
change__added_value__resource_typeSTRING
change__removed_value__gidSTRING
change__removed_value__resource_typeSTRING
_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.
gidSTRING
resource_typeSTRING
created_atTIMESTAMP
download_urlSTRING
stateSTRING
organization__gidSTRING
organization__resource_typeSTRING
organization__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.
gidSTRING
resource_typeSTRING
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.
gidSTRING
resource_typeSTRING
nameSTRING
colorSTRING
created_atTIMESTAMP
created_by__gidSTRING
created_by__resource_typeSTRING
created_by__nameSTRING
current_status_update__gidSTRING
current_status_update__resource_typeSTRING
current_status_update__titleSTRING
current_status_update__resource_subtypeSTRING
due_onTIMESTAMP
members__gidSTRING
members__resource_typeSTRING
members__nameSTRING
owner__gidSTRING
owner__resource_typeSTRING
owner__nameSTRING
start_onTIMESTAMP
workspace__gidSTRING
workspace__resource_typeSTRING
workspace__nameSTRING
permalink_urlSTRING
publicBOOL
project_templates__gidSTRING
project_templates__resource_typeSTRING
project_templates__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.
gidSTRING
resource_typeSTRING
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.
gidSTRING
resource_typeSTRING
portfolio__gidSTRING
portfolio__resource_typeSTRING
portfolio__nameSTRING
user__gidSTRING
user__resource_typeSTRING
user__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.
gidSTRING
resource_typeSTRING
nameSTRING
archivedBOOL
colorSTRING
created_atTIMESTAMP
current_status__gidSTRING
current_status__resource_typeSTRING
current_status__titleSTRING
current_status__author__gidSTRING
current_status__author__resource_typeSTRING
current_status__author__nameSTRING
current_status__colorSTRING
current_status__html_textSTRING
current_status__modified_atTIMESTAMP
current_status__textSTRING
current_status__created_atTIMESTAMP
current_status__created_by__gidSTRING
current_status__created_by__resource_typeSTRING
current_status__created_by__nameSTRING
default_viewSTRING
due_dateDATE
due_onDATE
html_notesSTRING
is_templateBOOL
modified_atTIMESTAMP
notesSTRING
publicBOOL
start_onDATE
workspace__gidSTRING
workspace__resource_typeSTRING
workspace__nameSTRING
iconSTRING
owner__gidSTRING
owner__resource_typeSTRING
owner__nameSTRING
permalink_urlSTRING
team__gidSTRING
team__resource_typeSTRING
team__nameSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: projects__custom_field_settings

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

Subtable: projects__members

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.
gidSTRING
resource_typeSTRING
nameSTRING
_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.
gidSTRING
resource_typeSTRING
display_valueSTRING
enabledBOOL
nameSTRING
number_valueFLOAT64
resource_subtypeSTRING
text_valueBOOL
typeSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: projects__custom_fields__enum_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.
gidSTRING
resource_typeSTRING
colorSTRING
enabledBOOL
nameSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: projects__followers

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.
gidSTRING
resource_typeSTRING
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.
gidSTRING
resource_typeSTRING
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.
gidSTRING
resource_typeSTRING
created_atTIMESTAMP
created_by__gidSTRING
created_by__resource_typeSTRING
created_by__nameSTRING
resource_subtypeSTRING
textSTRING
typeSTRING
task__gidSTRING
task__resource_typeSTRING
task__nameSTRING
task__resource_subtypeSTRING
target__gidSTRING
target__resource_typeSTRING
target__nameSTRING
target__resource_subtypeSTRING
_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.
gidSTRING
resource_typeSTRING
colorSTRING
nameSTRING
permalink_urlSTRING
workspace__gidSTRING
workspace__resource_typeSTRING
workspace__nameSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: tags__followers

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.
gidSTRING
resource_typeSTRING
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.
gidSTRING
resource_typeSTRING
nameSTRING
approval_statusSTRING
completedBOOL
completed_atTIMESTAMP
completed_by__gidSTRING
completed_by__resource_typeSTRING
completed_by__nameSTRING
created_atTIMESTAMP
due_atTIMESTAMP
due_onDATE
external__dataSTRING
external__gidSTRING
heartedBOOL
html_notesSTRING
is_rendered_as_separatorBOOL
likedBOOL
modified_atTIMESTAMP
notesSTRING
num_heartsINT64
num_likesINT64
num_subtasksINT64
actual_time_minutesINT64The actual time spent on the task in minutes
resource_subtypeSTRING
start_onDATE
assignee__gidSTRING
assignee__resource_typeSTRING
assignee__nameSTRING
parent__gidSTRING
parent__resource_typeSTRING
parent__nameSTRING
permalink_urlSTRING
workspace__gidSTRING
workspace__resource_typeSTRING
workspace__nameSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: tasks__dependencies

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

Subtable: tasks__dependents

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

Subtable: tasks__hearts

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.
gidSTRING
user__gidSTRING
user__resource_typeSTRING
user__nameSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: tasks__likes

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.
gidSTRING
user__gidSTRING
user__resource_typeSTRING
user__nameSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: tasks__memberships

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.
project__gidSTRING
project__resource_typeSTRING
project__nameSTRING
section__gidSTRING
section__resource_typeSTRING
section__nameSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: tasks__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.
gidSTRING
resource_typeSTRING
created_by__gidSTRING
created_by__resource_typeSTRING
created_by__nameSTRING
currency_codeSTRING
custom_labelSTRING
custom_label_positionSTRING
descriptionSTRING
display_valueSTRING
enabledBOOL
enum_value__gidSTRING
enum_value__resource_typeSTRING
enum_value__colorSTRING
enum_value__enabledBOOL
enum_value__nameSTRING
formatSTRING
has_notifications_enabledBOOL
is_global_to_workspaceBOOL
nameSTRING
number_valueFLOAT64
precisionINT64
resource_subtypeSTRING
text_valueSTRING
typeSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: tasks__custom_fields__enum_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.
gidSTRING
resource_typeSTRING
colorSTRING
enabledBOOL
nameSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: tasks__followers

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

Subtable: tasks__projects

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

Subtable: tasks__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.
gidSTRING
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.
gidSTRING
resource_typeSTRING
is_guestBOOL
team__gidSTRING
team__resource_typeSTRING
team__nameSTRING
user__gidSTRING
user__resource_typeSTRING
user__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.
gidSTRING
resource_typeSTRING
nameSTRING
descriptionSTRING
html_descriptionSTRING
organization__gidSTRING
organization__resource_typeSTRING
organization__nameSTRING
permalink_urlSTRING
_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.
gidSTRING
resource_typeSTRING
nameSTRING
emailSTRING
photo__image_128x128STRING
photo__image_21x21STRING
photo__image_27x27STRING
photo__image_36x36STRING
photo__image_60x60STRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: users__workspaces

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

Subtable: workspaces__email_domains

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.

How the Asana sync works

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

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

Common use cases for Asana data

Project progress

Track tasks against projects and sections to see what is on time and what is slipping.

Workload view

Join tasks with users and teams to balance load across the team.

Portfolio reporting

Use portfolios to roll up status across many projects at once.

Custom field analysis

Bring custom_fields into BigQuery to slice work by your own categories.

Use Asana data in your AI and BI tools

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

Was this helpful?

Still need help? Share an idea