Skip to main content

Asana

This page contains the setup guide and reference information for the Asana source connector.

Prerequisites

To use the Asana source connector, you need:

  • An Asana account with access to the workspaces, projects, tasks, portfolios, and other resources you want to sync.
  • One of the following authentication methods:
    • OAuth. Recommended for Airbyte Cloud. Airbyte Cloud manages the Asana OAuth app and token exchange for you. If you configure OAuth yourself, register an Asana OAuth app, make the app available in the workspace that will authorize it, and enable Full permissions so Asana uses its default OAuth scope.
    • Personal Access Token. To create a token, follow Asana's personal access token instructions. Use an Asana service account token if you need to sync organization exports.

The connector can only sync data the authenticated Asana user can access. If the authenticated user has a view-only license or limited project access in Asana, the connector has the same limitations.

Setup guide

For Airbyte Cloud:

  1. Log into your Airbyte Cloud account.
  2. In the left navigation bar, click Sources.
  3. Click + New source.
  4. Select Asana from the list of available sources.
  5. Enter a Source name.
  6. Authenticate using OAuth, or enter a personal access token.
  7. Optionally, enter Organization Export IDs if you want to sync specific organization exports.
  8. Click Set up source.

For Airbyte Open Source:

  1. Navigate to the Airbyte Open Source dashboard.
  2. In the left navigation bar, click Sources.
  3. Click + New source.
  4. Select Asana from the list of available sources.
  5. Enter a Source name.
  6. Authenticate using OAuth, or enter a personal access token.
  7. Optionally, enter Organization Export IDs if you want to sync specific organization exports.
  8. Click Set up source.

Supported sync modes

The Asana source connector supports the following sync modes:

FeatureSupported?
Full Refresh SyncYes
Incremental SyncNo
NamespacesNo

Supported streams

The Asana source connector supports these streams:

StreamDescription
attachmentsAttachment details for attachments on synced projects and tasks.
attachments_compactCompact attachment records for synced projects and tasks.
custom_fieldsCustom field definitions in each accessible workspace.
eventsEvents for synced projects and tasks.
organization_exportsOrganization export requests for the export IDs you provide in the source configuration.
portfolio_itemsProjects and portfolios contained in each synced portfolio.
portfoliosPortfolio details for synced portfolios.
portfolios_compactCompact portfolio records for each synced workspace and user.
portfolios_membershipsPortfolio memberships for synced portfolios.
projectsProjects in each accessible workspace.
sectionsSection details for synced project sections.
sections_compactCompact section records for synced projects.
storiesStory details for synced task stories.
stories_compactCompact story records for synced tasks.
tagsTags in each accessible workspace.
tasksTasks in synced projects.
team_membershipsTeam membership records for synced teams.
teamsTeams in each accessible organization workspace.
usersUsers in each accessible workspace.
workspacesWorkspaces the authenticated user can access.

Data type map

Integration TypeAirbyte Type
stringstring
int, float, numbernumber
datedate
datetimedatetime
arrayarray
objectobject

Limitations & Troubleshooting

Expand to see details about Asana connector limitations and troubleshooting.

Connector limitations

Rate limiting

Asana applies rate limits per authorization token. Asana's standard limit is 150 requests per minute for free domains and 1,500 requests per minute for paid domains. The connector retries 429 Too Many Requests responses using Asana's Retry-After header.

If you continue to see rate limit errors, reduce the Number of concurrent threads in the source configuration.

Syncing multiple projects

Airbyte syncs data from all Asana projects the authenticated user can access. The connector doesn't support filtering to specific projects.

Organization exports

The organization_exports stream syncs only the organization export IDs listed in the source configuration. To sync this stream, first create organization export requests in Asana and then enter the returned export IDs in Organization Export IDs.

Asana's organization export endpoints are only available to Enterprise organization service accounts. To sync organization exports, authenticate with an Asana service account token.

Troubleshooting

  • If you encounter access errors while using OAuth, make sure your Asana OAuth app is available in the authorizing workspace and is configured with Full permissions. For more information, see Asana's OAuth documentation.
  • If the connector returns permissions errors for some streams, confirm that the authenticated Asana user can view those resources in Asana.
  • For other troubleshooting topics, see the Airbyte Forum.

Reference

This connector uses the Asana REST API. All API requests use the https://app.asana.com/api/1.0 endpoint.

For OAuth, the connector doesn't send a scope parameter in the authorization request. If you use a custom Asana OAuth app, configure the app with Full permissions so Asana uses the default OAuth scope.

For programmatic configuration, use these parameter names:

FieldRequiredDescription
credentials.option_titleYesAuthentication method. Valid values are OAuth Credentials and PAT Credentials.
credentials.client_idRequired for OAuthClient ID for the Asana OAuth app.
credentials.client_secretRequired for OAuthClient secret for the Asana OAuth app.
credentials.refresh_tokenRequired for OAuthRefresh token returned by the Asana OAuth flow.
credentials.personal_access_tokenRequired for personal access token authenticationAsana personal access token. For organization exports, use an Asana service account token.
organization_export_idsNoList of Asana organization export IDs to sync in the organization_exports stream.
num_workersNoNumber of concurrent threads to use for the sync. Valid values are 1 through 25. Defaults to 10.

Reference

Config fields reference

Field
Type
Property name
object
credentials
integer
num_workers
array<string>
organization_export_ids
boolean
test_mode

Changelog

Expand to review
VersionDatePull RequestSubject
1.7.12026-05-1878159Remove explicit OAuth scopes from connector input specification
1.7.02026-05-1577577Add OAuth 2.0 support
1.6.02026-05-1478096Promoted release candidate to GA
1.6.0-rc.22026-05-1378082Fix projects stream HTTP 400 after CDK v7 upgrade
1.6.0-rc.12026-04-2776390chore(source-asana): bump airbyte-cdk from ^6 to ^7.13.0
1.5.32026-04-1376276Rename "concurrent workers" to "concurrent threads" in connector spec
1.5.22026-04-0776100Improve error messages for HTTP 400, 401, and 429 responses with granular failure type classification
1.5.12025-12-0970445Fix organization_export_ids spec to properly define array items type
1.5.02025-05-0559224Adds portfolio_items stream to sync items (such as projects and portfolios) in each portfolio (API reference)
1.4.02025-04-2458594Adds actual_time_minute field to the task stream
1.3.102025-02-1553891Update dependencies
1.3.92025-02-0853394Update dependencies
1.3.82025-02-0152882Update dependencies
1.3.72025-01-2552216Update dependencies
1.3.62025-01-1851750Update dependencies
1.3.52025-01-1151246Update dependencies
1.3.42025-01-0450915Update dependencies
1.3.32024-12-2850442Update dependencies
1.3.22024-12-2150195Update dependencies
1.3.12024-12-1448966Starting with this version, the Docker image is now rootless. Please note that this and future versions will not be compatible with Airbyte versions earlier than 0.64
1.3.02024-12-0648712Upgrade to process full refresh and non-incremental substreams using concurrent CDK
1.2.142024-11-0448175Update dependencies
1.2.132024-10-2847026Update dependencies
1.2.122024-10-1246825Update dependencies
1.2.112024-10-0546501Update dependencies
1.2.102024-09-2846166Update dependencies
1.2.92024-09-2145754Update dependencies
1.2.82024-09-1445547Update dependencies
1.2.72024-09-0745277Update dependencies
1.2.62024-08-3144970Update dependencies
1.2.52024-08-2444722Update dependencies
1.2.42024-08-1744275Update dependencies
1.2.32024-08-1243807Update dependencies
1.2.22024-08-1043532Update dependencies
1.2.12024-08-0343079Update dependencies
1.2.02024-07-2742856Add task & target data to stories compact stream
1.1.12024-07-2742801Update dependencies
1.1.02024-07-2442488Add task data to stories stream
1.0.92024-07-2042144Update dependencies
1.0.82024-07-1341839Update dependencies
1.0.72024-07-1041573Update dependencies
1.0.62024-07-0941142Update dependencies
1.0.52024-07-0640865Update dependencies
1.0.42024-06-2540392Update dependencies
1.0.32024-06-2240092Update dependencies
1.0.22024-06-1839551Fix pagination from offset to cursor based, Increment airbyte_cdk to ^1
1.0.12024-06-0639249[autopull] Upgrade base image to v1.2.2
1.0.02024-04-1536697Migrate to low code
0.6.12023-11-1331110Fix hidden config access
0.6.02023-11-0331110Add new stream Portfolio Memberships with Parent Portfolio
0.5.02023-10-3031114Add Portfolios stream
0.4.02023-10-2431084Add StoriesCompact stream
0.3.02023-10-2431634Add OrganizationExports stream
0.2.02023-10-1731090Add Attachments stream
0.1.92023-10-1631089Add Events stream
0.1.82023-10-1631009Add SectionsCompact stream
0.1.72023-05-2926716Remove authSpecification from spec.json, use advancedAuth instead
0.1.62023-05-2626653Fix order of authentication methods
0.1.52022-11-1619561Added errors handling, updated SAT with new format
0.1.42022-08-1815749Add cache to project stream
0.1.32021-10-066832Add oauth init flow parameters support
0.1.22021-09-246402Fix SAT tests: update schemas and invalid_config.json file
0.1.12021-06-093973Add entrypoint and bump version for connector
0.1.02021-05-253510New Source: Asana